2
SUBROUTINE CS1S2 (ZR, S1, S2, NZ, ASCLE, ALIM, IUF)
3
C***BEGIN PROLOGUE CS1S2
5
C***PURPOSE Subsidiary to CAIRY and CBESK
7
C***TYPE ALL (CS1S2-A, ZS1S2-A)
8
C***AUTHOR Amos, D. E., (SNL)
11
C CS1S2 TESTS FOR A POSSIBLE UNDERFLOW RESULTING FROM THE
12
C ADDITION OF THE I AND K FUNCTIONS IN THE ANALYTIC CON-
13
C TINUATION FORMULA WHERE S1=K FUNCTION AND S2=I FUNCTION.
14
C ON KODE=1 THE I AND K FUNCTIONS ARE DIFFERENT ORDERS OF
15
C MAGNITUDE, BUT FOR KODE=2 THEY CAN BE OF THE SAME ORDER
16
C OF MAGNITUDE AND THE MAXIMUM MUST BE AT LEAST ONE
17
C PRECISION ABOVE THE UNDERFLOW LIMIT.
19
C***SEE ALSO CAIRY, CBESK
20
C***ROUTINES CALLED (NONE)
21
C***REVISION HISTORY (YYMMDD)
23
C 910415 Prologue converted to Version 4.0 format. (BAB)
24
C***END PROLOGUE CS1S2
25
COMPLEX CZERO, C1, S1, S1D, S2, ZR
26
REAL AA, ALIM, ALN, ASCLE, AS1, AS2, XX
28
DATA CZERO / (0.0E0,0.0E0) /
29
C***FIRST EXECUTABLE STATEMENT CS1S2
35
IF (AA.EQ.0.0E0 .AND. ALN.EQ.0.0E0) GO TO 10
36
IF (AS1.EQ.0.0E0) GO TO 10
38
ALN = -XX - XX + ALOG(AS1)
42
IF (ALN.LT.(-ALIM)) GO TO 10
43
C1 = CLOG(S1D) - ZR - ZR
49
IF (AA.GT.ASCLE) RETURN