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/7/lib/msun/src/e_jn.c
  stable/7/lib/msun/src/e_jnf.c
Directory Properties:
  stable/7/lib/msun/   (props changed)

Changes in other areas also in this revision:
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)

Modified: stable/7/lib/msun/src/e_jn.c
==============================================================================
--- stable/7/lib/msun/src/e_jn.c        Tue Nov 23 18:47:43 2010        
(r215756)
+++ stable/7/lib/msun/src/e_jn.c        Tue Nov 23 18:48:57 2010        
(r215757)
@@ -201,7 +201,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/7/lib/msun/src/e_jnf.c
==============================================================================
--- stable/7/lib/msun/src/e_jnf.c       Tue Nov 23 18:47:43 2010        
(r215756)
+++ stable/7/lib/msun/src/e_jnf.c       Tue Nov 23 18:48:57 2010        
(r215757)
@@ -154,7 +154,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;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to