diff options
-rw-r--r-- | src/library.js | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/src/library.js b/src/library.js index bd34ac29..b4da994e 100644 --- a/src/library.js +++ b/src/library.js @@ -3455,14 +3455,7 @@ LibraryManager.library = { rand_r__deps: ['__rand_seed'], rand_r: function(seedp) { var val = {{{ makeGetValue('seedp', 0, 'i32') }}}; - // calculate val * 31010991 + 0x676e6177 - // i32 multiplication will be rounded by javascript - var valh = val >> 16; - var vall = val & 0xffff; - var c = 31010991; - var ch = c >> 16; - var cl = c & 0xffff; - val = (((valh * cl + vall * ch) << 16) + vall * cl + 0x676e6177) & 0xffffffff; + val = (Math.imul(val, 31010991) + 0x676e6177)|0; {{{ makeSetValue('seedp', 0, 'val', 'i32') }}}; return val; }, |