Number comparisons not transitive

Tagged:
Project:GNU Smalltalk
Component:Base classes
Category:bug
Priority:normal
Assigned:Unassigned
Status:active
Description

See http://bugs.squeak.org/view.php?id=3374

 a := 16rFFFFFFFFFFFFF81.
 b := 16rFFFFFFFFFFFFF82.
 c := a asFloat.
 {a = b.
  a = c.
  b = c.}

gives

(false true true )

(should all be false).

To fix this one would need to define a separate generality for comparisons and arithmetic, and adjust hashes similarly.

User login