diff options
-rw-r--r-- | lvm.c | 3 | ||||
-rw-r--r-- | testes/coroutine.lua | 11 |
2 files changed, 14 insertions, 0 deletions
@@ -720,6 +720,9 @@ void luaV_finishOp (lua_State *L) { | |||
720 | case OP_ADDI: case OP_SUBI: | 720 | case OP_ADDI: case OP_SUBI: |
721 | case OP_MULI: case OP_DIVI: case OP_IDIVI: | 721 | case OP_MULI: case OP_DIVI: case OP_IDIVI: |
722 | case OP_MODI: case OP_POWI: | 722 | case OP_MODI: case OP_POWI: |
723 | case OP_ADDK: case OP_SUBK: | ||
724 | case OP_MULK: case OP_DIVK: case OP_IDIVK: | ||
725 | case OP_MODK: case OP_POWK: | ||
723 | case OP_ADD: case OP_SUB: | 726 | case OP_ADD: case OP_SUB: |
724 | case OP_MUL: case OP_DIV: case OP_IDIV: | 727 | case OP_MUL: case OP_DIV: case OP_IDIV: |
725 | case OP_BANDK: case OP_BORK: case OP_BXORK: | 728 | case OP_BANDK: case OP_BORK: case OP_BXORK: |
diff --git a/testes/coroutine.lua b/testes/coroutine.lua index 79bbf2ea..26ed1f6a 100644 --- a/testes/coroutine.lua +++ b/testes/coroutine.lua | |||
@@ -724,6 +724,17 @@ assert(run(function () return a / b end, {"div"}) == 10/12) | |||
724 | assert(run(function () return a % b end, {"mod"}) == 10) | 724 | assert(run(function () return a % b end, {"mod"}) == 10) |
725 | assert(run(function () return a // b end, {"idiv"}) == 0) | 725 | assert(run(function () return a // b end, {"idiv"}) == 0) |
726 | 726 | ||
727 | -- repeat tests with larger constants (to use 'K' opcodes) | ||
728 | local a1000 = new(1000) | ||
729 | |||
730 | assert(run(function () return a1000 + 1000 end, {"add"}) == 2000) | ||
731 | assert(run(function () return a1000 - 25000 end, {"sub"}) == -24000) | ||
732 | assert(run(function () return 2000 * a end, {"mul"}) == 20000) | ||
733 | assert(run(function () return a1000 / 1000 end, {"div"}) == 1) | ||
734 | assert(run(function () return a1000 % 600 end, {"mod"}) == 400) | ||
735 | assert(run(function () return a1000 // 500 end, {"idiv"}) == 2) | ||
736 | |||
737 | |||
727 | 738 | ||
728 | assert(run(function () return a % b end, {"mod"}) == 10) | 739 | assert(run(function () return a % b end, {"mod"}) == 10) |
729 | 740 | ||