FORMAT.E.20 does not conform
(deftest format.e.20
(let ((fn (formatter "~,2,,4e")))
(loop for x in '(1/20 0.05s0 0.05f0 0.05d0 0.05l0)
for type in '(single-float short-float single-float
double-float long-float)
for s = (let ((*read-default-float-format* type))
(format nil "~,2,,4e" x))
for s2 = (let ((*read-default-float-format* type))
(formatter-call-to-string fn x))
unless (and (string-equal s "5000.e-5") (string-equal s s2))
collect (list x s s2)))
nil)
This test tests a ~E
formatter with D = 2 and K = 4.
This clashes with 22.3.3.2 of the spec, which states:
If k is positive, then it must be strictly less than d+2
For D = 2 and K = 4, 4
is not strictly less than 2 + 2
.