From help-octave-request at bevo dot che dot wisc dot edu Thu Feb 19 20:58:13 1998 Subject: besselj bug at cygwin32 From: "John W. Eaton" To: fabian at olymp dot Umwelt dot TU-Cottbus dot de (Rolf Fabian) Cc: bug-octave at bevo dot che dot wisc dot edu, help-octave@bevo.che.wisc.edu Date: Thu, 19 Feb 1998 20:58:54 -0600 On 19-Feb-1998, Rolf Fabian 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 at @ -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 at @ -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 at @ -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, at @ -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))