Ticket #1 (closed defect: fixed)
prin1 and ~E produce different outputs.
| Reported by: | anonymous | Owned by: | rtoy |
|---|---|---|---|
| Priority: | minor | Milestone: | |
| Component: | Core | Version: | 19c |
| Keywords: | printing | Cc: |
Description (last modified by rtoy) (diff)
(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.
Maybe.
Change History
Note: See
TracTickets for help on using
tickets.
