Blame view

fvn_fnlib/r9aimp.f 9.45 KB
38581db0c   daniau   git-svn-id: https...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
        subroutine r9aimp (x, ampl, theta)
  c july 1977 edition.  w. fullerton, c3, los alamos scientific lab.
  c
  c evaluate the airy modulus and phase for x .le. -1.0
  c
        dimension am21cs(40), ath1cs(36), am22cs(33), ath2cs(32)
        external csevl, inits, r1mach
  c
  c series for am21       on the interval -1.25000d-01 to  0.
  c                                        with weighted error   2.89e-17
  c                                         log weighted error  16.54
  c                               significant figures required  14.15
  c                                    decimal places required  17.34
  c
        data am21cs( 1) /    .0065809191 761485e0 /
        data am21cs( 2) /    .0023675984 685722e0 /
        data am21cs( 3) /    .0001324741 670371e0 /
        data am21cs( 4) /    .0000157600 904043e0 /
        data am21cs( 5) /    .0000027529 702663e0 /
        data am21cs( 6) /    .0000006102 679017e0 /
        data am21cs( 7) /    .0000001595 088468e0 /
        data am21cs( 8) /    .0000000471 033947e0 /
        data am21cs( 9) /    .0000000152 933871e0 /
        data am21cs(10) /    .0000000053 590722e0 /
        data am21cs(11) /    .0000000020 000910e0 /
        data am21cs(12) /    .0000000007 872292e0 /
        data am21cs(13) /    .0000000003 243103e0 /
        data am21cs(14) /    .0000000001 390106e0 /
        data am21cs(15) /    .0000000000 617011e0 /
        data am21cs(16) /    .0000000000 282491e0 /
        data am21cs(17) /    .0000000000 132979e0 /
        data am21cs(18) /    .0000000000 064188e0 /
        data am21cs(19) /    .0000000000 031697e0 /
        data am21cs(20) /    .0000000000 015981e0 /
        data am21cs(21) /    .0000000000 008213e0 /
        data am21cs(22) /    .0000000000 004296e0 /
        data am21cs(23) /    .0000000000 002284e0 /
        data am21cs(24) /    .0000000000 001232e0 /
        data am21cs(25) /    .0000000000 000675e0 /
        data am21cs(26) /    .0000000000 000374e0 /
        data am21cs(27) /    .0000000000 000210e0 /
        data am21cs(28) /    .0000000000 000119e0 /
        data am21cs(29) /    .0000000000 000068e0 /
        data am21cs(30) /    .0000000000 000039e0 /
        data am21cs(31) /    .0000000000 000023e0 /
        data am21cs(32) /    .0000000000 000013e0 /
        data am21cs(33) /    .0000000000 000008e0 /
        data am21cs(34) /    .0000000000 000005e0 /
        data am21cs(35) /    .0000000000 000003e0 /
        data am21cs(36) /    .0000000000 000001e0 /
        data am21cs(37) /    .0000000000 000001e0 /
        data am21cs(38) /    .0000000000 000000e0 /
        data am21cs(39) /    .0000000000 000000e0 /
        data am21cs(40) /    .0000000000 000000e0 /
  c
  c series for ath1       on the interval -1.25000d-01 to  0.
  c                                        with weighted error   2.53e-17
  c                                         log weighted error  16.60
  c                               significant figures required  15.15
  c                                    decimal places required  17.38
  c
        data ath1cs( 1) /   -.0712583781 5669365e0 /
        data ath1cs( 2) /   -.0059047197 9831451e0 /
        data ath1cs( 3) /   -.0001211454 4069499e0 /
        data ath1cs( 4) /   -.0000098860 8542270e0 /
        data ath1cs( 5) /   -.0000013808 4097352e0 /
        data ath1cs( 6) /   -.0000002614 2640172e0 /
        data ath1cs( 7) /   -.0000000605 0432589e0 /
        data ath1cs( 8) /   -.0000000161 8436223e0 /
        data ath1cs( 9) /   -.0000000048 3464911e0 /
        data ath1cs(10) /   -.0000000015 7655272e0 /
        data ath1cs(11) /   -.0000000005 5231518e0 /
        data ath1cs(12) /   -.0000000002 0545441e0 /
        data ath1cs(13) /   -.0000000000 8043412e0 /
        data ath1cs(14) /   -.0000000000 3291252e0 /
        data ath1cs(15) /   -.0000000000 1399875e0 /
        data ath1cs(16) /   -.0000000000 0616151e0 /
        data ath1cs(17) /   -.0000000000 0279614e0 /
        data ath1cs(18) /   -.0000000000 0130428e0 /
        data ath1cs(19) /   -.0000000000 0062373e0 /
        data ath1cs(20) /   -.0000000000 0030512e0 /
        data ath1cs(21) /   -.0000000000 0015239e0 /
        data ath1cs(22) /   -.0000000000 0007758e0 /
        data ath1cs(23) /   -.0000000000 0004020e0 /
        data ath1cs(24) /   -.0000000000 0002117e0 /
        data ath1cs(25) /   -.0000000000 0001132e0 /
        data ath1cs(26) /   -.0000000000 0000614e0 /
        data ath1cs(27) /   -.0000000000 0000337e0 /
        data ath1cs(28) /   -.0000000000 0000188e0 /
        data ath1cs(29) /   -.0000000000 0000105e0 /
        data ath1cs(30) /   -.0000000000 0000060e0 /
        data ath1cs(31) /   -.0000000000 0000034e0 /
        data ath1cs(32) /   -.0000000000 0000020e0 /
        data ath1cs(33) /   -.0000000000 0000011e0 /
        data ath1cs(34) /   -.0000000000 0000007e0 /
        data ath1cs(35) /   -.0000000000 0000004e0 /
        data ath1cs(36) /   -.0000000000 0000002e0 /
  c
  c series for am22       on the interval -1.00000d+00 to -1.25000d-01
  c                                        with weighted error   2.99e-17
  c                                         log weighted error  16.52
  c                               significant figures required  14.57
  c                                    decimal places required  17.28
  c
        data am22cs( 1) /   -.0156284448 0625341e0 /
        data am22cs( 2) /    .0077833644 5239681e0 /
        data am22cs( 3) /    .0008670577 7047718e0 /
        data am22cs( 4) /    .0001569662 7315611e0 /
        data am22cs( 5) /    .0000356396 2571432e0 /
        data am22cs( 6) /    .0000092459 8335425e0 /
        data am22cs( 7) /    .0000026211 0161850e0 /
        data am22cs( 8) /    .0000007918 8221651e0 /
        data am22cs( 9) /    .0000002510 4152792e0 /
        data am22cs(10) /    .0000000826 5223206e0 /
        data am22cs(11) /    .0000000280 5711662e0 /
        data am22cs(12) /    .0000000097 6821090e0 /
        data am22cs(13) /    .0000000034 7407923e0 /
        data am22cs(14) /    .0000000012 5828132e0 /
        data am22cs(15) /    .0000000004 6298826e0 /
        data am22cs(16) /    .0000000001 7272825e0 /
        data am22cs(17) /    .0000000000 6523192e0 /
        data am22cs(18) /    .0000000000 2490471e0 /
        data am22cs(19) /    .0000000000 0960156e0 /
        data am22cs(20) /    .0000000000 0373448e0 /
        data am22cs(21) /    .0000000000 0146417e0 /
        data am22cs(22) /    .0000000000 0057826e0 /
        data am22cs(23) /    .0000000000 0022991e0 /
        data am22cs(24) /    .0000000000 0009197e0 /
        data am22cs(25) /    .0000000000 0003700e0 /
        data am22cs(26) /    .0000000000 0001496e0 /
        data am22cs(27) /    .0000000000 0000608e0 /
        data am22cs(28) /    .0000000000 0000248e0 /
        data am22cs(29) /    .0000000000 0000101e0 /
        data am22cs(30) /    .0000000000 0000041e0 /
        data am22cs(31) /    .0000000000 0000017e0 /
        data am22cs(32) /    .0000000000 0000007e0 /
        data am22cs(33) /    .0000000000 0000002e0 /
  c
  c series for ath2       on the interval -1.00000d+00 to -1.25000d-01
  c                                        with weighted error   2.57e-17
  c                                         log weighted error  16.59
  c                               significant figures required  15.07
  c                                    decimal places required  17.34
  c
        data ath2cs( 1) /    .0044052734 5871877e0 /
        data ath2cs( 2) /   -.0304291945 2318455e0 /
        data ath2cs( 3) /   -.0013856532 8377179e0 /
        data ath2cs( 4) /   -.0001804443 9089549e0 /
        data ath2cs( 5) /   -.0000338084 7108327e0 /
        data ath2cs( 6) /   -.0000076781 8353522e0 /
        data ath2cs( 7) /   -.0000019678 3944371e0 /
        data ath2cs( 8) /   -.0000005483 7271158e0 /
        data ath2cs( 9) /   -.0000001625 4615505e0 /
        data ath2cs(10) /   -.0000000505 3049981e0 /
        data ath2cs(11) /   -.0000000163 1580701e0 /
        data ath2cs(12) /   -.0000000054 3420411e0 /
        data ath2cs(13) /   -.0000000018 5739855e0 /
        data ath2cs(14) /   -.0000000006 4895120e0 /
        data ath2cs(15) /   -.0000000002 3105948e0 /
        data ath2cs(16) /   -.0000000000 8363282e0 /
        data ath2cs(17) /   -.0000000000 3071196e0 /
        data ath2cs(18) /   -.0000000000 1142367e0 /
        data ath2cs(19) /   -.0000000000 0429811e0 /
        data ath2cs(20) /   -.0000000000 0163389e0 /
        data ath2cs(21) /   -.0000000000 0062693e0 /
        data ath2cs(22) /   -.0000000000 0024260e0 /
        data ath2cs(23) /   -.0000000000 0009461e0 /
        data ath2cs(24) /   -.0000000000 0003716e0 /
        data ath2cs(25) /   -.0000000000 0001469e0 /
        data ath2cs(26) /   -.0000000000 0000584e0 /
        data ath2cs(27) /   -.0000000000 0000233e0 /
        data ath2cs(28) /   -.0000000000 0000093e0 /
        data ath2cs(29) /   -.0000000000 0000037e0 /
        data ath2cs(30) /   -.0000000000 0000015e0 /
        data ath2cs(31) /   -.0000000000 0000006e0 /
        data ath2cs(32) /   -.0000000000 0000002e0 /
  c
        data pi4 / 0.7853981633 9744831 e0 /
        data nam21, nath1, nam22, nath2, xsml / 4*0, 0.0 /
  c
        if (nam21.ne.0) go to 10
        eta = 0.1*r1mach(3)
        nam21 = inits (am21cs, 40, eta)
        nath1 = inits (ath1cs, 36, eta)
        nam22 = inits (am22cs, 33, eta)
        nath2 = inits (ath2cs, 32, eta)
  c
        xsml = -(16.0/r1mach(3))**0.3333
  c
   10   if (x.ge.(-2.0)) go to 20
        z = 1.0
        if (x.gt.xsml) z = 16.0/x**3 + 1.0
        ampl = 0.3125 + csevl(z, am21cs, nam21)
        theta = -0.625 + csevl (z, ath1cs, nath1)
        go to 30
  c
   20   if (x.gt.(-1.0)) call seteru (25hr9aimp  x must be le -1.0, 25, 1,
       1  2)
  c
        z = (16.0/x**3 + 9.0)/7.0
        ampl = 0.3125 + csevl (z, am22cs, nam22)
        theta = -0.625 + csevl (z, ath2cs, nath2)
  c
   30   sqrtx = sqrt(-x)
        ampl = sqrt (ampl/sqrtx)
        theta = pi4 - x*sqrtx * theta
  c
        return
        end