comparison libcruft/specfun/rjbesl.f @ 3118:74cc8e2fe2c0

[project @ 1997-11-29 19:47:53 by jwe]
author jwe
date Sat, 29 Nov 1997 19:47:53 +0000
parents f735f3ea1ee7
children f3e1da120048
comparison
equal deleted inserted replaced
3117:f735f3ea1ee7 3118:74cc8e2fe2c0
153 C TWOPI1 - first few significant digits of 2 * PI 153 C TWOPI1 - first few significant digits of 2 * PI
154 C TWOPI2 - (2*PI - TWOPI) to working precision, i.e., 154 C TWOPI2 - (2*PI - TWOPI) to working precision, i.e.,
155 C TWOPI1 + TWOPI2 = 2 * PI to extra precision. 155 C TWOPI1 + TWOPI2 = 2 * PI to extra precision.
156 C--------------------------------------------------------------------- 156 C---------------------------------------------------------------------
157 PARAMETER (PI2 = 0.636619772367581343075535D0) 157 PARAMETER (PI2 = 0.636619772367581343075535D0)
158 PARAMETER (TWOPI1 = 6.28125D0, 158 PARAMETER (TWOPI1 = 6.28125D0)
159 PARAMETER (TWOPI2 = 1.935307179586476925286767D-3) 159 PARAMETER (TWOPI2 = 1.935307179586476925286767D-3)
160 PARAMETER (ZERO = 0.0D0, EIGHTH = 0.125D0, HALF = 0.5D0) 160 PARAMETER (ZERO = 0.0D0, EIGHTH = 0.125D0, HALF = 0.5D0)
161 PARAMETER (ONE = 1.0D0, TWO = 2.0D0, THREE = 3.0D0) 161 PARAMETER (ONE = 1.0D0, TWO = 2.0D0, THREE = 3.0D0)
162 PARAMETER (FOUR = 4.0D0, TWOFIV = 2.5D1, ONE30 = 1.3D2) 162 PARAMETER (FOUR = 4.0D0, TWOFIV = 2.5D1, ONE30 = 1.3D2)
163 PARAMETER (THREE5 = 3.5D1) 163 PARAMETER (THREE5 = 3.5D1)
169 2 8.71782912D10,1.307674368D12,2.0922789888D13,3.55687428096D14, 169 2 8.71782912D10,1.307674368D12,2.0922789888D13,3.55687428096D14,
170 3 6.402373705728D15,1.21645100408832D17,2.43290200817664D18, 170 3 6.402373705728D15,1.21645100408832D17,2.43290200817664D18,
171 4 5.109094217170944D19,1.12400072777760768D21, 171 4 5.109094217170944D19,1.12400072777760768D21,
172 5 2.585201673888497664D22,6.2044840173323943936D23/ 172 5 2.585201673888497664D22,6.2044840173323943936D23/
173 C--------------------------------------------------------------------- 173 C---------------------------------------------------------------------
174 DATA FIRST /.TRUE./
175 C---------------------------------------------------------------------
176 C Statement functions for conversion and the gamma function.
177 C---------------------------------------------------------------------
178 CONV(I) = DBLE(I)
179 FUNC(X) = DGAMMA(X)
180 C---------------------------------------------------------------------
174 C Machine-dependent parameters 181 C Machine-dependent parameters
175 C--------------------------------------------------------------------- 182 C---------------------------------------------------------------------
176 DATA FIRST /.TRUE./
177 IF (FIRST) THEN 183 IF (FIRST) THEN
178 NSIG = NINT (-LOG (D1MACH (1))) 184 NSIG = NINT (-LOG (D1MACH (1)))
179 ENTEN = 1.0D1 ** (INT (LOG10 (D1MACH (2))) 185 ENTEN = 1.0D1 ** (INT (LOG10 (D1MACH (2))))
180 ENSIG = 1.0D1 ** NSIG 186 ENSIG = 1.0D1 ** NSIG
181 RTNSIG = 1.0D1 ** (-NINT (NSIG / 4.0)) 187 RTNSIG = 1.0D1 ** (-NINT (NSIG / 4.0))
182 ENMTEN = 4.0D0 * D1MACH (1) 188 ENMTEN = 4.0D0 * D1MACH (1)
183 XLARGE = 1.0D4 189 XLARGE = 1.0D4
184 FIRST = .FALSE. 190 FIRST = .FALSE.
185 ENDIF 191 ENDIF
186 C---------------------------------------------------------------------
187 C Statement functions for conversion and the gamma function.
188 C---------------------------------------------------------------------
189 CONV(I) = DBLE(I)
190 FUNC(X) = DGAMMA(X)
191 C--------------------------------------------------------------------- 192 C---------------------------------------------------------------------
192 C Check for out of range arguments. 193 C Check for out of range arguments.
193 C--------------------------------------------------------------------- 194 C---------------------------------------------------------------------
194 MAGX = INT(X) 195 MAGX = INT(X)
195 IF ((NB.GT.0) .AND. (X.GE.ZERO) .AND. (X.LE.XLARGE) 196 IF ((NB.GT.0) .AND. (X.GE.ZERO) .AND. (X.LE.XLARGE)