equal
deleted
inserted
replaced
2557 d1 "{ Class: SmallInteger }" |
2557 d1 "{ Class: SmallInteger }" |
2558 d2 "{ Class: SmallInteger }" |
2558 d2 "{ Class: SmallInteger }" |
2559 otherDigitByteArray | |
2559 otherDigitByteArray | |
2560 |
2560 |
2561 %{ /* NOCONTEXT */ |
2561 %{ /* NOCONTEXT */ |
2562 OBJ _digitByteArray = __INST(digitByteArray); |
|
2563 |
|
2564 if (__isLargeInteger(aLargeInteger)) { |
2562 if (__isLargeInteger(aLargeInteger)) { |
|
2563 OBJ _digitByteArray = __INST(digitByteArray); |
2565 OBJ _otherDigitByteArray = __LargeIntegerInstPtr(aLargeInteger)->l_digits; |
2564 OBJ _otherDigitByteArray = __LargeIntegerInstPtr(aLargeInteger)->l_digits; |
2566 |
2565 |
2567 if (__isByteArray(_digitByteArray) |
2566 if (__isByteArray(_digitByteArray) |
2568 && __isByteArray(_otherDigitByteArray)) { |
2567 && __isByteArray(_otherDigitByteArray)) { |
2569 INT _myLen = __byteArraySize(_digitByteArray); |
2568 INT _myLen = __byteArraySize(_digitByteArray); |
2573 unsigned char *_myDigits = __ByteArrayInstPtr(_digitByteArray)->ba_element; |
2572 unsigned char *_myDigits = __ByteArrayInstPtr(_digitByteArray)->ba_element; |
2574 |
2573 |
2575 if (_myLen == _otherLen) { |
2574 if (_myLen == _otherLen) { |
2576 tryAgain: |
2575 tryAgain: |
2577 while (_myLen >= (sizeof(INT)*4)) { |
2576 while (_myLen >= (sizeof(INT)*4)) { |
2578 if ( (unsigned INT *)_myDigits[0] != (unsigned INT *)_otherDigits[0]) { |
2577 if ( ((unsigned INT *)_myDigits)[0] != ((unsigned INT *)_otherDigits)[0]) { |
2579 RETURN(false); |
2578 RETURN(false); |
2580 } |
2579 } |
2581 if ( (unsigned INT *)_myDigits[1] != (unsigned INT *)_otherDigits[1]) { |
2580 if ( ((unsigned INT *)_myDigits)[1] != ((unsigned INT *)_otherDigits)[1]) { |
2582 RETURN(false); |
2581 RETURN(false); |
2583 } |
2582 } |
2584 if ( (unsigned INT *)_myDigits[2] != (unsigned INT *)_otherDigits[2]) { |
2583 if ( ((unsigned INT *)_myDigits)[2] != ((unsigned INT *)_otherDigits)[2]) { |
2585 RETURN(false); |
2584 RETURN(false); |
2586 } |
2585 } |
2587 if ( (unsigned INT *)_myDigits[3] != (unsigned INT *)_otherDigits[3]) { |
2586 if ( ((unsigned INT *)_myDigits)[3] != ((unsigned INT *)_otherDigits)[3]) { |
2588 RETURN(false); |
2587 RETURN(false); |
2589 } |
2588 } |
2590 _myDigits += sizeof(INT)*4; |
2589 _myDigits += sizeof(INT)*4; |
2591 _otherDigits += sizeof(INT)*4; |
2590 _otherDigits += sizeof(INT)*4; |
2592 _myLen -= sizeof(INT)*4; |
2591 _myLen -= sizeof(INT)*4; |
5138 ! ! |
5137 ! ! |
5139 |
5138 |
5140 !LargeInteger class methodsFor:'documentation'! |
5139 !LargeInteger class methodsFor:'documentation'! |
5141 |
5140 |
5142 version |
5141 version |
5143 ^ '$Header: /cvs/stx/stx/libbasic/LargeInteger.st,v 1.200 2010-04-13 18:58:43 cg Exp $' |
5142 ^ '$Header: /cvs/stx/stx/libbasic/LargeInteger.st,v 1.201 2010-04-14 08:00:14 stefan Exp $' |
5144 ! |
5143 ! |
5145 |
5144 |
5146 version_CVS |
5145 version_CVS |
5147 ^ '$Header: /cvs/stx/stx/libbasic/LargeInteger.st,v 1.200 2010-04-13 18:58:43 cg Exp $' |
5146 ^ '$Header: /cvs/stx/stx/libbasic/LargeInteger.st,v 1.201 2010-04-14 08:00:14 stefan Exp $' |
5148 ! ! |
5147 ! ! |