--- a/LargeInteger.st Thu Apr 18 01:13:47 1996 +0200
+++ b/LargeInteger.st Thu Apr 18 11:54:21 1996 +0200
@@ -11,10 +11,10 @@
"
Integer subclass:#LargeInteger
- instanceVariableNames:'sign digitByteArray'
- classVariableNames:''
- poolDictionaries:''
- category:'Magnitude-Numbers'
+ instanceVariableNames:'sign digitByteArray'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Magnitude-Numbers'
!
!LargeInteger class methodsFor:'documentation'!
@@ -497,6 +497,34 @@
"
!
+negated
+ "return an integer with value negated from the receivers value."
+
+ |newNumber|
+
+ (sign == 0) ifTrue:[^ 0].
+
+ "
+ special case for SmallInteger minVal
+ "
+ sign == 1 ifTrue:[
+ digitByteArray size == 4 ifTrue:[
+ (digitByteArray at:1) == 0 ifTrue:[
+ (digitByteArray at:2) == 0 ifTrue:[
+ (digitByteArray at:3) == 0 ifTrue:[
+ (digitByteArray at:4) == 16r40 ifTrue:[
+ ^ SmallInteger minVal
+ ].
+ ]
+ ]
+ ]
+ ]
+ ].
+ newNumber := self shallowCopy.
+ newNumber sign:(sign negated).
+ ^ newNumber
+!
+
quo:aNumber
"return the quotient of the receiver and the argument, aNumber"
@@ -595,34 +623,6 @@
9000000000 rem: -4000000000 => -1000000000
-9000000000 rem: -4000000000 => 1000000000
"
-!
-
-negated
- "return an integer with value negated from the receivers value."
-
- |newNumber|
-
- (sign == 0) ifTrue:[^ 0].
-
- "
- special case for SmallInteger minVal
- "
- sign == 1 ifTrue:[
- digitByteArray size == 4 ifTrue:[
- (digitByteArray at:1) == 0 ifTrue:[
- (digitByteArray at:2) == 0 ifTrue:[
- (digitByteArray at:3) == 0 ifTrue:[
- (digitByteArray at:4) == 16r40 ifTrue:[
- ^ SmallInteger minVal
- ].
- ]
- ]
- ]
- ]
- ].
- newNumber := self shallowCopy.
- newNumber sign:(sign negated).
- ^ newNumber
! !
!LargeInteger methodsFor:'byte access'!
@@ -1609,5 +1609,5 @@
!LargeInteger class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/LargeInteger.st,v 1.24 1996-04-02 22:02:08 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/LargeInteger.st,v 1.25 1996-04-18 09:53:36 cg Exp $'
! !