LargeInteger.st
changeset 4214 ba20de3793e2
parent 4213 a66f711d86df
child 4215 d3d8a954cd3c
equal deleted inserted replaced
4213:a66f711d86df 4214:ba20de3793e2
  2370         __resultDigits = __ByteArrayInstPtr(resultDigitByteArray)->ba_element;
  2370         __resultDigits = __ByteArrayInstPtr(resultDigitByteArray)->ba_element;
  2371         __otherDigits = __ByteArrayInstPtr(otherDigitByteArray)->ba_element;
  2371         __otherDigits = __ByteArrayInstPtr(otherDigitByteArray)->ba_element;
  2372         __myDigits = __ByteArrayInstPtr(_digitByteArray)->ba_element;
  2372         __myDigits = __ByteArrayInstPtr(_digitByteArray)->ba_element;
  2373 
  2373 
  2374         __index = 1;
  2374         __index = 1;
       
  2375 #ifdef i386
       
  2376         while (__index < __minLen) {
       
  2377             __diff = __borrow + ((unsigned short *)(__myDigits+__index-1))[0] - ((unsigned short *)(__otherDigits+__index-1))[0];
       
  2378             if (__diff >= 0) {
       
  2379                 __borrow = 0;
       
  2380             } else {
       
  2381                 __borrow = -1;
       
  2382                 __diff += 0x10000;
       
  2383             }
       
  2384             ((unsigned short *)(__resultDigits+__index-1))[0] = __diff;
       
  2385             __index += 2;
       
  2386         }
       
  2387 #endif
       
  2388 
  2375         while (__index <= __minLen) {
  2389         while (__index <= __minLen) {
  2376             __diff = __borrow + __myDigits[__index-1] - __otherDigits[__index-1];
  2390             __diff = __borrow + __myDigits[__index-1] - __otherDigits[__index-1];
  2377             if (__diff >= 0) {
  2391             if (__diff >= 0) {
  2378                 __borrow = 0;
  2392                 __borrow = 0;
  2379             } else {
  2393             } else {
  3315 ! !
  3329 ! !
  3316 
  3330 
  3317 !LargeInteger class methodsFor:'documentation'!
  3331 !LargeInteger class methodsFor:'documentation'!
  3318 
  3332 
  3319 version
  3333 version
  3320     ^ '$Header: /cvs/stx/stx/libbasic/LargeInteger.st,v 1.103 1999-05-19 22:16:51 cg Exp $'
  3334     ^ '$Header: /cvs/stx/stx/libbasic/LargeInteger.st,v 1.104 1999-05-19 22:27:15 cg Exp $'
  3321 ! !
  3335 ! !