Integer.st
changeset 22469 6058c02151eb
parent 22460 f8b145aaccda
child 22561 bdaee5e2bf96
--- a/Integer.st	Fri Jan 19 11:09:45 2018 +0100
+++ b/Integer.st	Fri Jan 19 12:01:41 2018 +0100
@@ -1781,16 +1781,16 @@
 
     |a b c shift ma mb mc val|
 
-    self assert:(self >= 0).
-    self assert:(a >= 0).
-    self assert:(b >= 0).
-    
     a := self.
     b := integer1.
     c := integer2.
+    self assert:(a >= 0).
+    self assert:(b >= 0).
+    self assert:(c >= 0).
+
     val := 0.
     shift := 0.
-    [ (a == 0) and:[b == 0] and:[c == 0] ] whileFalse:[
+    [ a ~~ 0 or:[b ~~ 0 or:[c ~~ 0]] ] whileTrue:[
         "/ strip off 4 bits from each...
         "/ 0000       0001       0010       0011       0100       0101       0110       0111       1000       1001       1010       1011       1100       1101       1110       1111 
         mc := #( 2r000000000000 2r000000000100 2r000000100000 2r000000100100 2r000100000000 2r000100000100 2r000100100000 2r000100100100 2r100000000000 2r100000000100 2r100000100000 2r100000100100 2r100100000000 2r100100000100 2r100100100000 2r100100100100 ) 
@@ -1819,6 +1819,7 @@
 
     "Created: / 28-08-2017 / 14:33:04 / cg"
     "Modified: / 28-08-2017 / 19:19:25 / cg"
+    "Modified: / 19-01-2018 / 11:29:04 / stefan"
 !
 
 bitInvert