Number.st
branchjv
changeset 18050 131d0413b25b
parent 18046 99298a6ac55a
parent 15127 6278efcd484d
child 18059 b882507b9fdf
--- a/Number.st	Fri Apr 19 09:38:48 2013 +0200
+++ b/Number.st	Tue Apr 23 14:27:19 2013 +0100
@@ -12,11 +12,11 @@
 "{ Package: 'stx:libbasic' }"
 
 ArithmeticValue subclass:#Number
-	instanceVariableNames:''
-	classVariableNames:'DecimalPointCharacter DecimalPointCharacterForPrinting
+    instanceVariableNames: ''
+    classVariableNames: 'DecimalPointCharacter DecimalPointCharacterForPrinting
 		DecimalPointCharacters DecimalPointCharactersForReading'
-	poolDictionaries:''
-	category:'Magnitude-Numbers'
+    poolDictionaries: ''
+    category: 'Magnitude-Numbers'
 !
 
 !Number class methodsFor:'documentation'!
@@ -53,6 +53,7 @@
 "
 ! !
 
+
 !Number class methodsFor:'instance creation'!
 
 fastFromString:aString
@@ -371,19 +372,26 @@
      (character-) aStream.
      Returns nil if aStream contains no valid number."
 
-    ^ Scanner scanNumberFrom:aStream
-"/    ^ Compiler evaluate:aStream compile:false "/ self readFrom:aStream.
+    ^ [
+        Scanner scanNumberFrom:aStream.
+    ] on:Error do:[:ex|
+        nil
+    ].
 
     "
      Number readSmalltalkSyntaxFrom:'99d'    
      Number readSmalltalkSyntaxFrom:'99.00d'    
-     Number readSmalltalkSyntaxFrom:(ReadStream on:'54.32e-01')    
-     Number readSmalltalkSyntaxFrom:(ReadStream on:'12345678901234567890')
-     Number readSmalltalkSyntaxFrom:(ReadStream on:'16rAAAAFFFFAAAAFFFF')
-     Number readSmalltalkSyntaxFrom:(ReadStream on:'(1/10)') 
-     Number readFrom:(ReadStream on:'(1/10)') 
-     Number readSmalltalkSyntaxFrom:(ReadStream on:'+00000123.45')  
-     Number readFrom:(ReadStream on:'+00000123.45')  
+     Number readSmalltalkSyntaxFrom:'54.32e-01'    
+     Number readSmalltalkSyntaxFrom:'12345678901234567890'
+     Number readSmalltalkSyntaxFrom:'16rAAAAFFFFAAAAFFFF'
+     Number readSmalltalkSyntaxFrom:'(1/10)' 
+
+     Number readSmalltalkSyntaxFrom:'(1/0)' 
+
+     Number readFrom:'(1/3)'
+     Number readFrom:'(-1/3)'
+     Number readSmalltalkSyntaxFrom:'+00000123.45'  
+     Number readFrom:'+00000123.45'  
 
      |s|
      s := ReadStream on:'2.'.
@@ -544,6 +552,7 @@
      ^ self subclassResponsibility
 ! !
 
+
 !Number class methodsFor:'error reporting'!
 
 raise:aSignalSymbolOrErrorClass receiver:someNumber selector:sel arg:arg errorString:text 
@@ -696,6 +705,7 @@
     "Modified: / 14.4.1998 / 18:47:47 / cg"
 ! !
 
+
 !Number class methodsFor:'queries'!
 
 isAbstract
@@ -713,6 +723,7 @@
 	^(self - aNumber) abs < accuracy
 ! !
 
+
 !Number methodsFor:'*grease-core'!
 
 greaseInteger
@@ -886,6 +897,7 @@
     "
 ! !
 
+
 !Number methodsFor:'converting'!
 
 % aNumber 
@@ -1044,6 +1056,7 @@
     "
 ! !
 
+
 !Number methodsFor:'converting-times'!
 
 days
@@ -1121,6 +1134,7 @@
     "Created: / 05-09-2011 / 11:17:59 / cg"
 ! !
 
+
 !Number methodsFor:'intervals'!
 
 downTo:stop
@@ -1157,6 +1171,7 @@
     "
 ! !
 
+
 !Number methodsFor:'iteration'!
 
 timesRepeat:aBlock
@@ -1171,6 +1186,7 @@
     ]
 ! !
 
+
 !Number methodsFor:'mathematical functions'!
 
 conjugated
@@ -1314,6 +1330,7 @@
     "
 ! !
 
+
 !Number methodsFor:'measurement values'!
 
 maxValue
@@ -1330,6 +1347,7 @@
     ^ self
 ! !
 
+
 !Number methodsFor:'printing & storing'!
 
 printOn:aStream paddedWith:padCharacter to:size base:radix
@@ -1504,6 +1522,7 @@
     ^ self printString
 ! !
 
+
 !Number methodsFor:'taylor series'!
 
 arcSin_withAccuracy:epsilon
@@ -2037,6 +2056,7 @@
     "
 ! !
 
+
 !Number methodsFor:'testing'!
 
 isDivisibleBy:aNumber
@@ -2085,6 +2105,7 @@
     "Modified: 18.7.1996 / 12:40:49 / cg"
 ! !
 
+
 !Number methodsFor:'tracing'!
 
 traceInto:aRequestor level:level from:referrer
@@ -2095,6 +2116,7 @@
 
 ! !
 
+
 !Number methodsFor:'trigonometric'!
 
 arcCos
@@ -2249,6 +2271,7 @@
 "/    ^ (exp - nexp) / (exp + nexp)
 ! !
 
+
 !Number methodsFor:'truncation & rounding'!
 
 detentBy: detent atMultiplesOf: grid snap: snap
@@ -2325,9 +2348,10 @@
 !Number class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.137 2012/11/05 16:48:19 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.141 2013-04-19 15:07:39 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.137 2012/11/05 16:48:19 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Number.st,v 1.141 2013-04-19 15:07:39 stefan Exp $'
 ! !
+