mirror of
https://git.planet-casio.com/Lephenixnoir/OpenLibm.git
synced 2025-01-01 06:23:39 +01:00
c977aa998f
Replace amos with slatec
218 lines
11 KiB
Fortran
218 lines
11 KiB
Fortran
*DECK FUNDOC
|
|
SUBROUTINE FUNDOC
|
|
C***BEGIN PROLOGUE FUNDOC
|
|
C***PURPOSE Documentation for FNLIB, a collection of routines for
|
|
C evaluating elementary and special functions.
|
|
C***LIBRARY SLATEC
|
|
C***CATEGORY C, Z
|
|
C***TYPE ALL (FUNDOC-A)
|
|
C***KEYWORDS DOCUMENTATION, ELEMENTARY FUNCTIONS, SPECIAL FUNCTIONS
|
|
C***AUTHOR Kahaner, D. K., (NBS)
|
|
C***DESCRIPTION
|
|
C
|
|
C The SLATEC Library -- Elementary And Special Functions
|
|
C
|
|
C This describes the elementary and special function routines available
|
|
C in the SLATEC library. Most of the these routines were written by
|
|
C Wayne Fullerton while at LANL. Some were written by Don Amos of SNLA.
|
|
C There are approximately 63 single precision, 63 double precision and
|
|
C 25 complex user callable elementary and special function routines.
|
|
C
|
|
C The table below gives a breakdown of routines according to their
|
|
C function. Unless otherwise indicated all routines are function
|
|
C subprograms.
|
|
C Sngl. Dble.
|
|
C Description Notation Prec. Prec. Complex
|
|
C
|
|
C ***Intrinsic Functions and Fundamental Functions***
|
|
C Unpack floating point Call R9UPAK(X,Y,N) D9UPAK --
|
|
C number
|
|
C Pack floating point R9PAK(Y,N) D9PAK --
|
|
C number
|
|
C Initialize orthogonal INITS(OS,NOS,ETA) INITDS --
|
|
C polynomial series
|
|
C Evaluate Chebyshev summation for CSEVL(X,CS,N) DCSEVL --
|
|
C series i = 1 to n of
|
|
C cs(i)*(2*x)**(i-1)
|
|
C
|
|
C ***Elementary Functions***
|
|
C Argument = theta in z = \ z \ * -- -- CARG(Z)
|
|
C radians e**(i * theta)
|
|
C Cube root CBRT(X) DCBRT CCBRT
|
|
C Relative error exponen- ((e**x) -1) / x EXPREL(X) DEXPRL CEXPRL
|
|
C tial from first order
|
|
C Common logarithm log to the base 10 -- -- CLOG10(Z)
|
|
C of z
|
|
C Relative error logarithm ln(1 + x) ALNREL(X) DLNREL CLNREL
|
|
C Relative error logarithm (ln(1 + x) - x R9LN2R(X) D9LN2R C9LN2R
|
|
C from second order + x**2/2) / x**3
|
|
C ***Trigonometric and Hyperbolic Functions***
|
|
C Tangent tan z -- -- CTAN(Z)
|
|
C Cotangent cot x COT(X) DCOT CCOT
|
|
C Sine x in degrees sin((2*pi*x)/360) SINDG(X) DSINDG --
|
|
C Cosine x in degrees cos((2*pi*x)/360) COSDG(X) DCOSDG --
|
|
C Arc sine arcsin (z) -- -- CASIN(Z)
|
|
C Arc cosine arccos (z) -- -- CACOS(Z)
|
|
C Arc tangent arctan (z) -- -- CATAN(Z)
|
|
C Quadrant correct arctan (z1/z2) -- -- CATAN2(Z1,
|
|
C arc tangent Z2)
|
|
C Hyperbolic sine sinh z -- -- CSINH(Z)
|
|
C Hyperbolic cosine cosh z -- -- CCOSH(Z)
|
|
C Hyperbolic tangent tanh z -- -- CTANH(Z)
|
|
C Arc hyperbolic sine arcsinh (x) ASINH(X) DASINH CASINH
|
|
C Arc hyperbolic cosine arccosh (x) ACOSH(X) DACOSH CACOSH
|
|
C Arc hyperbolic tangent arctanh (x) ATANH(X) DATANH CATANH
|
|
C Relative error arc (arctan (x) - x) R9ATN1(X) D9ATN1 --
|
|
C tangent from first order / x**3
|
|
C ***Exponential Integrals and Related Functions***
|
|
C Exponential integral Ei(x) = (minus) EI(X) DEI --
|
|
C the integral from
|
|
C -x to infinity of
|
|
C (e**-t / t)dt
|
|
C Exponential integral E sub 1 (x) = E1(X) DE1 --
|
|
C the integral from x
|
|
C to infinity of
|
|
C (e**-t / t) dt
|
|
C Logarithmic integral li(x) = the ALI(X) DLI --
|
|
C integral from 0 to
|
|
C x of (1 / ln t) dt
|
|
C Sequences of exponential integrals.
|
|
C M values are computed where
|
|
C k=0,1,...M-1 and n>=1
|
|
C Exponential integral E sub n+k (x) Call EXINT(X, DEXINT --
|
|
C =the integral from N,KODE,M,TOL,
|
|
C 1 to infinity of EN,IERR)
|
|
C (e**(-x*t)/t**(n+k))dt
|
|
C ***Gamma Functions and Related Functions***
|
|
C Factorial n! FAC(N) DFAC --
|
|
C Binomial n!/(m!*(n-m)!) BINOM(N,M) DBINOM --
|
|
C Gamma gamma(x) GAMMA(X) DGAMMA CGAMMA
|
|
C Gamma(x) under and Call GAMLIM( DGAMLM --
|
|
C overflow limits XMIN,XMAX)
|
|
C Reciprocal gamma 1 / gamma(x) GAMR(X) DGAMR CGAMR
|
|
C Log abs gamma ln \gamma(x)\ ALNGAM(X) DLNGAM --
|
|
C Log gamma ln gamma(z) -- -- CLNGAM
|
|
C Log abs gamma g = ln \gamma(x)\ Call ALGAMS(X, DLGAMS --
|
|
C with sign s = sign gamma(x) G,S)
|
|
C Incomplete gamma gamma(a,x) = GAMI(A,X) DGAMI --
|
|
C the integral from
|
|
C 0 to x of
|
|
C (t**(a-1) * e**-t)dt
|
|
C Complementary gamma(a,x) = GAMIC(A,X) DGAMIC --
|
|
C incomplete gamma the integral from
|
|
C x to infinity of
|
|
C (t**(a-1) * e**-t)dt
|
|
C Tricomi's gamma super star(a,x) GAMIT(A,X) DGAMIT --
|
|
C incomplete gamma = x**-a *
|
|
C incomplete gamma(a,x)
|
|
C / gamma(a)
|
|
C Psi (Digamma) psi(x) = gamma'(x) PSI(X) DPSI CPSI
|
|
C / gamma(x)
|
|
C Pochhammer's (a) sub x = gamma(a+x) POCH(A,X) DPOCH --
|
|
C generalized symbol / gamma(a)
|
|
C Pochhammer's symbol ((a) sub x -1) / x POCH1(A,X) DPOCH1 --
|
|
C from first order
|
|
C Beta b(a,b) = (gamma(a) BETA(A,B) DBETA CBETA
|
|
C * gamma(b))
|
|
C / gamma(a+b)
|
|
C = the integral
|
|
C from 0 to 1 of
|
|
C (t**(a-1) *
|
|
C (1-t)**(b-1))dt
|
|
C Log beta ln b(a,b) ALBETA(A,B) DLBETA CLBETA
|
|
C Incomplete beta i sub x (a,b) = BETAI(X,A,B) DBETAI __
|
|
C b sub x (a,b) / b(a,b)
|
|
C = 1 / b(a,b) *
|
|
C the integral
|
|
C from 0 to x of
|
|
C (t**(a-1) *
|
|
C (1-t)**(b-1))dt
|
|
C Log gamma correction ln gamma(x) - R9LGMC(X) D9LGMC C9LGMC
|
|
C term when Stirling's (ln(2 * pi))/2 -
|
|
C approximation is valid (x - 1/2) * ln(x) + x
|
|
C ***Error Functions and Fresnel Integrals***
|
|
C Error function erf x = (2 / ERF(X) DERF --
|
|
C square root of pi) *
|
|
C the integral from
|
|
C 0 to x of
|
|
C e**(-t**2)dt
|
|
C Complementary erfc x = (2 / ERFC(X) DERFC --
|
|
C error function square root of pi) *
|
|
C the integral from
|
|
C x to infinity of
|
|
C e**(-t**2)dt
|
|
C Dawson's function F(x) = e**(-x**2) DAWS(X) DDAWS --
|
|
C * the integral from
|
|
C from 0 to x of
|
|
C e**(t**2)dt
|
|
C ***Bessel Functions***
|
|
C Bessel functions of special integer order
|
|
C First kind, order zero J sub 0 (x) BESJ0(X) DBESJ0 --
|
|
C First kind, order one J sub 1 (x) BESJ1(X) DBESJ1 --
|
|
C Second kind, order zero Y sub 0 (x) BESY0(X) DBESY0 --
|
|
C Second kind, order one Y sub 1 (x) BESY1(X) DBESY1 --
|
|
C Modified (hyperbolic) Bessel functions of special integer order
|
|
C First kind, order zero I sub 0 (x) BESI0(X) DBESI0 --
|
|
C First kind, order one I sub 1 (x) BESI1(X) DBESI1 --
|
|
C Third kind, order zero K sub 0 (x) BESK0(X) DBESK0 --
|
|
C Third kind, order one K sub 1 (x) BESK1(X) DBESK1 --
|
|
C Modified (hyperbolic) Bessel functions of special integer order
|
|
C scaled by an exponential
|
|
C First kind, order zero e**-\x\ * I sub 0(x) BESI0E(X) DBSI0E --
|
|
C First kind, order one e**-\x\ * I sub 1(x) BESI1E(X) DBSI1E --
|
|
C Third kind, order zero e**x * K sub 0 (x) BESK0E(X) DBSK0E --
|
|
C Third kind, order one e**x * K sub 1 (x) BESK1E(X) DBSK1E --
|
|
C Sequences of Bessel functions of general order.
|
|
C N values are computed where k = 1,2,...N and v .ge. 0.
|
|
C Modified first kind I sub v+k-1 (x) Call BESI(X, DBESI --
|
|
C optional scaling ALPHA,KODE,N,
|
|
C by e**(-x) Y,NZ)
|
|
C First kind J sub v+k-1 (x) Call BESJ(X, DBESJ --
|
|
C ALPHA,N,Y,NZ)
|
|
C Second kind Y sub v+k-1 (x) Call BESY(X, DBESY --
|
|
C FNU,N,Y)
|
|
C Modified third kind K sub v+k-1 (x) Call BESK(X, DBESK --
|
|
C optional scaling FNU,KODE,N,Y,
|
|
C by e**(x) NZ)
|
|
C Sequences of Bessel functions. \N\ values are computed where
|
|
C I = 0, 1, 2, ..., N-1 for N > 0 or I = 0, -1, -2, ..., N+1
|
|
C for N < 0.
|
|
C Modified third kind K sub v+i (x) Call BESKS( DBESKS --
|
|
C XNU,X,N,BK)
|
|
C Sequences of Bessel functions scaled by an exponential.
|
|
C \N\ values are computed where I = 0, 1, 2, ..., N-1
|
|
C for N > 0 or I = 0, -1, -2, ..., N+1 for N < 0.
|
|
C Modified third kind e**x * Call BESKES( DBSKES --
|
|
C K sub v+i (x) XNU,X,N,BK)
|
|
C ***Bessel Functions of Fractional Order***
|
|
C Airy functions
|
|
C Airy Ai(x) AI(X) DAI --
|
|
C Bairy Bi(x) BI(X) DBI --
|
|
C Exponentially scaled Airy functions
|
|
C Airy Ai(x), x <= 0 AIE(X) DAIE --
|
|
C exp(2/3 * x**(3/2))
|
|
C * Ai(x), x >= 0
|
|
C Bairy Bi(x), x <= 0 BIE(X) DBIE --
|
|
C exp(-2/3 * x**(3/2))
|
|
C * Bi(x), x >= 0
|
|
C ***Confluent Hypergeometric Functions***
|
|
C Confluent U(a,b,x) CHU(A,B,X) DCHU --
|
|
C hypergeometric
|
|
C ***Miscellaneous Functions***
|
|
C Spence s(x) = - the SPENC(X) DSPENC --
|
|
C dilogarithm integral from
|
|
C 0 to x of
|
|
C ((ln \1-y\) / y)dy
|
|
C
|
|
C***REFERENCES (NONE)
|
|
C***ROUTINES CALLED (NONE)
|
|
C***REVISION HISTORY (YYMMDD)
|
|
C 801015 DATE WRITTEN
|
|
C 861211 REVISION DATE from Version 3.2
|
|
C 891214 Prologue converted to Version 4.0 format. (BAB)
|
|
C 900326 Routine name changed from FNLIBD to FUNDOC. (WRB)
|
|
C 900723 PURPOSE section revised. (WRB)
|
|
C***END PROLOGUE FUNDOC
|
|
C***FIRST EXECUTABLE STATEMENT FUNDOC
|
|
RETURN
|
|
END
|