diff options
Diffstat (limited to 'node_modules/core-js/modules/esnext.math.imulh.js')
| -rw-r--r-- | node_modules/core-js/modules/esnext.math.imulh.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/node_modules/core-js/modules/esnext.math.imulh.js b/node_modules/core-js/modules/esnext.math.imulh.js new file mode 100644 index 0000000..f7a558e --- /dev/null +++ b/node_modules/core-js/modules/esnext.math.imulh.js @@ -0,0 +1,18 @@ +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); + } +}); |
