Added support for printing denorms, infinities and NaNs.
Added DEFVARs for *print-readably* and *read-eval* so that the new code could use them as appropriate. Old code still needs to be fixed to use these vars. In FLONUM-TO-STRING, use FLOAT-PRECISION to find out the actual precision for denorms, and adjust the args to FLOAT-STRING accordingly. This is so that we don't print more digits than the real precision. Currently this case will only happen through FORMAT, since normal printing uses SCALE-EXPONENT for denorms. Hacked up SCALE-EXPONENT a bunch to work for denorms. Fixed an outright bug that would happen if the (* 10.0) loop even ran more than once. Added additional special-casing for denorms so that the EXPT won't overflow.
Please register or sign in to comment