Number.st
changeset 6143 695cc93a96b4
parent 6087 826b87eab740
child 6154 6cb999c5ace3
--- a/Number.st	Mon Nov 05 16:26:25 2001 +0100
+++ b/Number.st	Mon Nov 05 16:31:40 2001 +0100
@@ -322,6 +322,23 @@
 "#(-500 -300 -150 -5 0 5 150 300 500 1200) collect: [:n | n asSmallAngleDegrees]"
 !
 
+closeTo:num
+    "are these two numbers close?"
+
+    | ans |
+
+    self = num ifTrue:[^ true].
+
+    num isLimitedPrecisionReal "isReal" ifTrue: [^ num closeTo: self asFloat].
+    [ans := (self = num)] ifError: [:aString :aReceiver | ^ false].
+    ^ ans
+
+    "
+     1 closeTo:1.0000000001
+     1 closeTo:1.001
+    "
+!
+
 newTileMorphRepresentative
 	^ TileMorph new addArrows; setLiteral: self; addSuffixIfCan
 !
@@ -555,6 +572,17 @@
     "
 !
 
+isInfinite
+
+        ^ false
+!
+
+isNaN
+    "return true, if the receiver is an invalid float (NaN - not a number)."
+
+    ^ false
+!
+
 isNumber
     "return true, if the receiver is a kind of number"
 
@@ -651,5 +679,5 @@
 !Number class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.64 2001-10-09 17:52:38 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.65 2001-11-05 15:31:40 james Exp $'
 ! !