Bug in numerical evaluation of exp



>>>>> "Osman" == U -Osman F Buyukisik <osman.buyukisik@ae.ge.com> writes:

    Osman> Raymond Toy writes:
    >> 
    >> A numerical evaluation bug:
    >> 
    >> (C10) exp(5);
    >> 
    >> 5
    >> (D10) 				      %E
    >> (C11) ev(%,numer);
    >> 
    >> (D11) 				   148.41316
    >> (C12) exp(5.0);
    >> 
    >> (D12) 			       148.4131591025766
    >> 
    >> I think D11 should produce an answer like D12.

    Osman> Version 5.5 using gcl gets it correct:

That's because in gcl all floats are double-floats, unlike cmucl and
clisp.  I'm pretty sure the code that handles this is doing (float x)
when it should have done (float x 1d0).  It's confusing that maxima
also has a float macro, and I can never tell if it's the maxima macro
or the Lisp function that's being called.

I'm too lazy to look at it right now, but will eventually.

Ray