bug in rational arithmetic ?



Richard Fateman wrote:
> 
> maxima 5.12.99  gets this wrong.
> 
> 
> bfloat(2.1d0) should be
> 
> 2.100000000000000088817841970012523233890533447265625b0
> 

Looking at the code, floattofp is responsible for converting 2.1d0 to a 
bfloat.  This code hasn't changed since rev 1.1, in 2000.  I guess 
that's the date the cvs sources were put on sourceforge.

Floattofp appears to rationalize the float first, then converts it to a 
bfloat.

I agree with you, though.  bfloat should return the float you give above.

Ray