5ecd732fbfb5e6c0bec6479b37c15b2c8d28eb4d
2 (in-package :lineal.overload
)
4 (defgeneric over-format
(a strm
))
6 (defmethod over-format ((n float
) s
)
7 (let ((sig-figs 9);*sig-figs*)
15 :while
(< (setq n
(* n
10)) 1)))
17 (t (loop :do
(incf mag
)
18 :until
(< (setq n
(/ n
10)) 10))))
19 (princ (/ (round (* (if neg
(- n
) n
)
21 (expt 10d0
(- sig-figs mag
)))
24 (defmethod over-format ((a number
) s
)
26 (defmethod over-format ((a cons
) s
)
28 (defmethod over-format ((a tuple
) s
)
29 (output-tuple (tuple-elems a
) s
))
30 (defmethod over-format ((a mtrix
) s
)
31 (output-matrix (mtrix-elems a
) s
))
33 (defmethod over-format ((a string
) strm
)