Mercurial > hg > octave-lyh
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) |