aboutsummaryrefslogtreecommitdiff
path: root/node_modules/core-js/modules/esnext.math.umulh.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/core-js/modules/esnext.math.umulh.js')
-rw-r--r--node_modules/core-js/modules/esnext.math.umulh.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/node_modules/core-js/modules/esnext.math.umulh.js b/node_modules/core-js/modules/esnext.math.umulh.js
new file mode 100644
index 0000000..5f0e70f
--- /dev/null
+++ b/node_modules/core-js/modules/esnext.math.umulh.js
@@ -0,0 +1,18 @@
+var $ = require('../internals/export');
+
+// `Math.umulh` method
+// https://gist.github.com/BrendanEich/4294d5c212a6d2254703
+// TODO: Remove from `core-js@4`
+$({ target: 'Math', stat: true }, {
+ umulh: function umulh(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);
+ }
+});