prin1 and ~E produce different outputs.
|Reported by:||anonymous||Owned by:||rtoy|
Description (last modified by rtoy)
(let ((x (random 1d-3))) (values (prin1-to-string x) (format nil "~E" x)))
will produce different significant digits. I think the problem is in ~E which calls lisp::scale-exponent to scale the number between 0.1 and 1. I think we could just call flonum-to-digits which will give us the digits and the exponent. We can massage that into the desired digits and exponent as in scale-exponent, but we won't have the round-off problem.
Change History (4)
comment:1 Changed 11 years ago by rtoy
- Owner changed from somebody to rtoy
- Status changed from new to assigned