The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
%perlcode %{

our @EXPORT_OK = qw/ gsl_cdf_ugaussian_P gsl_cdf_ugaussian_Q gsl_cdf_ugaussian_Pinv
gsl_cdf_ugaussian_Qinv gsl_cdf_gaussian_P gsl_cdf_gaussian_Q
gsl_cdf_gaussian_Pinv gsl_cdf_gaussian_Qinv gsl_cdf_gamma_P
gsl_cdf_gamma_Q gsl_cdf_gamma_Pinv gsl_cdf_gamma_Qinv
gsl_cdf_cauchy_P gsl_cdf_cauchy_Q gsl_cdf_cauchy_Pinv
gsl_cdf_cauchy_Qinv gsl_cdf_laplace_P gsl_cdf_laplace_Q
gsl_cdf_laplace_Pinv gsl_cdf_laplace_Qinv gsl_cdf_rayleigh_P
gsl_cdf_rayleigh_Q gsl_cdf_rayleigh_Pinv gsl_cdf_rayleigh_Qinv
gsl_cdf_chisq_P gsl_cdf_chisq_Q gsl_cdf_chisq_Pinv
gsl_cdf_chisq_Qinv gsl_cdf_exponential_P gsl_cdf_exponential_Q
gsl_cdf_exponential_Pinv gsl_cdf_exponential_Qinv gsl_cdf_exppow_P
gsl_cdf_exppow_Q gsl_cdf_tdist_P gsl_cdf_tdist_Q
gsl_cdf_tdist_Pinv gsl_cdf_tdist_Qinv gsl_cdf_fdist_P
gsl_cdf_fdist_Q gsl_cdf_fdist_Pinv gsl_cdf_fdist_Qinv
gsl_cdf_beta_P gsl_cdf_beta_Q gsl_cdf_beta_Pinv
gsl_cdf_beta_Qinv gsl_cdf_flat_P gsl_cdf_flat_Q
gsl_cdf_flat_Pinv gsl_cdf_flat_Qinv gsl_cdf_lognormal_P
gsl_cdf_lognormal_Q gsl_cdf_lognormal_Pinv gsl_cdf_lognormal_Qinv
gsl_cdf_gumbel1_P gsl_cdf_gumbel1_Q gsl_cdf_gumbel1_Pinv
gsl_cdf_gumbel1_Qinv gsl_cdf_gumbel2_P gsl_cdf_gumbel2_Q
gsl_cdf_gumbel2_Pinv gsl_cdf_gumbel2_Qinv gsl_cdf_weibull_P
gsl_cdf_weibull_Q gsl_cdf_weibull_Pinv gsl_cdf_weibull_Qinv
gsl_cdf_pareto_P gsl_cdf_pareto_Q gsl_cdf_pareto_Pinv
gsl_cdf_pareto_Qinv gsl_cdf_logistic_P gsl_cdf_logistic_Q
gsl_cdf_logistic_Pinv gsl_cdf_logistic_Qinv gsl_cdf_binomial_P
gsl_cdf_binomial_Q gsl_cdf_poisson_P gsl_cdf_poisson_Q
gsl_cdf_geometric_P gsl_cdf_geometric_Q gsl_cdf_negative_binomial_P
gsl_cdf_negative_binomial_Q gsl_cdf_pascal_P gsl_cdf_pascal_Q
gsl_cdf_hypergeometric_P gsl_cdf_hypergeometric_Q
                /;
our %EXPORT_TAGS = ( all =>  [  @EXPORT_OK ], geometric => [ gsl_cdf_geometric_P , gsl_cdf_geometric_Q ], tdist => [ gsl_cdf_tdist_P , gsl_cdf_tdist_Q , gsl_cdf_tdist_Pinv , gsl_cdf_tdist_Qinv ], ugaussian => [ gsl_cdf_ugaussian_P , gsl_cdf_ugaussian_Q , gsl_cdf_ugaussian_Pinv , gsl_cdf_ugaussian_Qinv ], rayleigh => [ gsl_cdf_rayleigh_P , gsl_cdf_rayleigh_Q , gsl_cdf_rayleigh_Pinv , gsl_cdf_rayleigh_Qinv ], pascal => [ gsl_cdf_pascal_P , gsl_cdf_pascal_Q ], exponential => [ gsl_cdf_exponential_P , gsl_cdf_exponential_Q , gsl_cdf_exponential_Pinv , gsl_cdf_exponential_Qinv ], gumbel2 => [ gsl_cdf_gumbel2_P , gsl_cdf_gumbel2_Q , gsl_cdf_gumbel2_Pinv , gsl_cdf_gumbel2_Qinv ], gumbel1 => [ gsl_cdf_gumbel1_P , gsl_cdf_gumbel1_Q , gsl_cdf_gumbel1_Pinv , gsl_cdf_gumbel1_Qinv ], exppow => [ gsl_cdf_exppow_P , gsl_cdf_exppow_Q ], logistic => [ gsl_cdf_logistic_P , gsl_cdf_logistic_Q , gsl_cdf_logistic_Pinv , gsl_cdf_logistic_Qinv ], weibull => [ gsl_cdf_weibull_P , gsl_cdf_weibull_Q , gsl_cdf_weibull_Pinv , gsl_cdf_weibull_Qinv ], gaussian => [ gsl_cdf_gaussian_P , gsl_cdf_gaussian_Q , gsl_cdf_gaussian_Pinv , gsl_cdf_gaussian_Qinv ], poisson => [ gsl_cdf_poisson_P , gsl_cdf_poisson_Q ], beta => [ gsl_cdf_beta_P , gsl_cdf_beta_Q , gsl_cdf_beta_Pinv , gsl_cdf_beta_Qinv ], binomial => [ gsl_cdf_binomial_P , gsl_cdf_binomial_Q ], laplace => [ gsl_cdf_laplace_P , gsl_cdf_laplace_Q , gsl_cdf_laplace_Pinv , gsl_cdf_laplace_Qinv ], lognormal => [ gsl_cdf_lognormal_P , gsl_cdf_lognormal_Q , gsl_cdf_lognormal_Pinv , gsl_cdf_lognormal_Qinv ], cauchy => [ gsl_cdf_cauchy_P , gsl_cdf_cauchy_Q , gsl_cdf_cauchy_Pinv , gsl_cdf_cauchy_Qinv ], fdist => [ gsl_cdf_fdist_P , gsl_cdf_fdist_Q , gsl_cdf_fdist_Pinv , gsl_cdf_fdist_Qinv ], chisq => [ gsl_cdf_chisq_P , gsl_cdf_chisq_Q , gsl_cdf_chisq_Pinv , gsl_cdf_chisq_Qinv ], gamma => [ gsl_cdf_gamma_P , gsl_cdf_gamma_Q , gsl_cdf_gamma_Pinv , gsl_cdf_gamma_Qinv ], hypergeometric => [ gsl_cdf_hypergeometric_P , gsl_cdf_hypergeometric_Q ], negative => [ gsl_cdf_negative_binomial_P , gsl_cdf_negative_binomial_Q ], pareto => [ gsl_cdf_pareto_P , gsl_cdf_pareto_Q , gsl_cdf_pareto_Pinv , gsl_cdf_pareto_Qinv ], flat => [ gsl_cdf_flat_P , gsl_cdf_flat_Q , gsl_cdf_flat_Pinv , gsl_cdf_flat_Qinv ]);

__END__

=encoding utf8

=head1 NAME

Math::GSL::CDF - Cumulative Distribution Functions

=head1 SYNOPSIS

    use Math::GSL::CDF qw/:all/;
    my $x = gsl_cdf_gaussian_Pinv($P, $sigma);

    use Math::GSL::CDF qw/:beta/;
    print gsl_cdf_beta_P(1,2,3) . "\n";

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the named distributions.

=head1 DESCRIPTION

Here is a list of all the functions included in this module :

=over 4

=item gsl_cdf_ugaussian_P($x)

=item gsl_cdf_ugaussian_Q($x)

=item gsl_cdf_ugaussian_Pinv($P)

=item gsl_cdf_ugaussian_Qinv($Q)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the unit Gaussian distribution.

=item gsl_cdf_gaussian_P($x, $sigma)

=item gsl_cdf_gaussian_Q($x, $sigma)

=item gsl_cdf_gaussian_Pinv($P, $sigma)

=item gsl_cdf_gaussian_Qinv($Q, $sigma)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the Gaussian distribution with standard deviation $sigma.

=item gsl_cdf_gamma_P($x, $a, $b)

=item gsl_cdf_gamma_Q($x, $a, $b)

=item gsl_cdf_gamma_Pinv($P, $a, $b)

=item gsl_cdf_gamma_Qinv($Q, $a, $b)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the gamma distribution with parameters $a and $b.

=item gsl_cdf_cauchy_P($x, $a)

=item gsl_cdf_cauchy_Q($x, $a)

=item gsl_cdf_cauchy_Pinv($P, $a)

=item gsl_cdf_cauchy_Qinv($Q, $a)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the Cauchy distribution with scale parameter $a.

=item gsl_cdf_laplace_P($x, $a)

=item gsl_cdf_laplace_Q($x, $a)

=item gsl_cdf_laplace_Pinv($P, $a)

=item gsl_cdf_laplace_Qinv($Q, $a)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the Laplace distribution with width $a.

=item gsl_cdf_rayleigh_P($x, $sigma)

=item gsl_cdf_rayleigh_Q($x, $sigma)

=item gsl_cdf_rayleigh_Pinv($P, $sigma)

=item gsl_cdf_rayleigh_Qinv($Q, $sigma)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the Rayleigh distribution with scale parameter $sigma.

=item gsl_cdf_chisq_P($x, $nu)

=item gsl_cdf_chisq_Q($x, $nu)

=item gsl_cdf_chisq_Pinv($P, $nu)

=item gsl_cdf_chisq_Qinv($Q, $nu)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the chi-squared distribution with $nu degrees of freedom.

=item gsl_cdf_exponential_P($x, $mu)

=item gsl_cdf_exponential_Q($x, $mu)

=item gsl_cdf_exponential_Pinv($P, $mu)

=item gsl_cdf_exponential_Qinv($Q, $mu)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the Laplace distribution with width $a.

=item gsl_cdf_exppow_P($x, $a, $b)

=item gsl_cdf_exppow_Q($x, $a, $b)

These functions compute the cumulative distribution functions P(x), Q(x) for
the exponential power distribution with parameters $a and $b.

=item gsl_cdf_tdist_P($x, $nu)

=item gsl_cdf_tdist_Q($x, $nu)

=item gsl_cdf_tdist_Pinv($P, $nu)

=item gsl_cdf_tdist_Qinv($Q, $nu)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the t-distribution with $nu degrees of freedom.

=item gsl_cdf_fdist_P($x, $nu1, $nu2)

=item gsl_cdf_fdist_Q($x, $nu1, $nu2)

=item gsl_cdf_fdist_Pinv($P, $nu1, $nu2)

=item gsl_cdf_fdist_Qinv($Q, $nu1, $nu2)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the F-distribution with $nu1 and $nu2 degrees of freedom.

=item gsl_cdf_beta_P($x, $a, $b)

=item gsl_cdf_beta_Q($x, $a, $b)

=item gsl_cdf_beta_Pinv($P, $a, $b)

=item gsl_cdf_beta_Qinv($Q, $a, $b)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the beta distribution with parameters $a and $b.

=item gsl_cdf_flat_P($x, $a, $b)

=item gsl_cdf_flat_Q($x, $a, $b)

=item gsl_cdf_flat_Pinv($P, $a, $b)

=item gsl_cdf_flat_Qinv($Q, $a, $b)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for a uniform distribution from $a to $b.

=item gsl_cdf_lognormal_P($x, $zeta, $sigma)

=item gsl_cdf_lognormal_Q($x, $zeta, $sigma)

=item gsl_cdf_lognormal_Pinv($P, $zeta, $sigma)

=item gsl_cdf_lognormal_Qinv($Q, $zeta, $sigma)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the lognormal distribution with parameters $zeta and $sigma.

=item gsl_cdf_gumbel1_P($x, $a, $b)

=item gsl_cdf_gumbel1_Q($x, $a, $b)

=item gsl_cdf_gumbel1_Pinv($P, $a, $b)

=item gsl_cdf_gumbel1_Qinv($Q, $a, $b)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the Type-1 Gumbel distribution with parameters $a and $b.

=item gsl_cdf_gumbel2_P($x, $a, $b)

=item gsl_cdf_gumbel2_Q($x, $a, $b)

=item gsl_cdf_gumbel2_Pinv($P, $a, $b)

=item gsl_cdf_gumbel2_Qinv($Q, $a, $b)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the Type-2 Gumbel distribution with parameters $a and $b.

=item gsl_cdf_weibull_P($x, $a, $b)

=item gsl_cdf_weibull_Q($x, $a, $b)

=item gsl_cdf_weibull_Pinv($P, $a, $b)

=item gsl_cdf_weibull_Qinv($Q, $a, $b)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the Type-1 Gumbel distribution with parameters $a and $b.

=item gsl_cdf_pareto_P($x, $a, $b)

=item gsl_cdf_pareto_Q($x, $a, $b)

=item gsl_cdf_pareto_Pinv($P, $a, $b)

=item gsl_cdf_pareto_Qinv($Q, $a, $b)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the Pareto distribution with exponent $a and scale $b.

=item gsl_cdf_logistic_P($x, $a)

=item gsl_cdf_logistic_Q($x, $a)

=item gsl_cdf_logistic_Pinv($P, $a)

=item gsl_cdf_logistic_Qinv($Q, $a)

These functions compute the cumulative distribution functions P(x), Q(x) and
their inverses for the logistic distribution with scale parameter a.

=item gsl_cdf_binomial_P($k, $p, $n)

=item gsl_cdf_binomial_Q($k, $p, $n)

These functions compute the cumulative distribution functions P(k), Q(k) for
the binomial distribution with parameters $p and $n.

=item gsl_cdf_poisson_P($k, $mu)

=item gsl_cdf_poisson_Q($k, $mu)

These functions compute the cumulative distribution functions P(k), Q(k) for
the Poisson distribution with parameter $mu.

=item gsl_cdf_geometric_P($k, $p)

=item gsl_cdf_geometric_Q($k, $p)

These functions compute the cumulative distribution functions P(k), Q(k) for
the geometric distribution with parameter $p.

=item gsl_cdf_negative_binomial_P($k, $p, $n)

=item gsl_cdf_negative_binomial_Q($k, $p, $n)

These functions compute the cumulative distribution functions P(k), Q(k) for
the negative binomial distribution with parameters $p and $n.

=item gsl_cdf_pascal_P($k, $p, $n)

=item gsl_cdf_pascal_Q($k, $p, $n)

These functions compute the cumulative distribution functions P(k), Q(k) for
the Pascal distribution with parameters $p and $n.

=item gsl_cdf_hypergeometric_P($k, $n1, $n2, $t)

=item gsl_cdf_hypergeometric_Q($k, $n1, $n2, $t)

These functions compute the cumulative distribution functions P(k), Q(k) for
the hypergeometric distribution with parameters $n1, $n2 and $t.

=back

To import specific functions, list them in the use line. To import
all function exportable by Math::GSL::CDF do

    use Math::GSL::CDF qw/:all/

This is the list of available import tags:

=over

=item geometric

=item tdist

=item ugaussian

=item rayleigh

=item pascal

=item exponential

=item gumbel2

=item gumbel1

=item exppow

=item logistic

=item weibull

=item gaussian

=item poisson

=item beta

=item binomial

=item laplace

=item lognormal

=item cauchy

=item fdist

=item chisq

=item gamma

=item hypergeometric

=item negative

=item pareto

=item flat

=back

For example the beta tag contains theses functions : gsl_cdf_beta_P,
gsl_cdf_beta_Q, gsl_cdf_beta_Pinv, gsl_cdf_beta_Qinv .

For more informations on the functions, we refer you to the GSL offcial documentation:
L<http://www.gnu.org/software/gsl/manual/html_node/>


=head1 AUTHORS

Jonathan "Duke" Leto <jonathan@leto.net> and Thierry Moisan <thierry.moisan@gmail.com>

=head1 COPYRIGHT AND LICENSE

Copyright (C) 2008-2011 Jonathan "Duke" Leto and Thierry Moisan

This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.

=cut
%}