Class Cephes

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

public class Cephes extends Object
Correct values for ndtri are taken from scipy-main/scipy/special/tests/test_ndtr.py under the BSD-3 license: Copyright (c) 2001-2002 Enthought, Inc. 2003-2022, SciPy Developers. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    private static final double
     
    private static final double
     
    private static final double
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    static final int
     
    private static final double[]
     
    private static final double
     
    private static final double[]
     
    private static final double[]
     
    private double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    private double[]
     
    private double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    static final int
     
    static final int
     
    private final boolean
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    private static final double[]
     
    private static final double
     
    private static final double
     
    private static final double[]
     
    static final int
     
    static final int
     
    private static final double
     
    private static final double
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    static final int
     
    static final int
     
    static final int
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    static final int
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    static final int
     
    static final int
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    private static final double
     
    private static final double[]
     
    private static final double[]
     
    private static final double
     
    private static final double
     
    private static final int
     
    private static final int
     
    private static final double
     
    private static final int
     
    private static final double
     
    private static final double
     
    private static final double
     
    private static final double
     
    private static final double
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    static final int
     
    private static final double[]
     
    private double
     
    private double
     
    private double[]
     
    private int
     
    private double
     
    private int
     
    private double
     
    static final int
     
    static final int
     
    static final int
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double
     
    private static final double
     
    static final int
     
    static final int
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private double[]
     
    private static final double[]
     
    static final int
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private static final double
     
    private static final double[]
     
    private static final double[]
     
    private static final double[]
     
    private int
     
    private double[]
     
    static final int
     
    private double[]
     
    static final int
     
    static final int
     
    static final int
     
    private static final double[]
     
    private static final double[]
     
    static final int
     
    private static final double
     
    private static final double
     
    private static final double
     
    private double[]
     
    static final int
     
    static final int
     
    private static final double[]
     
    static final int
     
    private static final double
     
    static final int
     
    private static final double[]
     
    private static final double[]
     
    static final int
     
    private static final double[]
     
    private int
     
    static final int
     
    static final int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    Cephes(double par1, double[] par3, int par4, int version, double[] result)
     
    Cephes(double par1, double par2, double par5, int version, double[] result)
     
    Cephes(double par1, double par2, int version, double[] result)
     
    Cephes(double par1, int version, double[] result)
     
    Cephes(double par1, int version, double[] ssa, double[] cca)
     
    Cephes(int par4, double par1, int version, double[] result)
     
    Cephes(int par4, int version, double[] result)
     
    Cephes(int par4, int par6, double par1, int version, double[] result)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    bdtr(int k, int n, double p)
     
    double
    bdtrc(int k, int n, double p)
     
    double
    bdtri(int k, int n, double y)
     
    double
    beta(double a, double b)
     
    double
    btdtr(double a, double b, double x)
     
    double
    chbevl(double x, double[] array, int n)
     
    double
    chdtr(double df, double x)
     
    double
    chdtrc(double df, double x)
     
    double
    chdtri(double df, double y)
     
    double
    cosm1(double x)
     
    double
    dawsn(double xx)
     
    double
    ellie(double phi, double m)
     
    double
    ellik(double phi, double m)
     
    double
    ellpe(double x)
     
    double
    ellpk(double x)
     
    double
    erf(double x)
     
    double
    erfc(double a)
     
    double
    expm1(double x)
     
    double
    expn(int n, double x)
     
    double
    expx2(double x, int sign)
     
    double
    fac(int i)
     
    double
    fdtr(int ia, int ib, double x)
     
    double
    fdtrc(int ia, int ib, double x)
     
    double
    fdtri(int ia, int ib, double y)
     
    int
    fresnl(double xxa, double[] ssa, double[] cca)
     
    double
    gdtr(double a, double b, double x)
     
    double
    gdtrc(double a, double b, double x)
     
    double
    hcephes_hyp2f1_neg_c_equal_bc(double a, double b, double x)
     
    double
    hcephes_hyp2f1ra(double a, double b, double c, double x, double[] loss)
     
    double
    hy1f1a(double a, double b, double x, double[] err)
     
    double
    hy1f1p(double a, double b, double x, double[] err)
     
    (package private) double
    hyp2f0(double a, double b, double x, int type, double[] err)
     
    double
    hyp2f1(double a, double b, double c, double x)
     
    double
    hyperg(double a, double b, double x)
     
    double
    hys2f1(double a, double b, double c, double x, double[] loss)
     
    double
    hyt2f1(double a, double b, double c, double x, double[] loss)
     
    double
    igam(double a, double x)
     
    double
    igamc(double a, double x)
     
    double
    igami(double a, double y0)
     
    double
    incbcf(double a, double b, double x)
     
    double
    incbd(double a, double b, double x)
     
    double
    incbet(double aa, double bb, double xx)
     
    (package private) double
    incbi(double aa, double bb, double yy0)
     
    double
    kolmogi(double p)
     
    double
    kolmogorov(double y)
     
    double
    lbeta(double a, double b)
     
    double
    lgam(double x)
     
    double
    log1p(double x)
     
    double
    nbdtr(int k, int n, double p)
     
    double
    nbdtrc(int k, int n, double p)
     
    double
    nbdtri(int k, int n, double p)
     
    double
    ndtr(double a)
     
    double
    ndtri(double y0)
     
    double
    onef2(double a, double b, double c, double x, double[] err)
     
    double
    p1evl(double x, double[] coef, int N)
     
    double
    pdtr(int k, double m)
     
    double
    pdtrc(int k, double m)
     
    double
    pdtri(int k, double y)
     
    double
    polevl(double x, double[] coef, int N)
     
    double
    pseries(double a, double b, double x)
     
    double
    psi(double x)
     
    double
    rgamma(double x)
     
    void
    run()
     
    void
    shichi(double x, double[] shi, double[] chi)
     
    void
    sici(double x, double[] si, double[] ci)
     
    double
    smirnov(int n, double e)
     
    double
    smirnovi(int n, double p)
     
    double
    spence(double x)
     
    (package private) double
    stdtr(int k, double t)
     
    double
    stdtri(int k, double p)
     
    double
    stirf(double x)
     
    double
    struve(double v, double x)
     
    void
     
    double
    threef0(double a, double b, double c, double x, double[] err)
     
    double
    true_gamma(double x)
     
    double
    zeta(double x, double q)
     
    double
    zetac(double x)
     

    Methods inherited from class java.lang.Object

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

    • BDTR

      public static final int BDTR
      See Also:
    • BDTRC

      public static final int BDTRC
      See Also:
    • BDTRI

      public static final int BDTRI
      See Also:
    • BETA

      public static final int BETA
      See Also:
    • BTDTR

      public static final int BTDTR
      See Also:
    • CHBEVL

      public static final int CHBEVL
      See Also:
    • CHDTR

      public static final int CHDTR
      See Also:
    • CHDTRC

      public static final int CHDTRC
      See Also:
    • CHDTRI

      public static final int CHDTRI
      See Also:
    • COSM1

      public static final int COSM1
      See Also:
    • DAWSN

      public static final int DAWSN
      See Also:
    • ELLIE

      public static final int ELLIE
      See Also:
    • ELLIK

      public static final int ELLIK
      See Also:
    • ELLPE

      public static final int ELLPE
      See Also:
    • ELLPK

      public static final int ELLPK
      See Also:
    • ERF

      public static final int ERF
      See Also:
    • ERFC

      public static final int ERFC
      See Also:
    • EXPM1

      public static final int EXPM1
      See Also:
    • EXPN

      public static final int EXPN
      See Also:
    • EXPX2

      public static final int EXPX2
      See Also:
    • FAC

      public static final int FAC
      See Also:
    • FDTR

      public static final int FDTR
      See Also:
    • FDTRC

      public static final int FDTRC
      See Also:
    • FDTRI

      public static final int FDTRI
      See Also:
    • FRESNL

      public static final int FRESNL
      See Also:
    • GDTR

      public static final int GDTR
      See Also:
    • GDTRC

      public static final int GDTRC
      See Also:
    • HYP2F1

      public static final int HYP2F1
      See Also:
    • HYPERG

      public static final int HYPERG
      See Also:
    • IGAM

      public static final int IGAM
      See Also:
    • IGAMC

      public static final int IGAMC
      See Also:
    • IGAMI

      public static final int IGAMI
      See Also:
    • INCBET

      public static final int INCBET
      See Also:
    • INCBI

      public static final int INCBI
      See Also:
    • KOLMOGI

      public static final int KOLMOGI
      See Also:
    • KOLMOGOROV

      public static final int KOLMOGOROV
      See Also:
    • LBETA

      public static final int LBETA
      See Also:
    • LGAM

      public static final int LGAM
      See Also:
    • LOG1P

      public static final int LOG1P
      See Also:
    • NBDTR

      public static final int NBDTR
      See Also:
    • NBDTRC

      public static final int NBDTRC
      See Also:
    • NBDTRI

      public static final int NBDTRI
      See Also:
    • NDTR

      public static final int NDTR
      See Also:
    • NDTRI

      public static final int NDTRI
      See Also:
    • PDTR

      public static final int PDTR
      See Also:
    • PDTRC

      public static final int PDTRC
      See Also:
    • PDTRI

      public static final int PDTRI
      See Also:
    • POLEVL

      public static final int POLEVL
      See Also:
    • P1EVL

      public static final int P1EVL
      See Also:
    • PSI

      public static final int PSI
      See Also:
    • RGAMMA

      public static final int RGAMMA
      See Also:
    • SHICHI

      public static final int SHICHI
      See Also:
    • SICI

      public static final int SICI
      See Also:
    • SMIRNOV

      public static final int SMIRNOV
      See Also:
    • SMIRNOVI

      public static final int SMIRNOVI
      See Also:
    • SPENCE

      public static final int SPENCE
      See Also:
    • STDTR

      public static final int STDTR
      See Also:
    • STDTRI

      public static final int STDTRI
      See Also:
    • STIRF

      public static final int STIRF
      See Also:
    • STRUVE

      public static final int STRUVE
      See Also:
    • TRUE_GAMMA

      public static final int TRUE_GAMMA
      See Also:
    • ZETA

      public static final int ZETA
      See Also:
    • ZETAC

      public static final int ZETAC
      See Also:
    • MACHEP

      private static final double MACHEP
      See Also:
    • MAXLOG

      private static final double MAXLOG
      See Also:
    • MINLOG

      private static final double MINLOG
      See Also:
    • MAXNUM

      private static final double MAXNUM
      See Also:
    • MAXGAM

      private static final double MAXGAM
      See Also:
    • MAXLGM

      private static final double MAXLGM
      See Also:
    • big

      private static final double big
      See Also:
    • biginv

      private static final double biginv
      See Also:
    • BIG

      private static final double BIG
      See Also:
    • EUL

      private static final double EUL
      See Also:
    • s2pi

      private static final double s2pi
      See Also:
    • PIO4

      private static final double PIO4
      See Also:
    • PIO2

      private static final double PIO2
      See Also:
    • LOGPI

      private static final double LOGPI
      See Also:
    • LS2PI

      private static final double LS2PI
      See Also:
    • SQRT2

      private static final double SQRT2
      See Also:
    • SQRTH

      private static final double SQRTH
      See Also:
    • MAXL2

      private static final int MAXL2
      See Also:
    • MAXSTIR

      private static final double MAXSTIR
      See Also:
    • SQTPI

      private static final double SQTPI
      See Also:
    • stop

      private static final double stop
      See Also:
    • MAXFAC

      private static final int MAXFAC
      See Also:
    • EPS

      private static final double EPS
      See Also:
    • EPS2

      private static final double EPS2
      See Also:
    • ETHRESH

      private static final double ETHRESH
      See Also:
    • MAX_ITERATIONS

      private static final int MAX_ITERATIONS
      See Also:
    • DEBUG

      private final boolean DEBUG
      See Also:
    • sgngam

      private int sgngam
    • P

      private static final double[] P
    • Q

      private static final double[] Q
    • R

      private static final double[] R
    • S

      private static final double[] S
    • T

      private static final double[] T
    • U

      private static final double[] U
    • P0

      private static final double[] P0
    • Q0

      private static final double[] Q0
    • P1

      private static final double[] P1
    • Q1

      private static final double[] Q1
    • P2

      private static final double[] P2
    • Q2

      private static final double[] Q2
    • PELLPE

      private static final double[] PELLPE
    • QELLPE

      private static final double[] QELLPE
    • C1

      private static final double C1
      See Also:
    • PELLPK

      private static final double[] PELLPK
    • QELLPK

      private static final double[] QELLPK
    • AZETA

      private static final double[] AZETA
    • azetac

      private static final double[] azetac
    • PZETAC

      private static final double[] PZETAC
    • QZETAC

      private static final double[] QZETAC
    • AZETAC

      private static final double[] AZETAC
    • BZETAC

      private static final double[] BZETAC
    • RZETAC

      private static final double[] RZETAC
    • SZETAC

      private static final double[] SZETAC
    • STIR

      private static final double[] STIR
    • PGAMMA

      private static final double[] PGAMMA
    • QGAMMA

      private static final double[] QGAMMA
    • ALGAM

      private static final double[] ALGAM
    • BLGAM

      private static final double[] BLGAM
    • CLGAM

      private static final double[] CLGAM
    • AN

      private static final double[] AN
    • BN

      private static final double[] BN
    • BD

      private static final double[] BD
    • CN

      private static final double[] CN
    • CD

      private static final double[] CD
    • factbl

      private static final double[] factbl
    • sn

      private static final double[] sn
    • sd

      private static final double[] sd
    • cn

      private static final double[] cn
    • cd

      private static final double[] cd
    • fn

      private static final double[] fn
    • fd

      private static final double[] fd
    • gn

      private static final double[] gn
    • gd

      private static final double[] gd
    • RGAM

      private static final double[] RGAM
    • APSI

      private static final double[] APSI
    • S1SHI

      private static final double[] S1SHI
    • S2SHI

      private static final double[] S2SHI
    • C1CHI

      private static final double[] C1CHI
    • C2CHI

      private static final double[] C2CHI
    • SNSI

      private static final double[] SNSI
    • SDSI

      private static final double[] SDSI
    • CNCI

      private static final double[] CNCI
    • CDCI

      private static final double[] CDCI
    • FN4

      private static final double[] FN4
    • FD4

      private static final double[] FD4
    • FN8

      private static final double[] FN8
    • FD8

      private static final double[] FD8
    • GN4

      private static final double[] GN4
    • GD4

      private static final double[] GD4
    • GN8

      private static final double[] GN8
    • GD8

      private static final double[] GD8
    • ASPENCE

      private static final double[] ASPENCE
    • BSPENCE

      private static final double[] BSPENCE
    • LP

      private static final double[] LP
    • LQ

      private static final double[] LQ
    • EP

      private static final double[] EP
    • EQ

      private static final double[] EQ
    • coscof

      private static final double[] coscof
    • result

      private double[] result
    • version

      private int version
    • par1

      private double par1
    • par2

      private double par2
    • par3

      private double[] par3
    • par4

      private int par4
    • par5

      private double par5
    • par6

      private int par6
    • par7

      private double par7
    • ssa

      private double[] ssa
    • cca

      private double[] cca
    • chi

      private double[] chi
    • shi

      private double[] shi
    • si

      private double[] si
    • ci

      private double[] ci
  • Constructor Details

    • Cephes

      public Cephes()
    • Cephes

      public Cephes(double par1, int version, double[] result)
    • Cephes

      public Cephes(double par1, int version, double[] ssa, double[] cca)
    • Cephes

      public Cephes(double par1, double par2, int version, double[] result)
    • Cephes

      public Cephes(double par1, double par2, double par5, int version, double[] result)
    • Cephes

      public Cephes(int par4, int version, double[] result)
    • Cephes

      public Cephes(int par4, double par1, int version, double[] result)
    • Cephes

      public Cephes(int par4, int par6, double par1, int version, double[] result)
    • Cephes

      public Cephes(double par1, double[] par3, int par4, int version, double[] result)
  • Method Details

    • testCephes

      public void testCephes()
    • run

      public void run()
    • chdtr

      public double chdtr(double df, double x)
    • chdtrc

      public double chdtrc(double df, double x)
    • chdtri

      public double chdtri(double df, double y)
    • erf

      public double erf(double x)
    • erfc

      public double erfc(double a)
    • ndtr

      public double ndtr(double a)
    • igami

      public double igami(double a, double y0)
    • igamc

      public double igamc(double a, double x)
    • igam

      public double igam(double a, double x)
    • ndtri

      public double ndtri(double y0)
    • polevl

      public double polevl(double x, double[] coef, int N)
    • p1evl

      public double p1evl(double x, double[] coef, int N)
    • ellie

      public double ellie(double phi, double m)
    • ellpe

      public double ellpe(double x)
    • ellpk

      public double ellpk(double x)
    • zeta

      public double zeta(double x, double q)
    • stirf

      public double stirf(double x)
    • true_gamma

      public double true_gamma(double x)
    • zetac

      public double zetac(double x)
    • onef2

      public double onef2(double a, double b, double c, double x, double[] err)
    • threef0

      public double threef0(double a, double b, double c, double x, double[] err)
    • struve

      public double struve(double v, double x)
    • lgam

      public double lgam(double x)
    • beta

      public double beta(double a, double b)
    • lbeta

      public double lbeta(double a, double b)
    • chbevl

      public double chbevl(double x, double[] array, int n)
    • dawsn

      public double dawsn(double xx)
    • ellik

      public double ellik(double phi, double m)
    • expn

      public double expn(int n, double x)
    • fac

      public double fac(int i)
    • incbet

      public double incbet(double aa, double bb, double xx)
    • incbcf

      public double incbcf(double a, double b, double x)
    • incbd

      public double incbd(double a, double b, double x)
    • pseries

      public double pseries(double a, double b, double x)
    • incbi

      double incbi(double aa, double bb, double yy0)
    • fdtrc

      public double fdtrc(int ia, int ib, double x)
    • fdtr

      public double fdtr(int ia, int ib, double x)
    • fdtri

      public double fdtri(int ia, int ib, double y)
    • fresnl

      public int fresnl(double xxa, double[] ssa, double[] cca)
    • gdtr

      public double gdtr(double a, double b, double x)
    • gdtrc

      public double gdtrc(double a, double b, double x)
    • psi

      public double psi(double x)
    • hyp2f1

      public double hyp2f1(double a, double b, double c, double x)
    • hyt2f1

      public double hyt2f1(double a, double b, double c, double x, double[] loss)
    • hys2f1

      public double hys2f1(double a, double b, double c, double x, double[] loss)
    • hcephes_hyp2f1ra

      public double hcephes_hyp2f1ra(double a, double b, double c, double x, double[] loss)
    • hcephes_hyp2f1_neg_c_equal_bc

      public double hcephes_hyp2f1_neg_c_equal_bc(double a, double b, double x)
    • hyperg

      public double hyperg(double a, double b, double x)
    • hy1f1p

      public double hy1f1p(double a, double b, double x, double[] err)
    • hy1f1a

      public double hy1f1a(double a, double b, double x, double[] err)
    • hyp2f0

      double hyp2f0(double a, double b, double x, int type, double[] err)
    • pdtrc

      public double pdtrc(int k, double m)
    • pdtr

      public double pdtr(int k, double m)
    • pdtri

      public double pdtri(int k, double y)
    • rgamma

      public double rgamma(double x)
    • shichi

      public void shichi(double x, double[] shi, double[] chi)
    • sici

      public void sici(double x, double[] si, double[] ci)
    • spence

      public double spence(double x)
    • log1p

      public double log1p(double x)
    • expm1

      public double expm1(double x)
    • cosm1

      public double cosm1(double x)
    • bdtrc

      public double bdtrc(int k, int n, double p)
    • bdtr

      public double bdtr(int k, int n, double p)
    • bdtri

      public double bdtri(int k, int n, double y)
    • btdtr

      public double btdtr(double a, double b, double x)
    • smirnov

      public double smirnov(int n, double e)
    • kolmogorov

      public double kolmogorov(double y)
    • smirnovi

      public double smirnovi(int n, double p)
    • kolmogi

      public double kolmogi(double p)
    • expx2

      public double expx2(double x, int sign)
    • stdtr

      double stdtr(int k, double t)
    • stdtri

      public double stdtri(int k, double p)
    • nbdtrc

      public double nbdtrc(int k, int n, double p)
    • nbdtr

      public double nbdtr(int k, int n, double p)
    • nbdtri

      public double nbdtri(int k, int n, double p)