aboutsummaryrefslogtreecommitdiff
path: root/vm.d
diff options
context:
space:
mode:
Diffstat (limited to 'vm.d')
-rw-r--r--vm.d12
1 files changed, 12 insertions, 0 deletions
diff --git a/vm.d b/vm.d
index ea6a1ae..2f6de06 100644
--- a/vm.d
+++ b/vm.d
@@ -351,6 +351,18 @@ class VM {
double anum = asNumber(a);
pushA(makeNumberValue(anum - bnum));
break;
+ case OpCode.OP_NOT:
+ Value val = popA();
+ bool bval = asBoolean(val);
+ pushA(makeBooleanValue(!bval));
+ break;
+ case OpCode.OP_GREATER:
+ Value b = popA();
+ Value a = popA();
+ double bnum = asNumber(b);
+ double anum = asNumber(a);
+ pushA(makeBooleanValue(anum > bnum));
+ break;
case OpCode.OP_LESS:
Value b = popA();
/*