[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
doubling your bits
I was wondering...
1) How much slower would coerce be if it added decimal zeros?
eg., (coerce .1 'double-float) -> 0.1d0
It would be wrong.
It depends what you would like to mean by .1. I understand that when
you type .1s0, the number you are really stuck with is
0.10000000149011619... so one possible interpretation of coerce (and I
take it, the IEEE sanctioned one) is to add more bits of that number.
That way, (loop for n from 1 to 1000000 sum (coerce .1 'double-float))
will still give 100958.34. However, if what you really meant by .1 is
decimal .1, the number .1s0 is an approximation and the 958.34 is round
off 1error0. I agree with James A. Reith that what I want is
(coerce .1 'double-1decimal0-float), but it doesn't exist.