Skip to main content

Module icd

Module icd 

Source
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§

ClampF64
Clamp an f64 value to [min, max].
DistExponential
Sample from an exponential distribution Exp(rate).
DistNormal
Sample from a standard normal distribution N(mean, stddev).
DistPareto
Sample from a Pareto distribution Pareto(scale, shape).
DistUniform
Sample from a continuous uniform distribution U(min, max).
DistZipf
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 surface icd_normal as the public DSL name.
UnitInterval
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].