| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 | | 'use strict'; |  | var $ = require('../internals/export'); |  |   |  | // `Math.imulh` method |  | // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 |  | // TODO: Remove from `core-js@4` |  | $({ target: 'Math', stat: true, forced: 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); |  |   } |  | }); | 
 |