svn commit: r215757 - in stable: 7/lib/msun/src 8/lib/msun/src

Ulrich Spoerlein uqs at FreeBSD.org
Tue Nov 23 18:48:57 UTC 2010


Author: uqs
Date: Tue Nov 23 18:48:57 2010
New Revision: 215757
URL: http://svn.freebsd.org/changeset/base/215757

Log:
  MFC r215237: Fix bug in jn(3) and jnf(3) that led to -inf results

Modified:
  stable/8/lib/msun/src/e_jn.c
  stable/8/lib/msun/src/e_jnf.c
Directory Properties:
  stable/8/lib/msun/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/7/lib/msun/src/e_jn.c
  stable/7/lib/msun/src/e_jnf.c
Directory Properties:
  stable/7/lib/msun/   (props changed)

Modified: stable/8/lib/msun/src/e_jn.c
==============================================================================
--- stable/8/lib/msun/src/e_jn.c	Tue Nov 23 18:47:43 2010	(r215756)
+++ stable/8/lib/msun/src/e_jn.c	Tue Nov 23 18:48:57 2010	(r215757)
@@ -200,7 +200,12 @@ __ieee754_jn(int n, double x)
 			}
 	     	    }
 		}
-	    	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;

Modified: stable/8/lib/msun/src/e_jnf.c
==============================================================================
--- stable/8/lib/msun/src/e_jnf.c	Tue Nov 23 18:47:43 2010	(r215756)
+++ stable/8/lib/msun/src/e_jnf.c	Tue Nov 23 18:48:57 2010	(r215757)
@@ -152,7 +152,12 @@ __ieee754_jnf(int n, float x)
 			}
 	     	    }
 		}
-	    	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;


More information about the svn-src-stable-8 mailing list