LargeInteger.st
branchjv
changeset 19167 699eef1bc815
parent 19158 cdce727939ab
parent 19162 dcefb6a62d18
child 19277 e9182dc00c6d
equal deleted inserted replaced
19158:cdce727939ab 19167:699eef1bc815
   311 
   311 
   312     "LargeInteger value:3689"
   312     "LargeInteger value:3689"
   313 
   313 
   314     "Modified: / 8.5.1998 / 21:40:41 / cg"
   314     "Modified: / 8.5.1998 / 21:40:41 / cg"
   315 ! !
   315 ! !
       
   316 
       
   317 
   316 
   318 
   317 !LargeInteger class methodsFor:'queries'!
   319 !LargeInteger class methodsFor:'queries'!
   318 
   320 
   319 isBuiltInClass
   321 isBuiltInClass
   320     "return true if this class is known by the run-time-system.
   322     "return true if this class is known by the run-time-system.
  2395     anInteger == 0 ifTrue:[^ 0].
  2397     anInteger == 0 ifTrue:[^ 0].
  2396     anInteger == 1 ifTrue:[^ self].
  2398     anInteger == 1 ifTrue:[^ self].
  2397 
  2399 
  2398     num := anInteger abs.
  2400     num := anInteger abs.
  2399     SmallInteger maxBytes == 8 ifTrue:[
  2401     SmallInteger maxBytes == 8 ifTrue:[
  2400         (num > 16rFFFFFFFF) ifTrue:[
  2402         (num > 16rFFFFFFFFFF) ifTrue:[
  2401             "if num is too big (so that multiplying by a byte could create a Large)"
  2403             "if num is too big (so that multiplying by a byte could create a Large)"
  2402             ^ anInteger retry:#* coercing:self
  2404             ^ anInteger retry:#* coercing:self
  2403         ].
  2405         ].
  2404     ] ifFalse:[    
  2406     ] ifFalse:[    
  2405         (num > 16r3FFFFF) ifTrue:[
  2407         (num > 16r3FFFFF) ifTrue:[