On 8/25/06, Richard Fateman <fateman at cs.berkeley.edu> wrote:
> The problem that you have encountered is that 1.0e-45 is 0.0.
> The returned expression from the parser has already lost the value, and
> so nothing else can recover it.
Actually, the Maxima/GCL parser has no problem down to 1.0e-308, the
smallest normalized number in IEEE float (it can calculate with
denormalized numbers, but doesn't parse them correctly).
The problem seems to be in the float-to-rational conversion routine,
which converts any number < 1.0e-38 to 0 (regardless of the value of
ratepsilon). My guess is that that magic number comes from the
PDP-10's float range (!!!).
This is a fixable bug.
-s