Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
private generateDouble(): string {
const number = jStat.lognormal.sample(DOUBLE_LOGNORM_MEAN, DOUBLE_LOGNORM_SIGMA) as number;
let numberStr = number.toExponential(getRandomInt(20));
const removeSign = Math.random();
if (removeSign < 0.1) {
numberStr = numberStr.replace(/(\+|\-)/gi, '');
}
return numberStr;
}
return { values: Sample(n, () => jStat.lognormal.sample(mean, stdev)) }
}
function PERT(min, max, mode = (min + max)/2, lambda = 4) {
const width = max - min
const a = 1 + lambda * ((mode - min)/width)
const b = 1 + lambda * ((max - mode)/width)
const p = jStat.beta.sample(a, b)
return min + p*width
}
export const Distributions = {
beta: jStat.beta.sample,
centralF: jStat.centralF.sample,
cauchy: jStat.cauchy.sample,
chisquare: jStat.chisquare.sample,
exponential: jStat.exponential.sample,
invgamma: jStat.invgamma.sample,
lognormal: jStat.lognormal.sample,
normal: jStat.normal.sample,
studentt: jStat.studentt.sample,
weibull: jStat.weibull.sample,
uniform: jStat.uniform.sample,
gamma: jStat.gamma.sample,
triangular,
doubleTriangular,
PERT,
bernoulli: bernoulli,
if: bernoulli,
test: bernoulli,
binomial: binomial,
poisson: poisson,
negBinomial: negBinomial
}
import math from 'mathjs'
import {jStat} from 'jstat'
var Finance = require('financejs')
const finance = new Finance()
const jStatDistributions = {
beta: jStat.beta.sample,
centralF: jStat.centralF.sample,
cauchy: jStat.cauchy.sample,
chisquare: jStat.chisquare.sample,
exponential: jStat.exponential.sample,
invgamma: jStat.invgamma.sample,
lognormal: jStat.lognormal.sample,
normal: jStat.normal.sample,
studentt: jStat.studentt.sample,
weibull: jStat.weibull.sample,
uniform: jStat.uniform.sample,
gamma: jStat.gamma.sample
}
const financeFunctions = {
PV: finance.PV,
FV: finance.FV,
NPV: finance.NPV,
//IRR: finance.IRR, Too slow.
PP: finance.PP,
ROI: finance.ROI,
AM: finance.AM,
PI: finance.PI,