dont check twice for nil (in compare ops)
authorClaus Gittinger <cg@exept.de>
Thu, 20 Nov 1997 19:22:49 +0100
changeset 3115 1ecfb9118163
parent 3114 c4717f1a2fb5
child 3116 e535e4e266dd
dont check twice for nil (in compare ops)
Float.st
--- a/Float.st	Thu Nov 20 19:12:49 1997 +0100
+++ b/Float.st	Thu Nov 20 19:22:49 1997 +0100
@@ -508,14 +508,15 @@
 
 %{  /* NOCONTEXT */
 
-    if (__isSmallInteger(aNumber)) {
-	RETURN ( (__floatVal(self) < (double)(__intVal(aNumber))) ? true : false );
+    if (aNumber != nil) {
+        if (__isSmallInteger(aNumber)) {
+	    RETURN ( (__floatVal(self) < (double)(__intVal(aNumber))) ? true : false );
+        }
+        if (__qIsFloatLike(aNumber)) {
+	    RETURN ( (__floatVal(self) < __floatVal(aNumber)) ? true : false );
+	}
     }
-    if (__isFloatLike(aNumber)) {
-	RETURN ( (__floatVal(self) < __floatVal(aNumber)) ? true : false );
-    }
-%}
-.
+%}.
     ^ aNumber lessFromFloat:self
 !
 
@@ -524,14 +525,15 @@
 
 %{  /* NOCONTEXT */
 
-    if (__isSmallInteger(aNumber)) {
-	RETURN ( (__floatVal(self) <= (double)(__intVal(aNumber))) ? true : false );
+    if (aNumber != nil) {
+        if (__isSmallInteger(aNumber)) {
+	    RETURN ( (__floatVal(self) <= (double)(__intVal(aNumber))) ? true : false );
+        }
+        if (__qIsFloatLike(aNumber)) {
+	    RETURN ( (__floatVal(self) <= __floatVal(aNumber)) ? true : false );
+	}
     }
-    if (__isFloatLike(aNumber)) {
-	RETURN ( (__floatVal(self) <= __floatVal(aNumber)) ? true : false );
-    }
-%}
-.
+%}.
     ^ self retry:#<= coercing:aNumber
 !
 
@@ -540,14 +542,17 @@
 
 %{  /* NOCONTEXT */
 
-    if (__isSmallInteger(aNumber)) {
-	RETURN ( (__floatVal(self) == (double)(__intVal(aNumber))) ? true : false );
+    if (aNumber != nil) {
+        if (__isSmallInteger(aNumber)) {
+	    RETURN ( (__floatVal(self) == (double)(__intVal(aNumber))) ? true : false );
+        }
+        if (__qIsFloatLike(aNumber)) {
+	    RETURN ( (__floatVal(self) == __floatVal(aNumber)) ? true : false );
+	}
+    } else {
+	RETURN (false);
     }
-    if (__isFloatLike(aNumber)) {
-	RETURN ( (__floatVal(self) == __floatVal(aNumber)) ? true : false );
-    }
-%}
-.
+%}.
     ^ self retry:#= coercing:aNumber
 !
 
@@ -556,14 +561,15 @@
 
 %{  /* NOCONTEXT */
 
-    if (__isSmallInteger(aNumber)) {
-	RETURN ( (__floatVal(self) > (double)(__intVal(aNumber))) ? true : false );
+    if (aNumber != nil) {
+        if (__isSmallInteger(aNumber)) {
+	    RETURN ( (__floatVal(self) > (double)(__intVal(aNumber))) ? true : false );
+        }
+        if (__qIsFloatLike(aNumber)) {
+	    RETURN ( (__floatVal(self) > __floatVal(aNumber)) ? true : false );
+	}
     }
-    if (__isFloatLike(aNumber)) {
-	RETURN ( (__floatVal(self) > __floatVal(aNumber)) ? true : false );
-    }
-%}
-.
+%}.
     ^ self retry:#> coercing:aNumber
 !
 
@@ -572,14 +578,15 @@
 
 %{  /* NOCONTEXT */
 
-    if (__isSmallInteger(aNumber)) {
-	RETURN ( (__floatVal(self) >= (double)(__intVal(aNumber))) ? true : false );
+    if (aNumber != nil) {
+        if (__isSmallInteger(aNumber)) {
+	    RETURN ( (__floatVal(self) >= (double)(__intVal(aNumber))) ? true : false );
+        }
+        if (__qIsFloatLike(aNumber)) {
+	    RETURN ( (__floatVal(self) >= __floatVal(aNumber)) ? true : false );
+	}
     }
-    if (__isFloatLike(aNumber)) {
-	RETURN ( (__floatVal(self) >= __floatVal(aNumber)) ? true : false );
-    }
-%}
-.
+%}.
     ^ self retry:#>= coercing:aNumber
 !
 
@@ -623,11 +630,15 @@
 
 %{  /* NOCONTEXT */
 
-    if (__isSmallInteger(aNumber)) {
-	RETURN ( (__floatVal(self) != (double)(__intVal(aNumber))) ? true : false );
-    }
-    if (__isFloatLike(aNumber)) {
-	RETURN ( (__floatVal(self) != __floatVal(aNumber)) ? true : false );
+    if (aNumber != nil) {
+        if (__isSmallInteger(aNumber)) {
+	    RETURN ( (__floatVal(self) != (double)(__intVal(aNumber))) ? true : false );
+        }
+        if (__qIsFloatLike(aNumber)) {
+	    RETURN ( (__floatVal(self) != __floatVal(aNumber)) ? true : false );
+        }
+    } else {
+	RETURN (true);
     }
 %}.
     ^ self retry:#~= coercing:aNumber
@@ -1360,6 +1371,6 @@
 !Float class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Float.st,v 1.62 1997-10-10 13:00:02 ca Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Float.st,v 1.63 1997-11-20 18:22:49 cg Exp $'
 ! !
 Float initialize!