util-helpers
Version:
31 lines (27 loc) • 999 B
JavaScript
;
var ut2 = require('ut2');
var math_util = require('./utils/math.util.js');
var times = require('./times.js');
function divide() {
var nums = [];
for (var _i = 0; _i < arguments.length; _i++) {
nums[_i] = arguments[_i];
}
var num1 = nums[0];
var num2 = nums[1] === void 0 ? 1 : nums[1];
var rest = nums.slice(2);
if (rest.length > 0) {
return divide.apply(void 0, [divide(num1, num2)].concat(rest));
}
num1 = math_util.transformEffectiveNumber(num1);
num2 = math_util.transformEffectiveNumber(num2);
if (ut2.isNaN(num1) || ut2.isNaN(num2)) {
return Number.NaN;
}
var num1Changed = math_util.float2Fixed(num1);
var num2Changed = math_util.float2Fixed(num2);
math_util.checkBoundary(num1Changed);
math_util.checkBoundary(num2Changed);
return times(num1Changed / num2Changed, math_util.strip(Math.pow(10, math_util.digitLength(num2) - math_util.digitLength(num1))));
}
module.exports = divide;