.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / core-js / modules / es.math.hypot.js
1 var $ = require('../internals/export');
2
3 var $hypot = Math.hypot;
4 var abs = Math.abs;
5 var sqrt = Math.sqrt;
6
7 // Chrome 77 bug
8 // https://bugs.chromium.org/p/v8/issues/detail?id=9546
9 var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity;
10
11 // `Math.hypot` method
12 // https://tc39.es/ecma262/#sec-math.hypot
13 $({ target: 'Math', stat: true, forced: BUGGY }, {
14   // eslint-disable-next-line no-unused-vars -- required for `.length`
15   hypot: function hypot(value1, value2) {
16     var sum = 0;
17     var i = 0;
18     var aLen = arguments.length;
19     var larg = 0;
20     var arg, div;
21     while (i < aLen) {
22       arg = abs(arguments[i++]);
23       if (larg < arg) {
24         div = larg / arg;
25         sum = sum * div * div + 1;
26         larg = arg;
27       } else if (arg > 0) {
28         div = arg / larg;
29         sum += div * div;
30       } else sum += arg;
31     }
32     return larg === Infinity ? Infinity : larg * sqrt(sum);
33   }
34 });