--- a/Fraction.st Mon Aug 11 16:06:32 1997 +0200
+++ b/Fraction.st Mon Aug 11 19:15:58 1997 +0200
@@ -566,8 +566,8 @@
den := denominator.
den < 0 ifTrue:[
- numerator := numerator negated.
- den := denominator := den negated.
+ numerator := numerator negated.
+ den := denominator := den negated.
].
den == 1 ifTrue:[^ numerator].
@@ -576,9 +576,13 @@
gcd := numerator gcd:den.
(gcd ~~ 1) ifTrue:[
- numerator := numerator // gcd.
- denominator := den // gcd.
- (denominator == 1) ifTrue:[^ numerator].
+ numerator := numerator // gcd.
+ denominator := den := den // gcd.
+ den < 0 ifTrue:[
+ numerator := numerator negated.
+ den := denominator := den negated.
+ ].
+ (den == 1) ifTrue:[^ numerator].
].
^ self
!
@@ -656,6 +660,6 @@
!Fraction class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Fraction.st,v 1.39 1997-07-28 17:11:01 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Fraction.st,v 1.40 1997-08-11 17:15:58 ca Exp $'
! !
Fraction initialize!