Trailing-Edge
-
PDP-10 Archives
-
decuslib10-02
-
43,50145/cs.ssp
There are 2 other files named cs.ssp in the archive. Click here to see a list.
C CS 10
C ..................................................................CS 20
C CS 30
C SUBROUTINE CS CS 40
C CS 50
C PURPOSE CS 60
C COMPUTES THE FRESNEL INTEGRALS. CS 70
C CS 80
C USAGE CS 90
C CALL CS (C,S,X) CS 100
C CS 110
C DESCRIPTION OF PARAMETERS CS 120
C C - THE RESULTANT VALUE C(X). CS 130
C S - THE RESULTANT VALUE S(X). CS 140
C X - THE ARGUMENT OF FRESNEL INTEGRALS CS 150
C IF X IS NEGATIVE, THE ABSOLUTE VALUE IS USED. CS 160
C CS 170
C REMARKS CS 180
C THE ARGUMENT VALUE X REMAINS UNCHANGED. CS 190
C CS 200
C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED CS 210
C NONE CS 220
C CS 230
C METHOD CS 240
C DEFINITION CS 250
C C(X)=INTEGRAL(COS(T)/SQRT(2*LI*T) SUMMED OVER T FROM 0 TO X)CS 260
C S(X)=INTEGRAL(SIN(T)/SQRT(I*LI*T) SUMMED OVER T FROM 0 TO X)CS 270
C EVALUATION CS 280
C USING DIFFERENT APPROXIMATIONS FOR X LESS THAN 4 AND X CS 290
C GREATER THAN 4. CS 300
C REFERENCE CS 310
C 'COMPUTATION OF FRESNEL INTEGRALS' BY BOERSMA, CS 320
C MATHEMATICAL TABLES AND OTHER AIDS TO COMPUTATION, VOL. 14, CS 330
C 1960, NO. 72, P. 380. CS 340
C CS 350
C ..................................................................CS 360
C CS 370
SUBROUTINE CS(C,S,X) CS 380
Z=ABS(X) CS 390
IF(Z-4.)1,1,2 CS 400
1 C=SQRT(Z) CS 410
S=Z*C CS 420
Z=(4.-Z)*(4.+Z) CS 430
C=C*((((((5.100785E-11*Z+5.244297E-9)*Z+5.451182E-7)*Z CS 440
1+3.273308E-5)*Z+1.020418E-3)*Z+1.102544E-2)*Z+1.840965E-1) CS 450
S=S*(((((6.677681E-10*Z+5.883158E-8)*Z+5.051141E-6)*Z CS 460
1+2.441816E-4)*Z+6.121320E-3)*Z+8.026490E-2) CS 470
RETURN CS 480
2 D=COS(Z) CS 490
S=SIN(Z) CS 500
Z=4./Z CS 510
A=(((((((8.768258E-4*Z-4.169289E-3)*Z+7.970943E-3)*Z-6.792801E-3) CS 520
1*Z-3.095341E-4)*Z+5.972151E-3)*Z-1.606428E-5)*Z-2.493322E-2)*Z CS 530
2-4.444091E-9 CS 540
B=((((((-6.633926E-4*Z+3.401409E-3)*Z-7.271690E-3)*Z+7.428246E-3) CS 550
1*Z-4.027145E-4)*Z-9.314910E-3)*Z-1.207998E-6)*Z+1.994711E-1 CS 560
Z=SQRT(Z) CS 570
C=0.5+Z*(D*A+S*B) CS 580
S=0.5+Z*(S*A-D*B) CS 590
RETURN CS 600
END CS 610