help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-smalltalk] 1e-4 printing bug


From: Derek Zhou
Subject: Re: [Help-smalltalk] 1e-4 printing bug
Date: Mon, 01 Apr 2019 13:54:33 +0800
User-agent: mu4e 0.9.18; emacs 24.5.1

All,

The previous patch contains a bug. Please use this one:

diff --git a/kernel/Float.st b/kernel/Float.st
index 3714f08..c594ba6 100644
--- a/kernel/Float.st
+++ b/kernel/Float.st
@@ -527,10 +527,11 @@ if the hardware supports it.'>
        allNines := true.
         sameDown := true.
         sameUp := true.
+       digit := 9.
 
-        [digit := num // weight.
+        [allNines := allNines and: [digit = 9].
+       digit := num // weight.
         num := num \\ weight.
-       allNines := allNines and: [digit = 9].
         sameDown := sameDown and: [num >= eps].
         sameUp := sameUp and: [num < (weight - eps)].
        digits := digits * 10 + digit.
@@ -555,7 +556,7 @@ if the hardware supports it.'>
             (num - prevWeight) abs < num ifTrue: [adjust := 1]].
 
        digits := digits + adjust.
-       (adjust > 0 and: [allNines])
+       (adjust = (10 - digit) and: [allNines])
             ifTrue: [allNines := false. exponent := exponent + 1].
 
        digits := digits printString.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]