[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
besselj bug @cygwin32
From: |
John W. Eaton |
Subject: |
besselj bug @cygwin32 |
Date: |
Thu, 19 Feb 1998 20:58:54 -0600 |
On 19-Feb-1998, Rolf Fabian <address@hidden> wrote:
| BUG-REPORT for platform
| cygwin32-octave2.0.10-binary downloaded 980217 from your server)
|
| besselj(N,x) - function, now implemented in 2.0.10
| produces OVERALL GARBAGE even for the most simple 'besselj(0,x)'
Yikes! You are quite right. The patch below should fix the problem.
I will be making another release in a few days to fix this and a few
other problems with 2.0.10.
Thanks,
jwe
--- libcruft/specfun/ribesl.f~ Sun Nov 30 03:37:59 1997
+++ libcruft/specfun/ribesl.f Thu Feb 19 20:25:31 1998
@@ -169,7 +169,7 @@
C-------------------------------------------------------------------
LOGICAL FIRST
INTEGER IZE,K,L,MAGX,N,NB,NBMX,NCALC,NEND,NSIG,NSTART
- DOUBLE PRECISION DGAMMA, D1MACH
+ DOUBLE PRECISION DGAMMA, D1MACH,
1 ALPHA,B,CONST,CONV,EM,EMPAL,EMP2AL,EN,ENMTEN,ENSIG,
2 ENTEN,EXPARG,FUNC,HALF,HALFX,ONE,P,PLAST,POLD,PSAVE,PSAVEL,
3 RTNSIG,SUM,TEMPA,TEMPB,TEMPC,TEST,TOVER,TWO,X,XLARGE,ZERO
@@ -192,7 +192,7 @@
C Machine-dependent parameters
C-------------------------------------------------------------------
IF (FIRST) THEN
- NSIG = NINT (-LOG (D1MACH (1)))
+ NSIG = NINT (-LOG (D1MACH (4)))
ENTEN = 1.0D1 ** (INT (LOG10 (D1MACH (2))))
ENSIG = 1.0D1 ** NSIG
RTNSIG = 1.0D1 ** (-NINT (NSIG / 4.0))
--- libcruft/specfun/rjbesl.f~ Sun Nov 30 03:37:59 1997
+++ libcruft/specfun/rjbesl.f Thu Feb 19 20:47:16 1998
@@ -139,7 +139,7 @@
C---------------------------------------------------------------------
LOGICAL FIRST
INTEGER I,J,K,L,M,MAGX,N,NB,NBMX,NCALC,NEND,NSIG,NSTART
- DOUBLE PRECISION DGAMMA, D1MACH
+ DOUBLE PRECISION DGAMMA, D1MACH,
1 ALPHA,ALPEM,ALP2EM,B,CAPP,CAPQ,CONV,EIGHTH,EM,EN,ENMTEN,ENSIG,
2 ENTEN,FACT,FOUR,FUNC,GNU,HALF,HALFX,ONE,ONE30,P,PI2,PLAST,
3 POLD,PSAVE,PSAVEL,RTNSIG,S,SUM,T,T1,TEMPA,TEMPB,TEMPC,TEST,
@@ -183,7 +183,7 @@
C Machine-dependent parameters
C---------------------------------------------------------------------
IF (FIRST) THEN
- NSIG = NINT (-LOG (D1MACH (1)))
+ NSIG = NINT (-LOG (D1MACH (4)))
ENTEN = 1.0D1 ** (INT (LOG10 (D1MACH (2))))
ENSIG = 1.0D1 ** NSIG
RTNSIG = 1.0D1 ** (-NINT (NSIG / 4.0))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- besselj bug @cygwin32,
John W. Eaton <=