1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| // 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
| var $export = require('./_export');
| var abs = Math.abs;
|
| $export($export.S, 'Math', {
| hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars
| 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 * Math.sqrt(sum);
| }
| });
|
|