Float.st
changeset 6674 c383bfa3dc8c
parent 6574 788f5a36dcb1
child 6890 8e74eff54c3d
--- a/Float.st	Wed Jul 31 12:05:53 2002 +0200
+++ b/Float.st	Wed Jul 31 12:24:07 2002 +0200
@@ -155,31 +155,41 @@
 
     Also notice, that ST/X Floats are what Doubles are in ST-80 - this may change 
     in one of the next versions (at least on machines, which provide different float
-    and double types in their C-compiler.
+    and double types in their C-compiler).
+    The reason for doung this was to be compatible to both Digitalk and ParcPlace smalltalk
+    implementations 
+    (ParcPlace uses a 4-byte Float and an 8-byte Double class, in contrast to
+     Digitalk, which has an 8-byte Float class).
+    Thus, by providing an 8-byte Float class, code would not loose precicion (although some memory
+    is wasten when porting from VW).
+    As Digitalk is dead now, things could (should) now be made to be compatible with VW.
+    Notice that ST/X provides an alias called Double, and an extra ShortFloat class, which has 4-byte
+    instances.
 
     WARNING:
-    The layout of float instances is known by the runtime system and the compiler;
-    you may not add instance variables here. 
+        The layout of float instances is known by the runtime system and the compiler;
+        you may not add instance variables here. 
 
     Also, subclassing is complicated by the fact, that the VM creates floats as results
     of arithmetic operations (even if the operands are subclass-instances).
-    (It does the float-check by probing a bit in the classes flag instVar).
+    However, the VM does the float-check by probing a bit in the classes flag instVar; therefore,
+    even subclass instances can be handled by the VMs float handling code.
 
     Mixed mode arithmetic:
-	float op float       -> float
-	float op fix         -> float
-	float op integer     -> float
-	float op float       -> float
+        float op float       -> float
+        float op fix         -> float
+        float op integer     -> float
+        float op float       -> float
 
     [Class Variables:]
 
     [see also:]
-	Number
-	ShortFloat Fraction FixedPoint Integer
-	FloatArray DoubleArray
+        Number
+        ShortFloat Fraction FixedPoint Integer
+        FloatArray DoubleArray
 
     [author:]
-	Claus Gittinger
+        Claus Gittinger
 "
 !
 
@@ -2246,6 +2256,6 @@
 !Float class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Float.st,v 1.126 2002-06-11 21:42:34 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Float.st,v 1.127 2002-07-31 10:24:07 cg Exp $'
 ! !
 Float initialize!