maycur-business
Version:
maycur business react components of web
43 lines (34 loc) • 1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = nper;
var _isnan = _interopRequireDefault(require("./isnan"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
// Copyright 2015-2018 FormBucket LLC
function nper(rate, pmt, pv, fv, type) {
var log, result;
rate = parseFloat(rate || 0);
pmt = parseFloat(pmt || 0);
pv = parseFloat(pv || 0);
fv = fv || 0;
type = type || 0;
log = function log(prim) {
if ((0, _isnan["default"])(prim)) {
return Math.log(0);
}
var num = Math.log(prim);
return num;
};
if (rate == 0.0) {
result = -(pv + fv) / pmt;
} else if (type > 0.0) {
result = log(-(rate * fv - pmt * (1.0 + rate)) / (rate * pv + pmt * (1.0 + rate))) / log(1.0 + rate);
} else {
result = log(-(rate * fv - pmt) / (rate * pv + pmt)) / log(1.0 + rate);
}
if ((0, _isnan["default"])(result)) {
result = 0;
}
return result;
}