Package gov.nih.mipav.model.algorithms
Class CDFLIB
- java.lang.Object
-
- gov.nih.mipav.model.algorithms.CDFLIB
-
public class CDFLIB extends java.lang.ObjectLegalities ========== We place our efforts in writing this package in the public domain. However, code from ACM publications is subject to the ACM policy (below). References ========== Incomplete Beta --------------- DiDinato, A. R. and Morris, A. H. (1993) ``Algorithm 708: Significant Digit Computation of the Incomplete Beta Function Ratios.'' ACM Trans. Math. Softw. 18, 360-373. Incomplete Gamma ---------------- DiDinato, A. R. and Morris, A. H. (1986) ``Computation of the incomplete gamma function ratios and their inverse.'' ACM Trans. Math. Softw. 12, 377-393. Cumulative Normal ----------------- Cody, W.D. (1993). ``ALGORITHM 715: SPECFUN - A Portable FORTRAN Package of Special Function Routines and Test Drivers'' ACM Trans. Math. Softw. 19, 22-32. Inverse Normal -------------- ``Algorithm AS241'' (1988) Appl. Statist. 37, NO. 3, 477-484. Finding a Zero of a Monotone Function ------------------------------------- Alefeld, G. E., Potra, F. A., Shi, Y. (1995) ``Algorithm 748: Enclosing Zeros of Continuous Functions.'', by G. E. Alefeld, F. A. Potra, YiXun Shi, ACM Trans. Math. Softw., 21, No. 3, 327-344 ACM Policy on Use of Code ========================= Here is the software Policy of the ACM. Submittal of an algorithm for publication in one of the ACM Transactions implies that unrestricted use of the algorithm within a computer is permissible. General permission to copy and distribute the algorithm without fee is granted provided that the copies are not made or distributed for direct commercial advantage. The ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. Krogh, F. (1997) ``Algorithms Policy.'' ACM Tran. Math. Softw. 13, 183-186. We do not know the policy of the Royal Statistical Society; they have discontinued publishing algorithms. However, they made a number of these programs available on Statlib on condition that there be no charge for their distribution. Here is our standard disclaimer. NO WARRANTY WE PROVIDE ABSOLUTELY NO WARRANTY OF ANY KIND EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THIS PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.IN NO EVENT SHALL THE UNIVERSITY OF TEXAS OR ANY OF ITS COMPONENT INSTITUTIONS INCLUDING M. D. ANDERSON HOSPITAL BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA OR ITS ANALYSIS BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES) THE PROGRAM.
-
-
Field Summary
Fields Modifier and Type Field Description private doublea_dzrorprivate doubleabsstpprivate doubleabstolprivate doubleb_dzrorprivate doublebigprivate doublec_dzrorprivate doubled_dzrorprivate intext_dzrorprivate doublefa_dzrorprivate doublefb_dzrorprivate doublefbig_dinvrprivate doublefc_dzrorprivate doublefd_dzrorprivate doublefda_dzrorprivate doublefdb_dzrorprivate booleanfirst_dzrorprivate doublefsmall_dinvrprivate inti99999_dinvrprivate inti99999_dzrorprivate doublem_dzrorprivate doublemb_dzrorprivate doublep_dzrorprivate doubleq_dzrorprivate booleanqbdd_dinvrprivate booleanqcond_dinvrprivate boolean[]qdum1_dinvrprivate boolean[]qdum2_dinvrprivate booleanqincr_dinvrprivate booleanqlim_dinvrprivate booleanqrzero_dzrorprivate booleanqup_dinvrprivate doublerelstpprivate doublereltolprivate doublesmallprivate doublestep_dinvrprivate doublestpmulprivate doubletol_dzrorprivate doublew_dzrorprivate double[]xhi_dinvrprivate doublexlb_dinvrprivate double[]xlo_dinvrprivate doublexsave_dinvrprivate doublexub_dinvrprivate doublexxhiprivate doublexxloprivate doubleyy_dinvr
-
Constructor Summary
Constructors Constructor Description CDFLIB()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private doublealgdiv(double a, double b)private doublealnrel(double a)private doubleapser(double a, double b, double x, double eps)private doublebasym(double a, double b, double lambda, double eps)private doublebcorr(double a0, double b0)private doublebetaln(double a0, double b0)private doublebfrac(double a, double b, double x, double y, double lambda, double eps)private voidbgrat(double a, double b, double x, double y, double[] w, double eps, int[] ierr)private doublebpser(double a, double b, double x, double eps)private voidbratio(double a, double b, double x, double y, double[] w, double[] w1, int[] ierr)private doublebrcmp1(int mu, double a, double b, double x, double y)private doublebrcomp(double a, double b, double x, double y)private doublebup(double a, double b, double x, double y, int n, double eps)private voidcdff(int which, double[] p, double[] q, double[] f, double[] dfn, double[] dfd, int[] status, double[] bound)private voidcumf(double f, double dfn, double dfd, double[] cum, double[] ccum)private voiddinvr(int[] status, double[] x, double[] fx, boolean[] qleft, boolean[] qhi)private voiddstinv(double zsmall, double zbig, double zabsst, double zrelst, double zstpmu, double zabsto, double zrelto)private voiddstzr(double zxlo, double zxhi, double zabstl, double zreltl)private voiddzror(int[] status, double[] x, double[] fx, double[] xlo, double[] xhi, boolean[] qleft, boolean[] qhi)private doubleEPSILON()private doubleerf(double x)doubleerfc1(int ind, double x)private doubleesum(int mu, double x)private doubleevaluate_polynomial(double[] a, double x)private doubleexparg(int l)private doublefpser(double a, double b, double x, double eps)private doubleftol(double zx)private doublegam1(double a)private doublegamln(double a)private doublegamln1(double a)private voidgrat1(double a, double x, double r, double[] p, double[] q, double eps)private doublegsumln(double a, double b)private intipmpar(int i)private doublepsi(double xx)private booleanqxmon(double zx, double zy, double zz)private doublerexp(double x)private doublerlog1(double x)voidselfTest()private doublespmpar(int i)
-
-
-
Field Detail
-
small
private double small
-
big
private double big
-
absstp
private double absstp
-
relstp
private double relstp
-
stpmul
private double stpmul
-
abstol
private double abstol
-
reltol
private double reltol
-
xxlo
private double xxlo
-
xxhi
private double xxhi
-
i99999_dinvr
private int i99999_dinvr
-
fbig_dinvr
private double fbig_dinvr
-
fsmall_dinvr
private double fsmall_dinvr
-
xsave_dinvr
private double xsave_dinvr
-
yy_dinvr
private double yy_dinvr
-
step_dinvr
private double step_dinvr
-
xub_dinvr
private double xub_dinvr
-
xlb_dinvr
private double xlb_dinvr
-
xlo_dinvr
private double[] xlo_dinvr
-
xhi_dinvr
private double[] xhi_dinvr
-
qdum1_dinvr
private boolean[] qdum1_dinvr
-
qdum2_dinvr
private boolean[] qdum2_dinvr
-
qup_dinvr
private boolean qup_dinvr
-
qincr_dinvr
private boolean qincr_dinvr
-
qcond_dinvr
private boolean qcond_dinvr
-
qlim_dinvr
private boolean qlim_dinvr
-
qbdd_dinvr
private boolean qbdd_dinvr
-
i99999_dzror
private int i99999_dzror
-
fda_dzror
private double fda_dzror
-
fdb_dzror
private double fdb_dzror
-
m_dzror
private double m_dzror
-
fb_dzror
private double fb_dzror
-
a_dzror
private double a_dzror
-
fa_dzror
private double fa_dzror
-
b_dzror
private double b_dzror
-
c_dzror
private double c_dzror
-
fc_dzror
private double fc_dzror
-
mb_dzror
private double mb_dzror
-
tol_dzror
private double tol_dzror
-
d_dzror
private double d_dzror
-
fd_dzror
private double fd_dzror
-
p_dzror
private double p_dzror
-
q_dzror
private double q_dzror
-
w_dzror
private double w_dzror
-
ext_dzror
private int ext_dzror
-
first_dzror
private boolean first_dzror
-
qrzero_dzror
private boolean qrzero_dzror
-
-
Method Detail
-
selfTest
public void selfTest()
-
cdff
private void cdff(int which, double[] p, double[] q, double[] f, double[] dfn, double[] dfd, int[] status, double[] bound)
-
dstinv
private void dstinv(double zsmall, double zbig, double zabsst, double zrelst, double zstpmu, double zabsto, double zrelto)
-
dinvr
private void dinvr(int[] status, double[] x, double[] fx, boolean[] qleft, boolean[] qhi)
-
dstzr
private void dstzr(double zxlo, double zxhi, double zabstl, double zreltl)
-
dzror
private void dzror(int[] status, double[] x, double[] fx, double[] xlo, double[] xhi, boolean[] qleft, boolean[] qhi)
-
ftol
private double ftol(double zx)
-
qxmon
private boolean qxmon(double zx, double zy, double zz)
-
cumf
private void cumf(double f, double dfn, double dfd, double[] cum, double[] ccum)
-
spmpar
private double spmpar(int i)
-
ipmpar
private int ipmpar(int i)
-
EPSILON
private double EPSILON()
-
bratio
private void bratio(double a, double b, double x, double y, double[] w, double[] w1, int[] ierr)
-
basym
private double basym(double a, double b, double lambda, double eps)
-
bgrat
private void bgrat(double a, double b, double x, double y, double[] w, double eps, int[] ierr)
-
grat1
private void grat1(double a, double x, double r, double[] p, double[] q, double eps)
-
rexp
private double rexp(double x)
-
erf
private double erf(double x)
-
erfc1
public double erfc1(int ind, double x)
-
bup
private double bup(double a, double b, double x, double y, int n, double eps)
-
brcmp1
private double brcmp1(int mu, double a, double b, double x, double y)
-
esum
private double esum(int mu, double x)
-
bfrac
private double bfrac(double a, double b, double x, double y, double lambda, double eps)
-
brcomp
private double brcomp(double a, double b, double x, double y)
-
rlog1
private double rlog1(double x)
-
fpser
private double fpser(double a, double b, double x, double eps)
-
exparg
private double exparg(int l)
-
apser
private double apser(double a, double b, double x, double eps)
-
psi
private double psi(double xx)
-
evaluate_polynomial
private double evaluate_polynomial(double[] a, double x)
-
bpser
private double bpser(double a, double b, double x, double eps)
-
gam1
private double gam1(double a)
-
betaln
private double betaln(double a0, double b0)
-
bcorr
private double bcorr(double a0, double b0)
-
gsumln
private double gsumln(double a, double b)
-
algdiv
private double algdiv(double a, double b)
-
alnrel
private double alnrel(double a)
-
gamln
private double gamln(double a)
-
gamln1
private double gamln1(double a)
-
-