format: float: signed zero: print -0.0 if signed

Fixes #365.
This commit is contained in:
Daniel Kochmanski 2017-05-12 23:44:10 +02:00
parent 2d0b3ca25e
commit 98b890ce6e

View file

@ -1363,7 +1363,8 @@
(t
(let ((spaceleft w))
(when (and w (or atsign
(minusp number)))
(minusp number)
#+ieee-floating-point (minusp (atan number -1))))
(decf spaceleft))
(multiple-value-bind (str len lpoint tpoint)
(sys::flonum-to-string (abs number) spaceleft d k)
@ -1389,7 +1390,8 @@
t)
(t
(when w (dotimes (i spaceleft) (write-char pad stream)))
(if (minusp number)
(if (or (minusp number)
#+ieee-floating-point (minusp (atan number -1)))
(write-char #\- stream)
(if atsign (write-char #\+ stream)))
(when lpoint (write-char #\0 stream))