cdflib, a FORTRAN90 code which evaluates the cumulative density function (CDF) associated with common probability distributions, by Barry Brown, James Lovato, Kathy Russell.
The code includes routines for evaluating the cumulative density functions of a variety of standard probability distributions. An unusual feature of this code is its ability to easily compute any one parameter of the CDF given the others. This means that a single routine can evaluate the CDF given the usual parameters, or determine the value of a parameter that produced a given CDF value.
The probability distributions covered include:
Note that the F and noncentral F distributions are not necessarily monotone in either degree of freedom argument. Consequently, there may be two degree of freedom arguments that satisfy the specified condition. An arbitrary one of these will be found by the routines.
The amount of computation required for the noncentral chisquare and noncentral F distribution is proportional to the value of the noncentrality parameter. Very large values of this parameter can require immense numbers of computation. Consequently, when the noncentrality parameter is to be calculated, the upper limit searched is 10,000.
the NETLIB random number web site, distributes a TAR file of the source code for the original CDFLIB code in C and FORTRAN;
https://biostatistics.mdanderson.org/SoftwareDownload/SingleSoftware.aspx?Software_Id=21 is a site at the University of Texas Department of Biostatistics and Applied Mathematics which makes available a more up-to-date FORTRAN90 version of the software, known as CDFLIB90.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
cdflib is available in a C version and a C++ version and a FORTRAN90 version.
ASA310, a FORTRAN90 code which computes the CDF of the noncentral Beta distribution.
BETA_NC, a FORTRAN90 code which evaluates the CDF of the noncentral Beta distribution.
NORMAL, a FORTRAN90 code which contains routines for sampling the normal distribution.
PROB, a FORTRAN90 code which contains routines for evaluating and inverting the normal CDF, and many other distributions.
TEST_VALUES, a FORTRAN90 code which contains routines that store selected values of the normal PDF, and many other statistical distributions.
UNIFORM, a FORTRAN90 code which contains routines for sampling the uniform distribution.
WALKER_SAMPLE, a FORTRAN90 code which efficiently samples a discrete probability vector using Walker sampling.
Barry Brown, James Lovato, Kathy Russell,
Department of Biomathematics,
University of Texas,