]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.1.1.1 1996/04/01 15:02:43 mclareni | |
6 | * Mathlib gen | |
7 | * | |
8 | * | |
9 | #include "gen/pilot.h" | |
10 | C This will be DIFLAN,IF=DOUBLE and DIFLAN64,IF=-DOUBLE | |
11 | FUNCTION DIFLAN(X) | |
12 | ||
13 | DIMENSION P1(0:4),P2(0:4),P3(0:4),P4(0:4),P5(0:4),P6(0:4),P7(0:5) | |
14 | DIMENSION Q1(0:4),Q2(0:4),Q3(0:4),Q4(0:4),Q5(0:4),Q6(0:4),Q7(0:5) | |
15 | DIMENSION A1(1:6),A2(1:3) | |
16 | ||
17 | DATA (P1(I),I=0,4),(Q1(I),I=0,4) | |
18 | 1/-0.30620 16156E-1,-0.12514 24734E+0,-0.95514 20540E-1, | |
19 | 2 -0.26943 56206E-1,-0.26175 52485E-2, | |
20 | 3 1.0 , 0.11777 46655E+1, 0.61309 93990E+0, | |
21 | 4 0.15727 03422E+0, 0.17262 95027E-1/ | |
22 | ||
23 | DATA (P2(I),I=0,4),(Q2(I),I=0,4) | |
24 | 1/-0.15491 26548E-1,-0.75512 22105E-1,-0.25986 23886E-1, | |
25 | 2 0.54712 70049E-2, 0.21522 70275E-2, | |
26 | 3 1.0 , 0.99974 60723E+0, 0.49882 64176E+0, | |
27 | 4 0.12891 04987E+0, 0.16396 32530E-1/ | |
28 | ||
29 | DATA (P3(I),I=0,4),(Q3(I),I=0,4) | |
30 | 1/-0.15471 35743E-1,-0.73041 84799E-1,-0.15341 51353E-1, | |
31 | 2 0.35687 80079E-2,-0.92961 96751E-4, | |
32 | 3 1.0 , 0.83941 07748E+0, 0.41280 36830E+0, | |
33 | 4 0.10502 22892E+0, 0.17008 94650E-1/ | |
34 | ||
35 | DATA (P4(I),I=0,4),(Q4(I),I=0,4) | |
36 | 1/-0.15462 73317E-1,-0.68561 27408E-1, 0.46112 67324E-2, | |
37 | 2 -0.25499 45537E-3, 0.58761 90635E-5, | |
38 | 3 1.0 , 0.54532 66037E+0, 0.28025 11577E+0, | |
39 | 4 0.47491 21515E-1, 0.10962 78827E-1/ | |
40 | ||
41 | DATA (P5(I),I=0,4),(Q5(I),I=0,4) | |
42 | 1/ 0.86420 27131E-5,-0.74742 91951E-3, 0.29356 78494E-1, | |
43 | 2 -0.27696 95199E+1,-0.77695 42153E+1, | |
44 | 3 1.0 , 0.90003 29289E+0, 0.34619 66768E+2, | |
45 | 4 0.46668 93094E+1, 0.19264 64264E+3/ | |
46 | ||
47 | DATA (P6(I),I=0,4),(Q6(I),I=0,4) | |
48 | 1/-0.20124 96309E+1,-0.27484 32206E+3,-0.57590 40086E+4, | |
49 | 2 -0.16000 68673E+5, 0.53346 52087E+5, | |
50 | 3 1.0 , 0.12295 70501E+3, 0.18746 82285E+4, | |
51 | 4 0.56780 25130E+4, 0.52823 54475E5/ | |
52 | ||
53 | DATA (P7(I),I=0,5),(Q7(I),I=0,5) | |
54 | 1/-0.20015 84932E+1,-0.24074 20185E+4,-0.54566 69704E+6, | |
55 | 2 -0.28170 17048E+8,-0.20643 92982E+9, 0.90496 05994E+9, | |
56 | 3 1.0 , 0.11829 29609E+4, 0.25522 99337E+6, | |
57 | 4 0.11392 05796E+8, 0.39347 02081E+8, 0.21080 69087E+9/ | |
58 | ||
59 | DATA (A1(I),I=1,6) | |
60 | 1/-0.45833 33333E+0, 0.86805 55556E-3,-0.28525 27006E-2, | |
61 | 2 0.53868 92562E-2,-0.14312 07031E-1, 0.50629 96176E-1/ | |
62 | ||
63 | DATA (A2(I),I=1,3) | |
64 | 1/-0.75367 06011E+1,-0.96018 56962E+1, 0.17146 15239E+3/ | |
65 | ||
66 | V=X | |
67 | IF(V .LT. -2.6) THEN | |
68 | U=EXP(V+1) | |
69 | DIFLAN=0.3989422803*(EXP(-1/U)/U**1.5)* | |
70 | 1 (1+(A1(1)+(A1(2)+(A1(3)+(A1(4)+(A1(5)+A1(6)*U)*U)*U)*U)*U)*U) | |
71 | ELSEIF(V .LT. -1.75) THEN | |
72 | DIFLAN=(P1(0)+(P1(1)+(P1(2)+(P1(3)+P1(4)*V)*V)*V)*V)/ | |
73 | 1 (Q1(0)+(Q1(1)+(Q1(2)+(Q1(3)+Q1(4)*V)*V)*V)*V) | |
74 | ELSEIF(V .LT. -1.25) THEN | |
75 | DIFLAN=(P2(0)+(P2(1)+(P2(2)+(P2(3)+P2(4)*V)*V)*V)*V)/ | |
76 | 1 (Q2(0)+(Q2(1)+(Q2(2)+(Q2(3)+Q2(4)*V)*V)*V)*V) | |
77 | ELSEIF(V .LT. 0.5) THEN | |
78 | DIFLAN=(P3(0)+(P3(1)+(P3(2)+(P3(3)+P3(4)*V)*V)*V)*V)/ | |
79 | 1 (Q3(0)+(Q3(1)+(Q3(2)+(Q3(3)+Q3(4)*V)*V)*V)*V) | |
80 | ELSEIF(V .LT. 5) THEN | |
81 | DIFLAN=(P4(0)+(P4(1)+(P4(2)+(P4(3)+P4(4)*V)*V)*V)*V)/ | |
82 | 1 (Q4(0)+(Q4(1)+(Q4(2)+(Q4(3)+Q4(4)*V)*V)*V)*V) | |
83 | ELSEIF(V .LT. 15) THEN | |
84 | U=1/V | |
85 | DIFLAN=(P5(0)+(P5(1)+(P5(2)+(P5(3)+P5(4)*U)*U)*U)*U)/ | |
86 | 1 (Q5(0)+(Q5(1)+(Q5(2)+(Q5(3)+Q5(4)*U)*U)*U)*U) | |
87 | ELSEIF(V .LT. 50) THEN | |
88 | U=1/V | |
89 | DIFLAN=U**3*(P6(0)+(P6(1)+(P6(2)+(P6(3)+P6(4)*U)*U)*U)*U)/ | |
90 | 1 (Q6(0)+(Q6(1)+(Q6(2)+(Q6(3)+Q6(4)*U)*U)*U)*U) | |
91 | ELSEIF(V .LT. 300) THEN | |
92 | U=1/V | |
93 | DIFLAN=U**3* | |
94 | 1 (P7(0)+(P7(1)+(P7(2)+(P7(3)+(P7(4)+P7(5)*U)*U)*U)*U)*U)/ | |
95 | 2 (Q7(0)+(Q7(1)+(Q7(2)+(Q7(3)+(Q7(4)+Q7(5)*U)*U)*U)*U)*U) | |
96 | ELSE | |
97 | U=V-V*LOG(V)/(V+1) | |
98 | U=1/(U-U*(U+LOG(U)-V)/(U+1)) | |
99 | DIFLAN=-U**3*(2.0+(A2(1)+(A2(2)+A2(3)*U)*U)*U) | |
100 | ENDIF | |
101 | RETURN | |
102 | END |