From 3c4e1541e5720e161908053737ac8950e824eede Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Thu, 25 May 2017 08:03:32 +0200 Subject: [PATCH] format: scale-exponent: fix denormalized long-float Fix submitted by Marius Gerbershagen. Fixes 383. --- src/lsp/format.lsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lsp/format.lsp b/src/lsp/format.lsp index d59cf8c93..6f2e2ef07 100644 --- a/src/lsp/format.lsp +++ b/src/lsp/format.lsp @@ -227,7 +227,7 @@ ;; Note that we have to compute the exponential _every_ _time_ in the loop ;; because multiplying just by 10.0l0 every time would lead to a greater ;; loss of precission. - (let ((ex (round (* exponent #.(log 2l0 10))))) + (let ((ex (- (round (* exponent #.(log 2l0 10))) delta))) (declare (fixnum ex)) (if (minusp ex) (loop for y of-type long-float