1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 19:27:44 +00:00

LibCrypto: Add operator>() to UnsignedBigInteger and SignedBigInteger

Piggybacking on operator!=() and operator<().
This commit is contained in:
Linus Groh 2021-07-07 17:37:17 +01:00
parent fda22c6889
commit 89641d90db
4 changed files with 18 additions and 0 deletions

View file

@ -202,6 +202,11 @@ bool SignedBigInteger::operator<(const UnsignedBigInteger& other) const
return m_unsigned_data < other;
}
bool SignedBigInteger::operator>(const UnsignedBigInteger& other) const
{
return *this != other && !(*this < other);
}
FLATTEN SignedBigInteger SignedBigInteger::shift_left(size_t num_bits) const
{
return SignedBigInteger { m_unsigned_data.shift_left(num_bits), m_sign };
@ -261,4 +266,9 @@ bool SignedBigInteger::operator<(const SignedBigInteger& other) const
return m_unsigned_data < other.m_unsigned_data;
}
bool SignedBigInteger::operator>(const SignedBigInteger& other) const
{
return *this != other && !(*this < other);
}
}

View file

@ -121,10 +121,12 @@ public:
bool operator==(const SignedBigInteger& other) const;
bool operator!=(const SignedBigInteger& other) const;
bool operator<(const SignedBigInteger& other) const;
bool operator>(const SignedBigInteger& other) const;
bool operator==(const UnsignedBigInteger& other) const;
bool operator!=(const UnsignedBigInteger& other) const;
bool operator<(const UnsignedBigInteger& other) const;
bool operator>(const UnsignedBigInteger& other) const;
private:
bool m_sign { false };

View file

@ -332,6 +332,11 @@ bool UnsignedBigInteger::operator<(const UnsignedBigInteger& other) const
return false;
}
bool UnsignedBigInteger::operator>(const UnsignedBigInteger& other) const
{
return *this != other && !(*this < other);
}
}
void AK::Formatter<Crypto::UnsignedBigInteger>::format(FormatBuilder& fmtbuilder, const Crypto::UnsignedBigInteger& value)

View file

@ -98,6 +98,7 @@ public:
bool operator==(const UnsignedBigInteger& other) const;
bool operator!=(const UnsignedBigInteger& other) const;
bool operator<(const UnsignedBigInteger& other) const;
bool operator>(const UnsignedBigInteger& other) const;
private:
friend class UnsignedBigIntegerAlgorithms;