From: Sam S. <sd...@gn...> - 2002-02-11 20:16:10
|
> * In message <3C6...@us...> > * On the subject of "[clisp-list] *-float-*-epsilon in clisp" > * Sent on Sun, 10 Feb 2002 15:14:42 +0100 > * Honorable Stefan Kain <sm...@us...> writes: > > I get discrepancies for the double-float-*-epsilon values > on my machine. this is specific to linux on i386 (the fpu uses 80 bit floats). apply the appended patch and rebuild _both_ lisp.run and lispinit.mem please report your experiences -- Sam Steingold (http://www.podval.org/~sds) running RedHat7.2 GNU/Linux Keep Jerusalem united! <http://www.onejerusalem.org/Petition.asp> Read, think and remember! <http://www.iris.org.il> <http://www.memri.org/> The early worm gets caught by the bird. --- lisparit.d.~1.30.~ Mon Nov 19 18:49:08 2001 +++ lisparit.d Mon Feb 11 15:07:07 2002 @@ -2253,6 +2253,8 @@ var object obj; #ifdef intQsize encode_DF(0,-DF_mant_len,bit(DF_mant_len)+1, obj=); + #elif (defined(unix) && defined(linux) && defined(i386)) + encode2_DF(0,-DF_mant_len,bit(DF_mant_len-32)|bit(DF_mant_len-32-DF_exp_len),1, obj=); #else encode2_DF(0,-DF_mant_len,bit(DF_mant_len-32),1, obj=); #endif @@ -2262,6 +2264,8 @@ var object obj; #ifdef intQsize encode_DF(0,-DF_mant_len-1,bit(DF_mant_len)+1, obj=); + #elif (defined(unix) && defined(linux) && defined(i386)) + encode2_DF(0,-DF_mant_len-1,bit(DF_mant_len-32)|bit(DF_mant_len-32-DF_exp_len),1, obj=); #else encode2_DF(0,-DF_mant_len-1,bit(DF_mant_len-32),1, obj=); #endif |