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.umulh` method 
 |  // https://gist.github.com/BrendanEich/4294d5c212a6d2254703 
 |  // TODO: Remove from `core-js@4` 
 |  $({ target: 'Math', stat: true, forced: 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); 
 |    } 
 |  }); 
 |  
  |