rgsl/randist/laplace.rs
1//
2// A rust binding for the GSL library by Guillaume Gomez (guillaume1.gomez@gmail.com)
3//
4
5/// This function computes the probability density p(x) at x for a Laplace distribution with width a, using the formula given above.
6#[doc(alias = "gsl_ran_laplace_pdf")]
7pub fn laplace_pdf(x: f64, a: f64) -> f64 {
8 unsafe { sys::gsl_ran_laplace_pdf(x, a) }
9}
10
11/// This function computes the cumulative distribution functions P(x), Q(x) and their inverses for the Laplace distribution with width a.
12#[doc(alias = "gsl_cdf_laplace_P")]
13pub fn laplace_P(x: f64, a: f64) -> f64 {
14 unsafe { sys::gsl_cdf_laplace_P(x, a) }
15}
16
17/// This function computes the cumulative distribution functions P(x), Q(x) and their inverses for the Laplace distribution with width a.
18#[doc(alias = "gsl_cdf_laplace_Q")]
19pub fn laplace_Q(x: f64, a: f64) -> f64 {
20 unsafe { sys::gsl_cdf_laplace_Q(x, a) }
21}
22
23/// This function computes the cumulative distribution functions P(x), Q(x) and their inverses for the Laplace distribution with width a.
24#[doc(alias = "gsl_cdf_laplace_Pinv")]
25pub fn laplace_Pinv(P: f64, a: f64) -> f64 {
26 unsafe { sys::gsl_cdf_laplace_Pinv(P, a) }
27}
28
29/// This function computes the cumulative distribution functions P(x), Q(x) and their inverses for the Laplace distribution with width a.
30#[doc(alias = "gsl_cdf_laplace_Qinv")]
31pub fn laplace_Qinv(Q: f64, a: f64) -> f64 {
32 unsafe { sys::gsl_cdf_laplace_Qinv(Q, a) }
33}