#OTHER
class: Number
comment/format in: #log:
changed:
#ln (send #asLongFloat instead of #asFloat)
#log10 (send #asLongFloat instead of #asFloat)
fix for very large numbers
--- a/Number.st Thu Feb 25 12:51:54 2016 +0100
+++ b/Number.st Thu Feb 25 12:52:35 2016 +0100
@@ -503,6 +503,7 @@
^ Integer readFrom:aStream radix:radix
! !
+
!Number class methodsFor:'constants'!
decimalPointCharacter
@@ -710,6 +711,7 @@
"
! !
+
!Number class methodsFor:'private'!
readMantissaAndScaleFrom:aStream radix:radix
@@ -784,6 +786,7 @@
^ self == Number
! !
+
!Number methodsFor:'Compatibility-Squeak'!
asSmallAngleDegrees
@@ -933,6 +936,7 @@
^ self rounded printString
! !
+
!Number methodsFor:'coercing & converting'!
i
@@ -1345,9 +1349,13 @@
(self isLimitedPrecisionReal not
or:[self generality < 1.0 generality]) ifTrue:[
- ^ self asFloat ln.
+ ^ self asLongFloat ln.
].
^ self ln_withAccuracy:self epsilon
+
+ "
+ (10 raisedTo:1000) ln
+ "
!
log
@@ -1362,9 +1370,13 @@
(self isLimitedPrecisionReal not
or:[self generality < 1.0 generality]) ifTrue:[
- ^ self asFloat log10.
+ ^ self asLongFloat log10.
].
^ self log:10
+
+ "
+ (10 raisedTo:1000) log10
+ "
!
log:aNumber
@@ -1377,6 +1389,7 @@
1000 log:10
9 log:3
(1000 log:10) floor
+ (10 raisedTo:1000) log:10
"
!
@@ -1476,10 +1489,6 @@
^ self
! !
-
-
-
-
!Number methodsFor:'printing & storing'!
displayOn:aGCOrStream
@@ -2659,6 +2668,7 @@
"Modified: / 5.11.2001 / 17:54:22 / cg"
! !
+
!Number class methodsFor:'documentation'!
version