CALCK0 Subroutine

private subroutine CALCK0(ARG, RESULT, JINT)



Explanation of machine-dependent constants

beta = Radix for the floating-point system minexp = Smallest representable power of beta maxexp = Smallest power of beta that overflows XSMALL = Argument below which BESK0 and BESEK0 may each be represented by a constant and a log. largest X such that 1.0 + X = 1.0 to machine precision. XINF = Largest positive machine number; approximately betamaxexp XMAX = Largest argument acceptable to BESK0; Solution to equation: W(X) * (1-1/8X+9/128X2) = beta*minexp where W(X) = EXP(-X)SQRT(PI/2X)

 Approximate values for some important machines are:


                       beta       minexp       maxexp

CRAY-1 (S.P.) 2 -8193 8191 Cyber 180/185 under NOS (S.P.) 2 -975 1070 IEEE (IBM/XT, SUN, etc.) (S.P.) 2 -126 128 IEEE (IBM/XT, SUN, etc.) (D.P.) 2 -1022 1024 IBM 3033 (D.P.) 16 -65 63 VAX D-Format (D.P.) 2 -128 127 VAX G-Format (D.P.) 2 -1024 1023

                      XSMALL       XINF         XMAX

CRAY-1 (S.P.) 3.55E-15 5.45E+2465 5674.858 Cyber 180/855 under NOS (S.P.) 1.77E-15 1.26E+322 672.788 IEEE (IBM/XT, SUN, etc.) (S.P.) 5.95E-8 3.40E+38 85.337 IEEE (IBM/XT, SUN, etc.) (D.P.) 1.11D-16 1.79D+308 705.342 IBM 3033 (D.P.) 1.11D-16 7.23D+75 177.852 VAX D-Format (D.P.) 6.95D-18 1.70D+38 86.715 VAX G-Format (D.P.) 5.55D-17 8.98D+307 706.728



Error returns

The program returns the value XINF for ARG .LE. 0.0, and the BESK0 entry returns the value 0.0 for ARG .GT. XMAX.

Intrinsic functions required are:

 EXP, LOG, SQRT

Latest modification: March 19, 1990

Authors: W. J. Cody and Laura Stoltz Mathematics and Computer Science Division Argonne National Laboratory Argonne, IL 60439


Arguments

Type IntentOptional AttributesName
double precision :: ARG
double precision :: RESULT
integer :: JINT

Called by

proc~~calck0~~CalledByGraph proc~calck0 CALCK0 proc~besk0 BESK0 proc~besk0->proc~calck0 proc~besek0 BESEK0 proc~besek0->proc~calck0

Contents

None