CALCK1 Subroutine

private subroutine CALCK1(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 XLEAST = Smallest acceptable argument, i.e., smallest machine number X such that 1/X is machine representable. XSMALL = Argument below which BESK1(X) and BESEK1(X) may each be represented by 1/X. A safe value is the largest X such that 1.0 + X = 1.0 to machine precision. XINF = Largest positive machine number; approximately betamaxexp XMAX = Largest argument acceptable to BESK1; Solution to equation:
W(X) * (1+3/8X-15/128X
2) = 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

                     XLEAST     XSMALL      XINF       XMAX

CRAY-1 1.84E-2466 3.55E-15 5.45E+2465 5674.858 Cyber 180/855 under NOS (S.P.) 3.14E-294 1.77E-15 1.26E+322 672.789 IEEE (IBM/XT, SUN, etc.) (S.P.) 1.18E-38 5.95E-8 3.40E+38 85.343 IEEE (IBM/XT, SUN, etc.) (D.P.) 2.23D-308 1.11D-16 1.79D+308 705.343 IBM 3033 (D.P.) 1.39D-76 1.11D-16 7.23D+75 177.855 VAX D-Format (D.P.) 5.88D-39 6.95D-18 1.70D+38 86.721 VAX G-Format (D.P.) 1.12D-308 5.55D-17 8.98D+307 706.728



Error returns

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

Intrinsic functions required are:

 LOG, SQRT, EXP

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

Latest modification: January 28, 1988


Arguments

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

Called by

proc~~calck1~~CalledByGraph proc~calck1 CALCK1 proc~besk1 BESK1 proc~besk1->proc~calck1 proc~besek1 BESEK1 proc~besek1->proc~calck1

Contents

None