distributions
distributions
Section titled “distributions”The distributions module exposes single-sample distribution functions and a
named-distribution dist_sample_n runner. For PDF/CDF/quantile functions and
sampling from heavier distributions (chi-square, Student’s t, beta, gamma),
see distributions_advanced.
Import
Section titled “Import”use std::core::distributionsBasic Distribution Samplers
Section titled “Basic Distribution Samplers”Each call returns a single sample.
| Function | Description |
|---|---|
dist_uniform(lo: number, hi: number) | Uniform U(lo, hi) |
dist_lognormal(mean: number, std: number) | Lognormal with underlying-normal (mean, std) |
dist_exponential(lambda: number) | Exponential with rate lambda |
dist_poisson(lambda: number) | Poisson with rate lambda |
use std::core::distributions
let u = distributions::dist_uniform(0.0, 1.0)let p = distributions::dist_poisson(3.5)distributions::dist_sample_n(name: string, params: Array<number>, n: int) -> Array<number>
Section titled “distributions::dist_sample_n(name: string, params: Array<number>, n: int) -> Array<number>”Sample n values from a named distribution. name is one of
"uniform" | "lognormal" | "exponential" | "poisson"; params matches that
distribution’s argument order.
let samples = distributions::dist_sample_n("uniform", [0.0, 1.0], 1000)Advanced Distributions
Section titled “Advanced Distributions”The distributions_advanced module ships PDF / CDF / sampling for additional
distributions, plus helpers gamma, beta_fn, and special functions.
use std::core::distributions_advanced| Family | Functions |
|---|---|
| Normal | normal_pdf(x, mu?, sigma?), normal_cdf(x, mu?, sigma?), normal_quantile(p, mu?, sigma?) |
| Chi-square | chi_square_pdf(x, k), chi_square_cdf(x, k), chi_square_sample(k) |
| Student’s t | t_pdf(x, df), t_cdf(x, df), t_sample(df) |
| Beta | beta_pdf(x, a, b), beta_cdf(x, a, b), beta_sample(a, b) |
| Gamma | gamma_pdf(x, k, theta?), gamma_cdf(x, k, theta?), gamma_sample(k, theta?) |
| Special | gamma(x), beta_fn(a, b) |
use std::core::distributions_advanced
print(distributions_advanced::normal_cdf(1.96)) // ~0.975let z = distributions_advanced::normal_quantile(0.95)See Also
Section titled “See Also”- random — low-level PRNG primitives
- stochastic — continuous-time processes built on distributions
- monte_carlo — simulation runner with variance reduction