aboutsummaryrefslogtreecommitdiff
path: root/node_modules/core-js/modules/es7.math.imulh.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/core-js/modules/es7.math.imulh.js')
-rw-r--r--node_modules/core-js/modules/es7.math.imulh.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/node_modules/core-js/modules/es7.math.imulh.js b/node_modules/core-js/modules/es7.math.imulh.js
new file mode 100644
index 000000000..a25da686a
--- /dev/null
+++ b/node_modules/core-js/modules/es7.math.imulh.js
@@ -0,0 +1,16 @@
+// 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);
+ }
+}); \ No newline at end of file