ufff
This commit is contained in:
parent
c8b8dd820e
commit
0e7fffcfe0
67 changed files with 154 additions and 65 deletions
12
src/vm_case_random_int.c
Normal file
12
src/vm_case_random_int.c
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
case OP_RANDOM_INT: {
|
||||
Value hi = pop_value(vm);
|
||||
Value lo = pop_value(vm);
|
||||
if (lo.type != VAL_INT || hi.type != VAL_INT) { fprintf(stderr, "RANDOM_INT expects (int, int)\n"); exit(1); }
|
||||
int64_t a = lo.i, b = hi.i;
|
||||
if (b <= a) { push_value(vm, make_int((int64_t)a)); free_value(lo); free_value(hi); break; }
|
||||
int64_t span = b - a;
|
||||
int64_t r = (int64_t)(rand() % (span));
|
||||
push_value(vm, make_int(a + r));
|
||||
free_value(lo); free_value(hi);
|
||||
break;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue