first
This commit is contained in:
36
node_modules/core-js/modules/es.math.hypot.js
generated
vendored
Normal file
36
node_modules/core-js/modules/es.math.hypot.js
generated
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
'use strict';
|
||||
var $ = require('../internals/export');
|
||||
|
||||
// eslint-disable-next-line es/no-math-hypot -- required for testing
|
||||
var $hypot = Math.hypot;
|
||||
var abs = Math.abs;
|
||||
var sqrt = Math.sqrt;
|
||||
|
||||
// Chrome 77 bug
|
||||
// https://bugs.chromium.org/p/v8/issues/detail?id=9546
|
||||
var FORCED = !!$hypot && $hypot(Infinity, NaN) !== Infinity;
|
||||
|
||||
// `Math.hypot` method
|
||||
// https://tc39.es/ecma262/#sec-math.hypot
|
||||
$({ target: 'Math', stat: true, arity: 2, forced: FORCED }, {
|
||||
// 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);
|
||||
}
|
||||
});
|
Reference in New Issue
Block a user