probs 0.3.1

Statistics toolkit
#[allow(unused_imports)]
use super::*;

#[allow(unused_imports)]
use super::{domain, domain::*};

#[allow(unused_imports)]
use super::{sampler, sampler::*};

pub mod univar {
    use num::*;

    pub fn uniform<D: ToPrimitive>() -> impl Fn(&D) -> f64 {
        move |_| 1.0
    }

    pub fn normal<D: ToPrimitive>(mu: f64, sigma: f64) -> impl Fn(&D) -> f64 {
        move |x| (-(x.to_f64().unwrap() - mu).powi(2) / (2.0 * sigma.powi(2))).exp()
    }

    pub fn cauchy<D: ToPrimitive>(t: f64, s: f64) -> impl Fn(&D) -> f64 {
        use std::f64::consts::PI;
        move |x| 1.0 / (PI * s * (1.0 + (x.to_f64().unwrap() - t) / s).powi(2))
    }
}