--- 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 $'
! !
+