Fixed bug in OP_IDIVI

Opocode was using 'luai_numdiv' (float division) instead of
'luai_numidiv' (integer division).
diff --git a/lvm.c b/lvm.c
index 9e8bec0..4e4ef27 100644
--- a/lvm.c
+++ b/lvm.c
@@ -1,5 +1,5 @@
 /*
-** $Id: lvm.c,v 2.358 2018/06/15 14:14:20 roberto Exp roberto $
+** $Id: lvm.c,v 2.359 2018/06/18 17:58:21 roberto Exp roberto $
 ** Lua virtual machine
 ** See Copyright Notice in lua.h
 */
@@ -1182,7 +1182,7 @@
         }
         else if (tonumberns(rb, nb)) {
           lua_Number nc = cast_num(ic);
-          setfltvalue(s2v(ra), luai_numdiv(L, nb, nc));
+          setfltvalue(s2v(ra), luai_numidiv(L, nb, nc));
         }
         else
           Protect(luaT_trybiniTM(L, rb, ic, 0, ra, TM_IDIV));
diff --git a/testes/math.lua b/testes/math.lua
index 6699846..e5c9d8e 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(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)