diff options
author | Eric Andersen <andersen@codepoet.org> | 2001-11-22 14:04:29 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2001-11-22 14:04:29 +0000 |
commit | 7ce331c01ce6eb7b3f5c715a38a24359da9c6ee2 (patch) | |
tree | 3a7e8476e868ae15f4da1b7ce26b2db6f434468c /libm/float/pdtrf.c | |
parent | c117dd5fb183afb1a4790a6f6110d88704be6bf8 (diff) |
Totally rework the math library, this time based on the MacOs X
math library (which is itself based on the math lib from FreeBSD).
-Erik
Diffstat (limited to 'libm/float/pdtrf.c')
-rw-r--r-- | libm/float/pdtrf.c | 188 |
1 files changed, 0 insertions, 188 deletions
diff --git a/libm/float/pdtrf.c b/libm/float/pdtrf.c deleted file mode 100644 index 17a05ee13..000000000 --- a/libm/float/pdtrf.c +++ /dev/null @@ -1,188 +0,0 @@ -/* pdtrf.c - * - * Poisson distribution - * - * - * - * SYNOPSIS: - * - * int k; - * float m, y, pdtrf(); - * - * y = pdtrf( k, m ); - * - * - * - * DESCRIPTION: - * - * Returns the sum of the first k terms of the Poisson - * distribution: - * - * k j - * -- -m m - * > e -- - * -- j! - * j=0 - * - * The terms are not summed directly; instead the incomplete - * gamma integral is employed, according to the relation - * - * y = pdtr( k, m ) = igamc( k+1, m ). - * - * The arguments must both be positive. - * - * - * - * ACCURACY: - * - * Relative error: - * arithmetic domain # trials peak rms - * IEEE 0,100 5000 6.9e-5 8.0e-6 - * - */ -/* pdtrcf() - * - * Complemented poisson distribution - * - * - * - * SYNOPSIS: - * - * int k; - * float m, y, pdtrcf(); - * - * y = pdtrcf( k, m ); - * - * - * - * DESCRIPTION: - * - * Returns the sum of the terms k+1 to infinity of the Poisson - * distribution: - * - * inf. j - * -- -m m - * > e -- - * -- j! - * j=k+1 - * - * The terms are not summed directly; instead the incomplete - * gamma integral is employed, according to the formula - * - * y = pdtrc( k, m ) = igam( k+1, m ). - * - * The arguments must both be positive. - * - * - * - * ACCURACY: - * - * Relative error: - * arithmetic domain # trials peak rms - * IEEE 0,100 5000 8.4e-5 1.2e-5 - * - */ -/* pdtrif() - * - * Inverse Poisson distribution - * - * - * - * SYNOPSIS: - * - * int k; - * float m, y, pdtrf(); - * - * m = pdtrif( k, y ); - * - * - * - * - * DESCRIPTION: - * - * Finds the Poisson variable x such that the integral - * from 0 to x of the Poisson density is equal to the - * given probability y. - * - * This is accomplished using the inverse gamma integral - * function and the relation - * - * m = igami( k+1, y ). - * - * - * - * - * ACCURACY: - * - * Relative error: - * arithmetic domain # trials peak rms - * IEEE 0,100 5000 8.7e-6 1.4e-6 - * - * ERROR MESSAGES: - * - * message condition value returned - * pdtri domain y < 0 or y >= 1 0.0 - * k < 0 - * - */ - -/* -Cephes Math Library Release 2.2: July, 1992 -Copyright 1984, 1987, 1992 by Stephen L. Moshier -Direct inquiries to 30 Frost Street, Cambridge, MA 02140 -*/ - -#include <math.h> - -#ifdef ANSIC -float igamf(float, float), igamcf(float, float), igamif(float, float); -#else -float igamf(), igamcf(), igamif(); -#endif - - -float pdtrcf( int k, float mm ) -{ -float v, m; - -m = mm; -if( (k < 0) || (m <= 0.0) ) - { - mtherr( "pdtrcf", DOMAIN ); - return( 0.0 ); - } -v = k+1; -return( igamf( v, m ) ); -} - - - -float pdtrf( int k, float mm ) -{ -float v, m; - -m = mm; -if( (k < 0) || (m <= 0.0) ) - { - mtherr( "pdtr", DOMAIN ); - return( 0.0 ); - } -v = k+1; -return( igamcf( v, m ) ); -} - - -float pdtrif( int k, float yy ) -{ -float v, y; - -y = yy; -if( (k < 0) || (y < 0.0) || (y >= 1.0) ) - { - mtherr( "pdtrif", DOMAIN ); - return( 0.0 ); - } -v = k+1; -v = igamif( v, y ); -return( v ); -} |