From a7c69a6d0a5fc9c129b99dcb086e08dfe8d3c01e Mon Sep 17 00:00:00 2001 From: philippegorley <philippe.gorley@savoirfairelinux.com> Date: Tue, 5 Jun 2018 11:43:15 -0400 Subject: [PATCH] rational: add missing const Change-Id: I1b7db0f3f1bf335b63488d2d3cd6d09452b0b17f Reviewed-by: Sebastien Blin <sebastien.blin@savoirfairelinux.com> --- src/rational.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/rational.h b/src/rational.h index 364c75f9f0..c9263e263b 100644 --- a/src/rational.h +++ b/src/rational.h @@ -64,16 +64,16 @@ public: // operators are available - see operators.hpp // Arithmetic operators - rational operator+ (const rational& r) { + rational operator+ (const rational& r) const { return {num_*r.den_ + r.num_*den_, den_*r.den_}; } - rational operator- (const rational& r) { + rational operator- (const rational& r) const { return {num_*r.den_ - r.num_*den_, den_*r.den_}; } - rational operator* (const rational& r) { + rational operator* (const rational& r) const { return {num_*r.num_, den_*r.den_}; } - rational operator/ (const rational& r) { + rational operator/ (const rational& r) const { return {num_*r.den_, den_*r.num_}; } @@ -117,12 +117,18 @@ public: bool inv = (den_ > 0) != (r.den_ > 0); return inv != (num_ * r.den_ < den_ * r.num_); } + bool operator> (const rational& r) const { + bool inv = (den_ > 0) != (r.den_ > 0); + return inv != (num_ * r.den_ > den_ * r.num_); + } bool operator== (const rational& r) const { return num_ * r.den_ == den_ * r.num_; } + bool operator!= (const rational& r) const { return num_ * r.den_ != den_ * r.num_; } // Comparison with integers bool operator< (I i) const { return num_ < i * den_; } bool operator> (I i) const { return num_ > i * den_; } bool operator== (I i) const { return num_ == i * den_; } + bool operator!= (I i) const { return num_ != i * den_; } private: I num_ {0}; I den_ {1}; -- GitLab