abacus: bignum: add multiplication

This commit is contained in:
Bruno BELANYI 2021-08-20 22:19:20 +02:00
parent eb47889eef
commit 4a4b9f361c
3 changed files with 85 additions and 0 deletions

View file

@ -51,6 +51,17 @@ public:
return ret;
}
friend BigNum& operator*=(BigNum& lhs, BigNum const& rhs) {
lhs.multiply(rhs);
return lhs;
}
friend BigNum operator*(BigNum const& lhs, BigNum const& rhs) {
auto ret = lhs;
ret *= rhs;
return ret;
}
friend bool operator==(BigNum const& lhs, BigNum const& rhs) {
return lhs.equal(rhs);
}
@ -82,6 +93,7 @@ private:
void flip_sign();
void add(BigNum const& rhs);
void substract(BigNum const& rhs);
void multiply(BigNum const& rhs);
bool equal(BigNum const& rhs) const;
bool less_than(BigNum const& rhs) const;