← Back

Module distributions

trait Distribution

Distribution trait

Source: distributions.joule:8

fn pdf(&self, x: f64) -> f64;

Probability density function (continuous) or probability mass function (discrete)

Source: distributions.joule:10

fn cdf(&self, x: f64) -> f64;

Cumulative distribution function

Source: distributions.joule:13

fn quantile(&self, p: f64) -> f64;

Inverse CDF (quantile function)

Source: distributions.joule:16

fn sample(&self) -> f64;

Generate a random sample

Source: distributions.joule:19

fn sample_n(&self, n: usize) -> Vec<f64>

Generate multiple samples

Source: distributions.joule:22

fn mean(&self) -> f64;

Expected value (mean)

Source: distributions.joule:27

fn variance(&self) -> f64;

Variance

Source: distributions.joule:30

fn std_dev(&self) -> f64

Standard deviation

Source: distributions.joule:33

struct Normal

Normal (Gaussian) distribution

Source: distributions.joule:43

fn new(mu: f64, sigma: f64) -> Self

Source: distributions.joule:49

fn standard() -> Self

Source: distributions.joule:54

fn pdf(&self, x: f64) -> f64

Source: distributions.joule:61

fn cdf(&self, x: f64) -> f64

Source: distributions.joule:67

fn quantile(&self, p: f64) -> f64

Source: distributions.joule:73

fn sample(&self) -> f64

Source: distributions.joule:79

fn mean(&self) -> f64

Source: distributions.joule:83

fn variance(&self) -> f64

Source: distributions.joule:87

struct Uniform

Uniform distribution

Source: distributions.joule:93

fn new(a: f64, b: f64) -> Self

Source: distributions.joule:99

fn pdf(&self, x: f64) -> f64

Source: distributions.joule:107

fn cdf(&self, x: f64) -> f64

Source: distributions.joule:116

fn quantile(&self, p: f64) -> f64

Source: distributions.joule:127

fn sample(&self) -> f64

Source: distributions.joule:133

fn mean(&self) -> f64

Source: distributions.joule:137

fn variance(&self) -> f64

Source: distributions.joule:141

struct Exponential

Exponential distribution

Source: distributions.joule:147

fn new(lambda: f64) -> Self

Source: distributions.joule:152

fn pdf(&self, x: f64) -> f64

Source: distributions.joule:160

fn cdf(&self, x: f64) -> f64

Source: distributions.joule:169

fn quantile(&self, p: f64) -> f64

Source: distributions.joule:178

fn sample(&self) -> f64

Source: distributions.joule:184

fn mean(&self) -> f64

Source: distributions.joule:188

fn variance(&self) -> f64

Source: distributions.joule:192

struct Gamma

Gamma distribution

Source: distributions.joule:198

fn new(alpha: f64, beta: f64) -> Self

Source: distributions.joule:204

fn pdf(&self, x: f64) -> f64

Source: distributions.joule:212

fn cdf(&self, x: f64) -> f64

Source: distributions.joule:222

fn quantile(&self, p: f64) -> f64

Source: distributions.joule:230

fn sample(&self) -> f64

Source: distributions.joule:252

fn mean(&self) -> f64

Source: distributions.joule:280

fn variance(&self) -> f64

Source: distributions.joule:284

struct Beta

Beta distribution

Source: distributions.joule:290

fn new(alpha: f64, beta: f64) -> Self

Source: distributions.joule:296

fn pdf(&self, x: f64) -> f64

Source: distributions.joule:304

fn cdf(&self, x: f64) -> f64

Source: distributions.joule:314

fn quantile(&self, p: f64) -> f64

Source: distributions.joule:325

fn sample(&self) -> f64

Source: distributions.joule:345

fn mean(&self) -> f64

Source: distributions.joule:351

fn variance(&self) -> f64

Source: distributions.joule:355

struct StudentT

Student's t-distribution

Source: distributions.joule:362

fn new(df: f64) -> Self

Source: distributions.joule:367

fn pdf(&self, x: f64) -> f64

Source: distributions.joule:375

fn cdf(&self, x: f64) -> f64

Source: distributions.joule:382

fn quantile(&self, p: f64) -> f64

Source: distributions.joule:393

fn sample(&self) -> f64

Source: distributions.joule:416

fn mean(&self) -> f64

Source: distributions.joule:422

fn variance(&self) -> f64

Source: distributions.joule:430

struct ChiSquared

Chi-squared distribution

Source: distributions.joule:442

fn new(k: f64) -> Self

Source: distributions.joule:447

fn pdf(&self, x: f64) -> f64

Source: distributions.joule:454

fn cdf(&self, x: f64) -> f64

Source: distributions.joule:458

fn quantile(&self, p: f64) -> f64

Source: distributions.joule:462

fn sample(&self) -> f64

Source: distributions.joule:466

fn mean(&self) -> f64

Source: distributions.joule:470

fn variance(&self) -> f64

Source: distributions.joule:474

struct FDistribution

F-distribution

Source: distributions.joule:480

fn new(d1: f64, d2: f64) -> Self

Source: distributions.joule:486

fn pdf(&self, x: f64) -> f64

Source: distributions.joule:494

fn cdf(&self, x: f64) -> f64

Source: distributions.joule:510

fn quantile(&self, p: f64) -> f64

Source: distributions.joule:519

fn sample(&self) -> f64

Source: distributions.joule:540

fn mean(&self) -> f64

Source: distributions.joule:546

fn variance(&self) -> f64

Source: distributions.joule:554

struct Bernoulli

Bernoulli distribution

Source: distributions.joule:570

fn new(p: f64) -> Self

Source: distributions.joule:575

fn pdf(&self, x: f64) -> f64

Source: distributions.joule:582

fn cdf(&self, x: f64) -> f64

Source: distributions.joule:592

fn quantile(&self, prob: f64) -> f64

Source: distributions.joule:602

fn sample(&self) -> f64

Source: distributions.joule:610

fn mean(&self) -> f64

Source: distributions.joule:614

fn variance(&self) -> f64

Source: distributions.joule:618

struct Binomial

Binomial distribution

Source: distributions.joule:624

fn new(n: u64, p: f64) -> Self

Source: distributions.joule:630

fn pdf(&self, x: f64) -> f64

Source: distributions.joule:638

fn cdf(&self, x: f64) -> f64

Source: distributions.joule:654

fn quantile(&self, prob: f64) -> f64

Source: distributions.joule:671

fn sample(&self) -> f64

Source: distributions.joule:683

fn mean(&self) -> f64

Source: distributions.joule:693

fn variance(&self) -> f64

Source: distributions.joule:697

struct Poisson

Poisson distribution

Source: distributions.joule:703

fn new(lambda: f64) -> Self

Source: distributions.joule:708

fn pdf(&self, x: f64) -> f64

Source: distributions.joule:716

fn cdf(&self, x: f64) -> f64

Source: distributions.joule:727

fn quantile(&self, prob: f64) -> f64

Source: distributions.joule:741

fn sample(&self) -> f64

Source: distributions.joule:758

fn mean(&self) -> f64

Source: distributions.joule:781

fn variance(&self) -> f64

Source: distributions.joule:785

struct Geometric

Geometric distribution (number of trials until first success)

Source: distributions.joule:791

fn new(p: f64) -> Self

Source: distributions.joule:796

fn pdf(&self, x: f64) -> f64

Source: distributions.joule:803

fn cdf(&self, x: f64) -> f64

Source: distributions.joule:811

fn quantile(&self, prob: f64) -> f64

Source: distributions.joule:819

fn sample(&self) -> f64

Source: distributions.joule:823

fn mean(&self) -> f64

Source: distributions.joule:827

fn variance(&self) -> f64

Source: distributions.joule:831

fn erf(x: f64) -> f64

Error function

Source: distributions.joule:841

fn erfinv(x: f64) -> f64

Inverse error function

Source: distributions.joule:859

fn gamma(x: f64) -> f64

Gamma function

Source: distributions.joule:892

fn ln_gamma(x: f64) -> f64

Log gamma function (Lanczos approximation)

Source: distributions.joule:897

fn beta(a: f64, b: f64) -> f64

Beta function

Source: distributions.joule:926

fn ln_beta(a: f64, b: f64) -> f64

Log beta function

Source: distributions.joule:931

fn lower_incomplete_gamma(s: f64, x: f64) -> f64

Lower incomplete gamma function

Source: distributions.joule:936

fn regularized_incomplete_beta(a: f64, b: f64, x: f64) -> f64

Regularized incomplete beta function

Source: distributions.joule:958