From dde5f59dc262e0ceb64694107430fc1ae35eb412 Mon Sep 17 00:00:00 2001 From: Josh Koon <45607479+joshkoon@users.noreply.github.com> Date: Thu, 21 Feb 2019 16:47:14 -0800 Subject: [PATCH] Replace unnecessary Rational::Not with Xor operation --- src/CalcManager/CEngine/Rational.cpp | 5 ----- src/CalcManager/CEngine/scicomm.cpp | 2 +- src/CalcManager/CEngine/scidisp.cpp | 2 +- src/CalcManager/CEngine/scioper.cpp | 4 ++-- src/CalcManager/CEngine/sciset.cpp | 2 +- src/CalcManager/Header Files/Rational.h | 2 -- 6 files changed, 5 insertions(+), 12 deletions(-) diff --git a/src/CalcManager/CEngine/Rational.cpp b/src/CalcManager/CEngine/Rational.cpp index b7d43c9a..8cfbab0d 100644 --- a/src/CalcManager/CEngine/Rational.cpp +++ b/src/CalcManager/CEngine/Rational.cpp @@ -379,11 +379,6 @@ namespace CalcEngine return lhs; } - Rational Rational::Not(Rational const& chopNum) const - { - return *this ^ chopNum; - } - bool Rational::IsZero() const { return this->P().IsZero(); diff --git a/src/CalcManager/CEngine/scicomm.cpp b/src/CalcManager/CEngine/scicomm.cpp index 25cf1c70..c62f6cb7 100644 --- a/src/CalcManager/CEngine/scicomm.cpp +++ b/src/CalcManager/CEngine/scicomm.cpp @@ -1053,7 +1053,7 @@ wstring CCalcEngine::GetStringForDisplay(Rational const& rat, uint32_t radix) if ((radix == 10) && fMsb) { // If high bit is set, then get the decimal number in negative 2's compl form. - tempRat = -(tempRat.Not(m_chopNumbers[m_numwidth]) + 1); + tempRat = -((tempRat ^ m_chopNumbers[m_numwidth]) + 1); } result = tempRat.ToString(radix, m_nFE, m_precision); diff --git a/src/CalcManager/CEngine/scidisp.cpp b/src/CalcManager/CEngine/scidisp.cpp index ebeb188f..2d0e8f39 100644 --- a/src/CalcManager/CEngine/scidisp.cpp +++ b/src/CalcManager/CEngine/scidisp.cpp @@ -65,7 +65,7 @@ CalcEngine::Rational CCalcEngine::TruncateNumForIntMath(CalcEngine::Rational con { // if negative make positive by doing a twos complement result = -(result) - 1; - result = result.Not(m_chopNumbers[m_numwidth]); + result ^= m_chopNumbers[m_numwidth]; } result &= m_chopNumbers[m_numwidth]; diff --git a/src/CalcManager/CEngine/scioper.cpp b/src/CalcManager/CEngine/scioper.cpp index 8981c122..a29be190 100644 --- a/src/CalcManager/CEngine/scioper.cpp +++ b/src/CalcManager/CEngine/scioper.cpp @@ -89,7 +89,7 @@ CalcEngine::Rational CCalcEngine::DoOperation(int operation, CalcEngine::Rationa if (fMsb) { - result = rhs.Not(m_chopNumbers[m_numwidth]) + 1; + result = (rhs ^ m_chopNumbers[m_numwidth]) + 1; iNumeratorSign = -1; } @@ -99,7 +99,7 @@ CalcEngine::Rational CCalcEngine::DoOperation(int operation, CalcEngine::Rationa if (fMsb) { - temp = temp.Not(m_chopNumbers[m_numwidth]) + 1; + temp = (temp ^ m_chopNumbers[m_numwidth]) + 1; iDenominatorSign = -1; } diff --git a/src/CalcManager/CEngine/sciset.cpp b/src/CalcManager/CEngine/sciset.cpp index 52dc5c95..52cfaab7 100644 --- a/src/CalcManager/CEngine/sciset.cpp +++ b/src/CalcManager/CEngine/sciset.cpp @@ -24,7 +24,7 @@ void CCalcEngine::SetRadixTypeAndNumWidth(RADIX_TYPE radixtype, NUM_WIDTH numwid if (fMsb) { // If high bit is set, then get the decimal number in -ve 2'scompl form. - auto tempResult = m_currentVal.Not(m_chopNumbers[m_numwidth]); + auto tempResult = m_currentVal ^ m_chopNumbers[m_numwidth]; m_currentVal = -(tempResult + 1); } diff --git a/src/CalcManager/Header Files/Rational.h b/src/CalcManager/Header Files/Rational.h index ccd8c8b3..0620f498 100644 --- a/src/CalcManager/Header Files/Rational.h +++ b/src/CalcManager/Header Files/Rational.h @@ -56,8 +56,6 @@ namespace CalcEngine friend Rational operator|(Rational lhs, Rational const& rhs); friend Rational operator^(Rational lhs, Rational const& rhs); - Rational Not(Rational const& chopNum) const; - bool IsZero() const; friend bool operator==(Rational const& lhs, Rational const& rhs);