--- a/Fraction.st Wed Jul 17 12:52:53 2002 +0200
+++ b/Fraction.st Wed Jul 17 12:56:06 2002 +0200
@@ -190,15 +190,18 @@
"/ (see the message send at the bottom)
"/
- (aNumber isMemberOf:SmallInteger) ifTrue:[
- ^ (self class numerator:(numerator * aNumber)
- denominator:denominator)
+ aNumber isInteger ifTrue:[
+ ^ self class
+ numerator:(numerator * aNumber)
+ denominator:denominator
].
aNumber isFraction ifTrue:[
aNumber isFixedPoint ifFalse:[ "/ the value was corrent, but the scale is lost
n := numerator * aNumber numerator.
d := denominator * aNumber denominator.
- ^ (self class numerator:n denominator:d)
+ ^ self class
+ numerator:n
+ denominator:d
]
].
(aNumber isMemberOf:Float) ifTrue:[
@@ -225,9 +228,10 @@
"/ (see the message send at the bottom)
"/
- (aNumber isMemberOf:SmallInteger) ifTrue:[
- ^ (self class numerator:(numerator + (denominator * aNumber))
- denominator:denominator)
+ aNumber isInteger ifTrue:[
+ ^ self class
+ numerator:(numerator + (denominator * aNumber))
+ denominator:denominator
].
aNumber isFraction ifTrue:[
aNumber isFixedPoint ifFalse:[ "/ the value was correct, but the scale is lost
@@ -241,7 +245,9 @@
n := (numerator * d) + (n * denominator).
d := denominator * d.
].
- ^ (self class numerator:n denominator:d)
+ ^ self class
+ numerator:n
+ denominator:d
]
].
(aNumber isMemberOf:Float) ifTrue:[
@@ -268,9 +274,10 @@
"/ (see the message send at the bottom)
"/
- (aNumber isMemberOf:SmallInteger) ifTrue:[
- ^ (self class numerator:(numerator - (denominator * aNumber))
- denominator:denominator)
+ aNumber isInteger ifTrue:[
+ ^ self class
+ numerator:(numerator - (denominator * aNumber))
+ denominator:denominator
].
aNumber isFraction ifTrue:[
aNumber isFixedPoint ifFalse:[ "/ the value was corrent, but the scale is lost
@@ -284,7 +291,9 @@
n := (numerator * d) - (n * denominator).
d := denominator * d
].
- ^ (self class numerator:n denominator:d)
+ ^ self class
+ numerator:n
+ denominator:d
]
].
(aNumber isMemberOf:Float) ifTrue:[
@@ -319,15 +328,18 @@
"/ (see the message send at the bottom)
"/
- (aNumber isMemberOf:SmallInteger) ifTrue:[
- ^ (self class numerator:numerator
- denominator:(denominator * aNumber))
+ aNumber isInteger ifTrue:[
+ ^ self class
+ numerator:numerator
+ denominator:(denominator * aNumber)
].
aNumber isFraction ifTrue:[
aNumber isFixedPoint ifFalse:[ "/ the value was corrent, but the scale is lost
n := numerator * aNumber denominator.
d := denominator * aNumber numerator.
- ^ (self class numerator:n denominator:d)
+ ^ self class
+ numerator:n
+ denominator:d
]
].
(aNumber isMemberOf:Float) ifTrue:[
@@ -851,6 +863,6 @@
!Fraction class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Fraction.st,v 1.56 2002-06-11 21:45:07 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Fraction.st,v 1.57 2002-07-17 10:56:06 cg Exp $'
! !
Fraction initialize!