The change I wrote for the parser shows how
4.5 and 4.50 could be distinguished because the second one has
higher precision; convert them to bigfloats with fpprec 2 and 3,
respectively.
Distinguishing 9/2 from 45/10 would be problematical. I assume you are not
making that case.
Distinguishing 4.5 from 9/2 on the basis that 4.5 is a different type is OK.
Computing 9/2 -4.5 must then be defined in some useful fashion, and that
is problematical. 0? 0.e0? [-0.05,0.05]?
RJF
Stavros Macrakis wrote:
> On 8/28/06, Richard Fateman <fateman at cs.berkeley.edu> wrote:
> ...
>
> I agree with everything you say up to...
>
>> A plausible viewpoint: We can treat the non-exceptional hardware floats
>> as a special speed-optimized representation for a subset of the rational
>> numbers....
>
>
> They do represent a small subset of the rationals exactly, but that
> subset isn't even closed under +-*/; the idea of approximation is
> inherent. I claim that 4.5 means something quite different from 9/2
> or 45/10. In some contexts, it's even different from 4.50 (of course,
> Maxima doesn't support that notion), representing some sort of
> interval.
>
> -s