From 9bd802f91c02b7f9ed1241e7be1266a429ba0cf9 Mon Sep 17 00:00:00 2001 From: daurnimator Date: Sun, 21 May 2017 19:07:37 +1000 Subject: Centralise integer mod and div operations to luaV_mod and luaV_div --- src/lobject.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/lobject.js') diff --git a/src/lobject.js b/src/lobject.js index 6d86852..0898a15 100644 --- a/src/lobject.js +++ b/src/lobject.js @@ -522,8 +522,8 @@ const intarith = function(L, op, v1, v2) { case defs.LUA_OPADD: return (v1 + v2)|0; case defs.LUA_OPSUB: return (v1 - v2)|0; case defs.LUA_OPMUL: return (v1 * v2)|0; - case defs.LUA_OPMOD: return (v1 - Math.floor(v1 / v2) * v2)|0; // % semantic on negative numbers is different in js - case defs.LUA_OPIDIV: return Math.floor(v1 / v2)|0; + case defs.LUA_OPMOD: return lvm.luaV_mod(L, v1, v2); + case defs.LUA_OPIDIV: return lvm.luaV_div(L, v1, v2); case defs.LUA_OPBAND: return (v1 & v2); case defs.LUA_OPBOR: return (v1 | v2); case defs.LUA_OPBXOR: return (v1 ^ v2); -- cgit v1.2.3-54-g00ecf