summaryrefslogtreecommitdiff
path: root/testes
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2018-07-09 12:41:24 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2018-07-09 12:41:24 -0300
commit06e08c6d05b1346df935634be395f4d86035e3ea (patch)
tree81f7fee528638347fd30aa6fe6df30a55819900d /testes
parent7c519dfbd0c68b952f0849e01deaa3750e1f8153 (diff)
downloadlua-github-06e08c6d05b1346df935634be395f4d86035e3ea.tar.gz
Fixed bug in OP_IDIVI
Opocode was using 'luai_numdiv' (float division) instead of 'luai_numidiv' (integer division).
Diffstat (limited to 'testes')
-rw-r--r--testes/math.lua13
1 files changed, 12 insertions, 1 deletions
diff --git a/testes/math.lua b/testes/math.lua
index 66998460..e5c9d8ec 100644
--- a/testes/math.lua
+++ b/testes/math.lua
@@ -1,4 +1,4 @@
--- $Id: math.lua,v 1.86 2018/05/09 14:55:52 roberto Exp $
+-- $Id: math.lua,v 1.86 2018/05/09 14:55:52 roberto Exp roberto $
-- See Copyright Notice in file all.lua
print("testing numbers and math lib")
@@ -139,6 +139,17 @@ assert(-1 // 0.0 == -1/0)
assert(eqT(3.5 // 1.5, 2.0))
assert(eqT(3.5 // -1.5, -3.0))
+do -- tests for different kinds of opcodes
+ local x, y
+ x = 1; assert(x // 0.0 == 1/0)
+ x = 1.0; assert(x // 0 == 1/0)
+ x = 3.5; assert(eqT(x // 1, 3.0))
+ assert(eqT(x // -1, -4.0))
+
+ x = 3.5; y = 1.5; assert(eqT(x // y, 2.0))
+ x = 3.5; y = -1.5; assert(eqT(x // y, -3.0))
+end
+
assert(maxint // maxint == 1)
assert(maxint // 1 == maxint)
assert((maxint - 1) // maxint == 0)