diff options
| author | 2021-02-08 11:41:48 -0600 | |
|---|---|---|
| committer | 2021-02-08 11:41:48 -0600 | |
| commit | 6a9bb0f4e470743f2f192f2f73fafcdde677f599 (patch) | |
| tree | 94fd1204d77667428497658f794cedda9e0f8056 /src | |
| parent | Merge pull request #628 from yumaikas/master (diff) | |
Define immediate comparison instructions for non-integers.
Previous, the instructions were defined only for values that
fit into 32 bit integers for legacy reasons.
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/vm.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/vm.c b/src/core/vm.c index 7a09ce33..22d817c7 100644 --- a/src/core/vm.c +++ b/src/core/vm.c @@ -780,7 +780,7 @@ static JanetSignal run_vm(JanetFiber *fiber, Janet in) { vm_compop( <=); VM_OP(JOP_LESS_THAN_IMMEDIATE) - stack[A] = janet_wrap_boolean(janet_unwrap_integer(stack[B]) < CS); + stack[A] = janet_wrap_boolean(janet_unwrap_number(stack[B]) < (double) CS); vm_pcnext(); VM_OP(JOP_GREATER_THAN) @@ -790,7 +790,7 @@ static JanetSignal run_vm(JanetFiber *fiber, Janet in) { vm_compop( >=); VM_OP(JOP_GREATER_THAN_IMMEDIATE) - stack[A] = janet_wrap_boolean(janet_unwrap_integer(stack[B]) > CS); + stack[A] = janet_wrap_boolean(janet_unwrap_number(stack[B]) > (double) CS); vm_pcnext(); VM_OP(JOP_EQUALS) @@ -798,7 +798,7 @@ static JanetSignal run_vm(JanetFiber *fiber, Janet in) { vm_pcnext(); VM_OP(JOP_EQUALS_IMMEDIATE) - stack[A] = janet_wrap_boolean(janet_unwrap_integer(stack[B]) == CS); + stack[A] = janet_wrap_boolean(janet_unwrap_number(stack[B]) == (double) CS); vm_pcnext(); VM_OP(JOP_NOT_EQUALS) @@ -806,7 +806,7 @@ static JanetSignal run_vm(JanetFiber *fiber, Janet in) { vm_pcnext(); VM_OP(JOP_NOT_EQUALS_IMMEDIATE) - stack[A] = janet_wrap_boolean(janet_unwrap_integer(stack[B]) != CS); + stack[A] = janet_wrap_boolean(janet_unwrap_number(stack[B]) != (double) CS); vm_pcnext(); VM_OP(JOP_COMPARE) |
