// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 | |
var $export = require('./_export'); | |
$export($export.S, 'Math', { | |
imulh: function imulh(u, v){ | |
var UINT16 = 0xffff | |
, $u = +u | |
, $v = +v | |
, u0 = $u & UINT16 | |
, v0 = $v & UINT16 | |
, u1 = $u >> 16 | |
, v1 = $v >> 16 | |
, t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); | |
return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); | |
} | |
}); |