diff options
Diffstat (limited to 'src/amount.cc')
-rw-r--r-- | src/amount.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/amount.cc b/src/amount.cc index 653272ed..bc8b0b6f 100644 --- a/src/amount.cc +++ b/src/amount.cc @@ -259,6 +259,18 @@ int amount_t::compare(const amount_t& amt) const return mpq_cmp(MP(quantity), MP(amt.quantity)); } +bool amount_t::operator==(const amount_t& amt) const +{ + if ((quantity && ! amt.quantity) || (! quantity && amt.quantity)) + return false; + else if (! quantity && ! amt.quantity) + return true; + else if (commodity() != amt.commodity()) + return false; + + return mpq_equal(MP(quantity), MP(amt.quantity)); +} + amount_t& amount_t::operator+=(const amount_t& amt) { |