2 (defgeneric over-format
(a strm
))
4 (defmethod over-format ((n float
) s
)
8 ;; Cut off after 7 post-decimal digits
9 (do ((igr (round (* n
10000000)))
12 (itersrem 7 (1- itersrem
)))
14 (format s
"~D.~{~D~}" igr lis
))
16 (igr digit
) (floor igr
10))
17 (when (or lis
(not (zerop digit
)))
20 (defmethod over-format ((n complex
) s
)
23 (over-format (realpart n
) s
))
25 (case (imagpart n
) (1)
26 (-1 (write-char #\- s
))
27 (t (over-format (imagpart n
) s
)))
29 (t (over-format (realpart n
) s
)
31 (if (plusp (imagpart n
))
32 (progn (princ " + " s
)
34 (progn (princ " - " s
)
40 (defmethod over-format ((a number
) s
)
42 (defmethod over-format ((a tuple
) s
)
43 (output-tuple (tuple-elems a
) s
))
44 (defmethod over-format ((a mtrix
) s
)
45 (output-matrix (mtrix-elems a
) s
))
47 (defmethod over-format ((a string
) strm
)