Trailing-Edge
-
PDP-10 Archives
-
decuslib20-02
-
decus/20-0026/sici.ssp
There are 2 other files named sici.ssp in the archive. Click here to see a list.
C SICI 10
C ..................................................................SICI 20
C SICI 30
C SUBROUTINE SICI SICI 40
C SICI 50
C PURPOSE SICI 60
C COMPUTES THE SINE AND COSINE INTEGRAL SICI 70
C SICI 80
C USAGE SICI 90
C CALL SICI(SI,CI,X) SICI 100
C SICI 110
C DESCRIPTION OF PARAMETERS SICI 120
C SI - THE RESULTANT VALUE SI(X) SICI 130
C CI - THE RESULTANT VALUE CI(X) SICI 140
C X - THE ARGUMENT OF SI(X) AND CI(X) SICI 150
C SICI 160
C REMARKS SICI 170
C THE ARGUMENT VALUE REMAINS UNCHANGED SICI 180
C SICI 190
C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED SICI 200
C NONE SICI 210
C SICI 220
C METHOD SICI 230
C DEFINITION SICI 240
C SI(X)=INTEGRAL(SIN(T)/T) SICI 250
C CI(X)=INTEGRAL(COS(T)/T) SICI 260
C EVALUATION SICI 270
C REDUCTION OF RANGE USING SYMMETRY. SICI 280
C DIFFERENT APPROXIMATIONS ARE USED FOR ABS(X) GREATER SICI 290
C THAN 4 AND FOR ABS(X) LESS THAN 4. SICI 300
C REFERENCE SICI 310
C LUKE AND WIMP, 'POLYNOMIAL APPROXIMATIONS TO INTEGRAL SICI 320
C TRANSFORMS', MATHEMATICAL TABLES AND OTHER AIDS TO SICI 330
C COMPUTATION, VOL. 15, 1961, ISSUE 74, PP. 174-178. SICI 340
C SICI 350
C ..................................................................SICI 360
C SICI 370
SUBROUTINE SICI(SI,CI,X) SICI 380
Z=ABS(X) SICI 390
IF(Z-4.)1,1,4 SICI 400
1 Y=(4.-Z)*(4.+Z) SICI 410
SI=-1.570797E0 SICI 420
IF(Z)3,2,3 SICI 430
2 CI=-1.7E38 SICI 440
RETURN SICI 450
3 SI=X*(((((1.753141E-9*Y+1.568988E-7)*Y+1.374168E-5)*Y+6.939889E-4)SICI 460
1*Y+1.964882E-2)*Y+4.395509E-1+SI/X) SICI 470
CI=((5.772156E-1+ALOG(Z))/Z-Z*(((((1.386985E-10*Y+1.584996E-8)*Y SICI 480
1+1.725752E-6)*Y+1.185999E-4)*Y+4.990920E-3)*Y+1.315308E-1))*Z SICI 490
RETURN SICI 500
4 SI=SIN(Z) SICI 510
Y=COS(Z) SICI 520
Z=4./Z SICI 530
U=((((((((4.048069E-3*Z-2.279143E-2)*Z+5.515070E-2)*Z-7.261642E-2)SICI 540
1*Z+4.987716E-2)*Z-3.332519E-3)*Z-2.314617E-2)*Z-1.134958E-5)*Z SICI 550
2+6.250011E-2)*Z+2.583989E-10 SICI 560
V=(((((((((-5.108699E-3*Z+2.819179E-2)*Z-6.537283E-2)*Z SICI 570
1+7.902034E-2)*Z-4.400416E-2)*Z-7.945556E-3)*Z+2.601293E-2)*Z SICI 580
2-3.764000E-4)*Z-3.122418E-2)*Z-6.646441E-7)*Z+2.500000E-1 SICI 590
CI=Z*(SI*V-Y*U) SICI 600
SI=-Z*(SI*U+Y*V) SICI 610
IF(X)5,6,6 SICI 620
5 SI=3.141593E0-SI SICI 630
6 RETURN SICI 640
END SICI 650