'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); 
 | 
  } 
 | 
}); 
 |