From 0bc0826cd2f0704c4de2b40ea004b495a0e483b9 Mon Sep 17 00:00:00 2001 From: Rose <83477269+AtariDreams@users.noreply.github.com> Date: Fri, 30 Sep 2022 09:13:08 -0400 Subject: [PATCH] Make m_dwWordBitWidth unsigned Also adjust parameter types to accommodate this --- src/CalcManager/CEngine/CalcInput.cpp | 2 +- src/CalcManager/CEngine/scifunc.cpp | 8 ++++---- src/CalcManager/CEngine/sciset.cpp | 2 +- src/CalcManager/Header Files/CalcEngine.h | 4 ++-- src/CalcManager/Header Files/CalcInput.h | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/CalcManager/CEngine/CalcInput.cpp b/src/CalcManager/CEngine/CalcInput.cpp index 5bbc1408..0c2f757a 100644 --- a/src/CalcManager/CEngine/CalcInput.cpp +++ b/src/CalcManager/CEngine/CalcInput.cpp @@ -56,7 +56,7 @@ bool CalcInput::TryToggleSign(bool isIntegerMode, wstring_view maxNumStr) return true; } -bool CalcInput::TryAddDigit(unsigned int value, uint32_t radix, bool isIntegerMode, wstring_view maxNumStr, int32_t wordBitWidth, int maxDigits) +bool CalcInput::TryAddDigit(unsigned int value, uint32_t radix, bool isIntegerMode, wstring_view maxNumStr, uint32_t wordBitWidth, int maxDigits) { // Convert from an integer into a character // This includes both normal digits and alpha 'digits' for radixes > 10 diff --git a/src/CalcManager/CEngine/scifunc.cpp b/src/CalcManager/CEngine/scifunc.cpp index 7e956285..33f501a8 100644 --- a/src/CalcManager/CEngine/scifunc.cpp +++ b/src/CalcManager/CEngine/scifunc.cpp @@ -21,10 +21,10 @@ using namespace std; using namespace CalcEngine; -using namespace CalcEngine::RationalMath; +using namespace RationalMath; /* Routines for more complex mathematical functions/error checking. */ -CalcEngine::Rational CCalcEngine::SciCalcFunctions(CalcEngine::Rational const& rat, uint32_t op) +Rational CCalcEngine::SciCalcFunctions(Rational const& rat, uint32_t op) { Rational result{}; try @@ -39,7 +39,7 @@ CalcEngine::Rational CCalcEngine::SciCalcFunctions(CalcEngine::Rational const& r case IDC_COM: if (m_radix == 10 && !m_fIntegerMode) { - result = -(RationalMath::Integer(rat) + 1); + result = -(Integer(rat) + 1); } else { @@ -78,7 +78,7 @@ CalcEngine::Rational CCalcEngine::SciCalcFunctions(CalcEngine::Rational const& r result = Integer(rat); uint64_t w64Bits = result.ToUInt64_t(); - uint64_t lsb = ((w64Bits & 0x01) == 1) ? 1 : 0; + uint64_t lsb = w64Bits & 0x01; w64Bits >>= 1; // RShift by 1 if (op == IDC_ROR) diff --git a/src/CalcManager/CEngine/sciset.cpp b/src/CalcManager/CEngine/sciset.cpp index 57aeda3b..a65285cd 100644 --- a/src/CalcManager/CEngine/sciset.cpp +++ b/src/CalcManager/CEngine/sciset.cpp @@ -50,7 +50,7 @@ void CCalcEngine::SetRadixTypeAndNumWidth(RadixType radixtype, NUM_WIDTH numwidt DisplayNum(); } -int32_t CCalcEngine::DwWordBitWidthFromNumWidth(NUM_WIDTH numwidth) +uint32_t CCalcEngine::DwWordBitWidthFromNumWidth(NUM_WIDTH numwidth) { switch (numwidth) { diff --git a/src/CalcManager/Header Files/CalcEngine.h b/src/CalcManager/Header Files/CalcEngine.h index f387c020..15993892 100644 --- a/src/CalcManager/Header Files/CalcEngine.h +++ b/src/CalcManager/Header Files/CalcEngine.h @@ -149,7 +149,7 @@ private: int m_nLastCom; // Last command entered. AngleType m_angletype; // Current Angle type when in dec mode. one of deg, rad or grad NUM_WIDTH m_numwidth; // one of qword, dword, word or byte mode. - int32_t m_dwWordBitWidth; // # of bits in currently selected word size + uint32_t m_dwWordBitWidth; // # of bits in currently selected word size std::unique_ptr m_randomGeneratorEngine; std::unique_ptr> m_distr; @@ -179,7 +179,7 @@ private: CalcEngine::Rational SciCalcFunctions(CalcEngine::Rational const& rat, uint32_t op); CalcEngine::Rational DoOperation(int operation, CalcEngine::Rational const& lhs, CalcEngine::Rational const& rhs); void SetRadixTypeAndNumWidth(RadixType radixtype, NUM_WIDTH numwidth); - int32_t DwWordBitWidthFromNumWidth(NUM_WIDTH numwidth); + uint32_t DwWordBitWidthFromNumWidth(NUM_WIDTH numwidth); uint32_t NRadixFromRadixType(RadixType radixtype); double GenerateRandomNumber(); diff --git a/src/CalcManager/Header Files/CalcInput.h b/src/CalcManager/Header Files/CalcInput.h index b798d061..a7048969 100644 --- a/src/CalcManager/Header Files/CalcInput.h +++ b/src/CalcManager/Header Files/CalcInput.h @@ -60,7 +60,7 @@ namespace CalcEngine void Clear(); bool TryToggleSign(bool isIntegerMode, std::wstring_view maxNumStr); - bool TryAddDigit(unsigned int value, uint32_t radix, bool isIntegerMode, std::wstring_view maxNumStr, int32_t wordBitWidth, int maxDigits); + bool TryAddDigit(unsigned int value, uint32_t radix, bool isIntegerMode, std::wstring_view maxNumStr, uint32_t wordBitWidth, int maxDigits); bool TryAddDecimalPt(); bool HasDecimalPt(); bool TryBeginExponent();