0 | module Statistics.Distribution.Uniform
3 | import Statistics.Distribution.GSL
7 | %foreign "C:gsl_ran_flat, libgsl"
8 | gsl_uniform_c : (seed : AnyPtr) -> (min : Double) -> (max : Double) -> Double
11 | gsl_uniform :(min : Double) -> (max : Double) -> GslRng -> IO Double
12 | gsl_uniform min max (MkGslRng seed) = pure $
gsl_uniform_c seed min max
16 | gsl_uniform_pdf : (min : Double) -> (max : Double) -> (obs : Double) -> Double
17 | gsl_uniform_pdf min max y with (y < max && y > min)
18 | _ | True = 1/(max - min)
22 | %foreign "C:gsl_cdf_flat_Pinv, libgsl"
23 | gsl_uniform_cdf_inv_c : (r : Double) -> (min : Double) -> (max : Double) -> Double
26 | gsl_uniform_cdf_inv : (min : Double) -> (max : Double) -> (r : Double) -> Double
27 | gsl_uniform_cdf_inv min max r = gsl_uniform_cdf_inv_c r min max