[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: floating point and other comments



On Monday 22 December 2003 04:48 am, Alex Shinn wrote:
> At Sun, 21 Dec 2003 16:45:37 +0100, Ken Dickey wrote:
> > I have not done the work, but it I would guess that supporting ~w,dF
> > would at least double the size of the reference implementation.
>...
> Attached is a modification to the reference implementation that adds
> support for ~w,dF (and thus also lays the groundwork for other format
> chars to take parameters) and incurs less than 50% increase in size

A good start.  Unfortunately,  the code did not do the whole job.

E.g.:

 (format #f "~4,2F" 23.45678)
-> "23.4"  ;; expected "23.46"

 (format #f "~6,3F" 3/17)
-> " 22/12"   ;; expected " 0.176"

 (format #f "~6,3F" (sqrt -3.9))
-> " 0.000"  ;; expected something more like "0.0+1.975i" ?

 (format #f "~4,2F" 32) 
-> "3200"  ;; expected "32.00"


Note tha CL defines ~F for non-numeric arguments:

[CL] (format nil "~6,2F" "foo")
-> "   foo"

I am willing to do the work, but I suspect that handling such cases would make 
the code larger--and cons more.

It _is_ a slippery slope.  Perhaps a snoboard?  8^)

Cheers,
-KenD