Expand description
Inverse CDF distribution builders.
Each dist_* helper builds a LutF64 containing the precomputed
inverse CDF for a specific distribution. The DSL surface
(#[polydat_node] form below) wraps each helper in a node that
caches the LUT at construction via #[poly_const] and samples on
every cycle.
This module also provides the UnitInterval and ClampF64
conversion nodes that are typically composed with LUT sampling in
a DAG.
§Supported Distributions
Continuous: Normal, Exponential, Uniform, Pareto, LogNormal, Weibull, Cauchy, Laplace, Beta, Gamma
Discrete: Zipf, Poisson, Binomial, Geometric
Structs§
- Clamp
F64 - Clamp an f64 value to [min, max].
- Dist
Exponential - Sample from an exponential distribution
Exp(rate). - Dist
Normal - Sample from a standard normal distribution
N(mean, stddev). - Dist
Pareto - Sample from a Pareto distribution
Pareto(scale, shape). - Dist
Uniform - Sample from a continuous uniform distribution
U(min, max). - Dist
Zipf - Sample from a Zipf distribution
Zipf(n, exponent). - IcdExponential
- Alias of
dist_exponential. - IcdNormal
- Alias of
dist_normal. Preserved because workload examples and the host’s distribution binding both surfaceicd_normalas the public DSL name. - Unit
Interval - Normalize a u64 to a uniform f64 in [0.0, 1.0).
Constants§
- DEFAULT_
RESOLUTION - Default interpolation table resolution.
Functions§
- dist_
beta_ lut - Beta distribution: Beta(alpha, beta). Support: [0, 1].
- dist_
binomial_ lut - Binomial distribution: Binomial(trials, p). Support: [0, trials].
- dist_
cauchy_ lut - Cauchy distribution: Cauchy(location, scale). Support: (-∞, +∞).
- dist_
empirical_ lut - Build a LUT from raw data points (continuous empirical distribution).
- dist_
empirical_ weighted_ lut - Build a LUT from weighted value-frequency pairs.
- dist_
exponential_ lut - Exponential distribution: Exp(rate). Support: [0, +∞).
- dist_
gamma_ lut - Gamma distribution: Gamma(shape, scale). Support: (0, +∞).
- dist_
geometric_ lut - Geometric distribution: Geometric(p). Support: [1, +∞).
- dist_
laplace_ lut - Laplace distribution: Laplace(location, scale). Support: (-∞, +∞).
- dist_
lognormal_ lut - Log-normal distribution: LogN(mean, stddev). Support: (0, +∞).
- dist_
normal_ lut - Normal distribution: N(mean, stddev).
- dist_
pareto_ lut - Pareto distribution: Pareto(scale, shape). Support: [scale, +∞).
- dist_
poisson_ lut - Poisson distribution: Poisson(lambda). Support: [0, +∞).
- dist_
uniform_ lut - Uniform continuous distribution: U(min, max).
- dist_
weibull_ lut - Weibull distribution: Weibull(shape, scale). Support: [0, +∞).
- dist_
zipf_ lut - Zipf distribution: Zipf(n, exponent). Support: [1, n].