A repair to Real Number comparison so Fateman's examples do not exhibit
- To: mathgroup at smc.vnet.net
- Subject: [mg106953] A repair to Real Number comparison so Fateman's examples do not exhibit
- From: Richard Fateman <fateman at cs.berkeley.edu>
- Date: Fri, 29 Jan 2010 07:47:35 -0500 (EST)
--------------------------------- (* Here's a fix for Mathematica that makes MY examples work better. The challenge to you, should you care to accept it, is to find a mathematical program that you have been running previously successfully, that FAILS with this fix. *) Unprotect[Greater,Less] Greater[x_,y_/;inSameFuzzBallNE[x,y]]:=True Less[x_,y_]:= Greater[y,x] (* two numbers that are close but not equal*) inSameFuzzBallNE[x_,y_]:=(Head[x]===Real || Head[y]===Real)&&(x!=y)&& Interval[]=!=IntervalIntersection[Interval[x],Interval[y]] (* that's all. But here's an optional hack to display all low-precision numbers in RED *) $LowPrecisionWarningLimit=1 PrintShowFuzz[x_] := x /. (r_Real /; (Precision[r] < $LowPrecisionWarningLimit) -> Style[InputForm[r], Red]) $PrePrint=PrintShowFuzz (*examples*) x=0``-.5 {x==0,x==1,x<=1,x<1,x}