bin/144306: Nasty bug in jn(3)

Steven G. Kargl kargl at troutmask.apl.washington.edu
Fri Feb 26 05:32:50 UTC 2010


A better patch:

Index: src/e_jnf.c
===================================================================
--- src/e_jnf.c	(revision 204219)
+++ src/e_jnf.c	(working copy)
@@ -153,6 +153,12 @@
 	     	    }
 		}
 	    	b = (t*__ieee754_j0f(x)/b);
+		z = __ieee754_j0f(x);
+		w = __ieee754_j1f(x);
+		if (fabsf(z) >= fabsf(w))
+			b = (t * z) / b;
+		else
+			b = (t * w) / a;
 	    }
 	}
 	if(sgn==1) return -b; else return b;
Index: src/e_jn.c
===================================================================
--- src/e_jn.c	(revision 204219)
+++ src/e_jn.c	(working copy)
@@ -200,7 +200,12 @@
 			}
 	     	    }
 		}
-	    	b = (t*__ieee754_j0(x)/b);
+		z = __ieee754_j0(x);
+		w = __ieee754_j1(x);
+		if (fabs(z) >= fabs(w))
+			b = t * z / b;
+		else
+			b = t * w / a;		
 	    }
 	}
 	if(sgn==1) return -b; else return b;

-- 
Steve
http://troutmask.apl.washington.edu/~kargl/


More information about the freebsd-bugs mailing list