Jelajahi Sumber

LibCrypto: Add SignedBigInteger::negated_value()

Return the negated value of the current number.
Lucas CHOLLET 3 tahun lalu
induk
melakukan
d589898f5b

+ 7 - 0
Userland/Libraries/LibCrypto/BigInt/SignedBigInteger.cpp

@@ -292,6 +292,13 @@ FLATTEN SignedDivisionResult SignedBigInteger::divided_by(SignedBigInteger const
     };
 }
 
+FLATTEN SignedBigInteger SignedBigInteger::negated_value() const
+{
+    auto result { *this };
+    result.negate();
+    return result;
+}
+
 u32 SignedBigInteger::hash() const
 {
     return m_unsigned_data.hash() * (1 - (2 * m_sign));

+ 2 - 0
Userland/Libraries/LibCrypto/BigInt/SignedBigInteger.h

@@ -121,6 +121,8 @@ public:
     [[nodiscard]] SignedBigInteger multiplied_by(UnsignedBigInteger const& other) const;
     [[nodiscard]] SignedDivisionResult divided_by(UnsignedBigInteger const& divisor) const;
 
+    [[nodiscard]] SignedBigInteger negated_value() const;
+
     [[nodiscard]] u32 hash() const;
 
     void set_bit_inplace(size_t bit_index);