| 1234567891011121314151617181920212223242526272829303132333435 | var $ = require('../internals/export');// eslint-disable-next-line es/no-math-hypot -- required for testingvar $hypot = Math.hypot;var abs = Math.abs;var sqrt = Math.sqrt;// Chrome 77 bug// https://bugs.chromium.org/p/v8/issues/detail?id=9546var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity;// `Math.hypot` method// https://tc39.es/ecma262/#sec-math.hypot$({ target: 'Math', stat: true, arity: 2, forced: BUGGY }, {  // eslint-disable-next-line no-unused-vars -- required for `.length`  hypot: function hypot(value1, value2) {    var sum = 0;    var i = 0;    var aLen = arguments.length;    var larg = 0;    var arg, div;    while (i < aLen) {      arg = abs(arguments[i++]);      if (larg < arg) {        div = larg / arg;        sum = sum * div * div + 1;        larg = arg;      } else if (arg > 0) {        div = arg / larg;        sum += div * div;      } else sum += arg;    }    return larg === Infinity ? Infinity : larg * sqrt(sum);  }});
 |