implemented seed and rand

This commit is contained in:
Kyler Olsen 2025-11-29 14:12:14 -07:00
parent 2086ee503d
commit 8e67857c95
1 changed files with 17 additions and 4 deletions

View File

@ -1123,8 +1123,10 @@ Boolean builtin_pick(InterpreterState *interpreter_state) {
}
Boolean builtin_rand(InterpreterState *interpreter_state) {
(void)interpreter_state;
return FALSE;
return push_token(interpreter_state, (Token){
.type = TOKEN_DOUBLE,
.double_literal = rand() / RAND_MAX,
});
}
Boolean builtin_roll(InterpreterState *interpreter_state) {
@ -1143,10 +1145,21 @@ Boolean builtin_round(InterpreterState *interpreter_state) {
}
Boolean builtin_seed(InterpreterState *interpreter_state) {
(void)interpreter_state;
NUMERIC_TYPE;
if (type & NUMERIC_FLOAT) {
return FALSE;
}
StackItem *node = interpreter_state->stack;
interpreter_state->stack = interpreter_state->stack->next;
node->next = NULL;
clean_stack(node);
srand(ai);
return TRUE;
}
Boolean builtin_shl(InterpreterState *interpreter_state) {
(void)interpreter_state;
return FALSE;