6cdc188a6e4441e5bfa34e43adf41fa65d3af02067cf28477f5e82a883380e442157d6c1fb9c7870a23bff783ce047bc66c76d6f9b51d7056b0750e10cda08 539 B

12345678910111213141516171819
  1. 'use strict';
  2. var $ = require('../internals/export');
  3. // `Math.imulh` method
  4. // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
  5. // TODO: Remove from `core-js@4`
  6. $({ target: 'Math', stat: true, forced: true }, {
  7. imulh: function imulh(u, v) {
  8. var UINT16 = 0xFFFF;
  9. var $u = +u;
  10. var $v = +v;
  11. var u0 = $u & UINT16;
  12. var v0 = $v & UINT16;
  13. var u1 = $u >> 16;
  14. var v1 = $v >> 16;
  15. var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
  16. return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);
  17. }
  18. });