Class CDFLIB

java.lang.Object
gov.nih.mipav.model.algorithms.CDFLIB

public class CDFLIB extends Object
Legalities ========== 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 double
     
    private double
     
    private double
     
    private double
     
    private double
     
    private double
     
    private double
     
    private int
     
    private double
     
    private double
     
    private double
     
    private double
     
    private double
     
    private double
     
    private double
     
    private boolean
     
    private double
     
    private int
     
    private int
     
    private double
     
    private double
     
    private double
     
    private double
     
    private boolean
     
    private boolean
     
    private boolean[]
     
    private boolean[]
     
    private boolean
     
    private boolean
     
    private boolean
     
    private boolean
     
    private double
     
    private double
     
    private double
     
    private double
     
    private double
     
    private double
     
    private double
     
    private double[]
     
    private double
     
    private double[]
     
    private double
     
    private double
     
    private double
     
    private double
     
    private double
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private double
    algdiv(double a, double b)
     
    private double
    alnrel(double a)
     
    private double
    apser(double a, double b, double x, double eps)
     
    private double
    basym(double a, double b, double lambda, double eps)
     
    private double
    bcorr(double a0, double b0)
     
    private double
    betaln(double a0, double b0)
     
    private double
    bfrac(double a, double b, double x, double y, double lambda, double eps)
     
    private void
    bgrat(double a, double b, double x, double y, double[] w, double eps, int[] ierr)
     
    private double
    bpser(double a, double b, double x, double eps)
     
    private void
    bratio(double a, double b, double x, double y, double[] w, double[] w1, int[] ierr)
     
    private double
    brcmp1(int mu, double a, double b, double x, double y)
     
    private double
    brcomp(double a, double b, double x, double y)
     
    private double
    bup(double a, double b, double x, double y, int n, double eps)
     
    private void
    cdff(int which, double[] p, double[] q, double[] f, double[] dfn, double[] dfd, int[] status, double[] bound)
     
    private void
    cumf(double f, double dfn, double dfd, double[] cum, double[] ccum)
     
    private void
    dinvr(int[] status, double[] x, double[] fx, boolean[] qleft, boolean[] qhi)
     
    private void
    dstinv(double zsmall, double zbig, double zabsst, double zrelst, double zstpmu, double zabsto, double zrelto)
     
    private void
    dstzr(double zxlo, double zxhi, double zabstl, double zreltl)
     
    private void
    dzror(int[] status, double[] x, double[] fx, double[] xlo, double[] xhi, boolean[] qleft, boolean[] qhi)
     
    private double
     
    private double
    erf(double x)
     
    double
    erfc1(int ind, double x)
     
    private double
    esum(int mu, double x)
     
    private double
    evaluate_polynomial(double[] a, double x)
     
    private double
    exparg(int l)
     
    private double
    fpser(double a, double b, double x, double eps)
     
    private double
    ftol(double zx)
     
    private double
    gam1(double a)
     
    private double
    gamln(double a)
     
    private double
    gamln1(double a)
     
    private void
    grat1(double a, double x, double r, double[] p, double[] q, double eps)
     
    private double
    gsumln(double a, double b)
     
    private int
    ipmpar(int i)
     
    private double
    psi(double xx)
     
    private boolean
    qxmon(double zx, double zy, double zz)
     
    private double
    rexp(double x)
     
    private double
    rlog1(double x)
     
    void
     
    private double
    spmpar(int i)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • 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
  • Constructor Details

    • CDFLIB

      public CDFLIB()
  • Method Details

    • 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)