0 | module Statistics.Distribution.Geometric
2 | import Statistics.Distribution.GSL
5 | %foreign "C:gsl_ran_geometric,libgsl"
6 | gsl_geometric_c : (seed : AnyPtr) -> (p : Double) -> PrimIO Int
9 | gsl_geometric : (p : Double) -> GslRng -> IO Nat
10 | gsl_geometric p (MkGslRng seed) = primIO (gsl_geometric_c seed p) >>= pure . cast
13 | %foreign "C:gsl_ran_geometric_pdf,libgsl"
14 | gsl_geometric_pdf_c : (obs : Int) -> (p : Double) -> Double
17 | gsl_geometric_pdf : (p : Double) -> (obs : Nat) -> Double
18 | gsl_geometric_pdf p y = gsl_geometric_pdf_c (cast y) p