mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-18 21:30:38 +01:00
[poincare] relative integer comparison
This commit is contained in:
@@ -114,7 +114,7 @@ bool Integer::operator<(const Integer &other) const {
|
||||
native_uint_t digit = m_digits[m_numberOfDigits-i-1];
|
||||
native_uint_t otherDigit = other.m_digits[m_numberOfDigits-i-1];
|
||||
if (digit != otherDigit) {
|
||||
return (digit < otherDigit);
|
||||
return (digit < otherDigit) != m_negative;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -15,6 +15,9 @@ QUIZ_CASE(poincare_integer) {
|
||||
QUIZ_CASE(poincare_integer_compare) {
|
||||
assert(Integer(123) < Integer(456));
|
||||
assert(!(Integer(123) < Integer(123)));
|
||||
assert(!(Integer(-123) < Integer(-123)));
|
||||
assert(Integer(-100) < Integer(2));
|
||||
assert(Integer(-200) < Integer(-100));
|
||||
assert(Integer(123) < Integer("123456789123456789"));
|
||||
assert(Integer("123456789123456788") < Integer("123456789123456789"));
|
||||
assert(!(Integer("123456789123456789") < Integer("123456789123456788")));
|
||||
|
||||
Reference in New Issue
Block a user