# HG changeset patch # User Steve Losh # Date 1741205685 18000 # Node ID a26bbbf15587daa70245d44793acbd20e21227f9 # Parent dee136fa9a816c31ba2a46aacc49307c0b010e34 Fix negative pf diff -r dee136fa9a81 -r a26bbbf15587 src/math.lisp --- a/src/math.lisp Wed Mar 05 15:09:34 2025 -0500 +++ b/src/math.lisp Wed Mar 05 15:14:45 2025 -0500 @@ -426,10 +426,12 @@ (define-command pf (x) "Print x as a nicely-formatted number." - (multiple-value-bind (ipart fpart) (ftruncate x) - (let ((ipart (round ipart)) - (fpart (if (zerop fpart) - "" - (subseq (format nil "~F" (abs fpart)) 1)))) - (format t "~:D~A" ipart fpart))) + (let ((sign (if (minusp x) "-" "")) + (x (abs x))) + (multiple-value-bind (ipart fpart) (ftruncate x) + (let ((ipart (round ipart)) + (fpart (if (zerop fpart) + "" + (subseq (format nil "~F" fpart) 1)))) + (format t "~A~:D~A" sign ipart fpart)))) (values))