feat: add CLI random number generator supporting 6 distributions
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
export type Dist =
|
||||
| "uniform"
|
||||
| "normal"
|
||||
| "binomial"
|
||||
| "poisson"
|
||||
| "exponential"
|
||||
| "hypergeometric";
|
||||
|
||||
export const DISTS: Dist[] = [
|
||||
"uniform",
|
||||
"normal",
|
||||
"binomial",
|
||||
"poisson",
|
||||
"exponential",
|
||||
"hypergeometric",
|
||||
];
|
||||
|
||||
export interface Options {
|
||||
dist: Dist;
|
||||
count: number;
|
||||
decimals: number;
|
||||
// uniform
|
||||
min: number;
|
||||
max: number;
|
||||
// normal
|
||||
mean: number;
|
||||
stddev: number;
|
||||
// binomial
|
||||
trials: number;
|
||||
prob: number;
|
||||
// poisson
|
||||
lambda: number;
|
||||
// hypergeometric
|
||||
popSize: number;
|
||||
successes: number;
|
||||
draws: number;
|
||||
}
|
||||
|
||||
export function defaultOptions(dist: Dist): Options {
|
||||
return {
|
||||
dist,
|
||||
count: 1,
|
||||
decimals: 0,
|
||||
min: 0,
|
||||
max: 100,
|
||||
mean: 0,
|
||||
stddev: 1,
|
||||
trials: 10,
|
||||
prob: 0.5,
|
||||
lambda: 1,
|
||||
popSize: 100,
|
||||
successes: 50,
|
||||
draws: 10,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user