On Fri, Feb 7, 2014 at 4:03 PM, David Coppa <dco...@gmail.com> wrote: > On Fri, Feb 7, 2014 at 3:49 PM, Mark Kettenis <mark.kette...@xs4all.nl> wrote: >>> Date: Thu, 6 Feb 2014 23:07:58 -0800 >>> From: Martynas Venckus <marty...@venck.us> >>> >>> Yup. Does this diff fix it for you? >> >> Here's a diff that sticks a bit closer to the original code. It's >> equivalent to your diff, and admittedly purely a matter of taste which >> version to prefer. >> >> Index: s_floorl.c >> =================================================================== >> RCS file: /home/cvs/src/lib/libm/src/ld80/s_floorl.c,v >> retrieving revision 1.2 >> diff -u -p -r1.2 s_floorl.c >> --- s_floorl.c 25 Jul 2011 16:20:09 -0000 1.2 >> +++ s_floorl.c 7 Feb 2014 14:43:19 -0000 >> @@ -38,7 +38,7 @@ floorl(long double x) >> if(huge+x>0.0) {/* return 0*sign(x) if |x|<1 */ >> if(sx==0) {se=0;i0=i1=0;} >> else if(((se&0x7fff)|i0|i1)!=0) >> - { se=0xbfff;i0=i1=0;} >> + { se=0xbfff;i0=0x80000000;i1=0;} >> } >> } else { >> i = (0x7fffffff)>>jj0; >> > > Just tested, and this one works too, of course... > > I'd be happy if this or the other one could be committed.
Ping