| var $ = require('../internals/export'); | |
| // `Math.imulh` method | |
| // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 | |
| // TODO: Remove from `core-js@4` | |
| $({ target: 'Math', stat: true }, { | |
| imulh: function imulh(u, v) { | |
| var UINT16 = 0xFFFF; | |
| var $u = +u; | |
| var $v = +v; | |
| var u0 = $u & UINT16; | |
| var v0 = $v & UINT16; | |
| var u1 = $u >> 16; | |
| var v1 = $v >> 16; | |
| var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); | |
| return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); | |
| } | |
| }); |