## Fixes #111 > The modulo operator on this calculator gives the result that is different to the most used calculators. The current `modrate` function is the equivalent of rem(...)/remainder(...), not mod(...)/modulo(...) available in some popular Math apps. ### Description of the changes: - rename `modrate` in `remrate` to be more accurate. - add `modrate`, calculating modulo similarly to Matlab, Bing, Google calculator, Maxima, Wolfram Alpha and Microsoft Excel - Add `RationalMath::Mod` using `modrate` as an alternative to `Rational::operator%` using `remrate` - Add a helper `SIGN` to retrieve the sign of a `Rational`. - modify `CalcEngine` to use `modrate` in Normal and Scientific mode and `remrate` in Programmer mode. ### How changes were validated: - manually and unit tests added |
||
---|---|---|
.. | ||
CEngine | ||
Header Files | ||
Ratpack | ||
CalcManager.vcxproj | ||
CalcManager.vcxproj.filters | ||
CalculatorHistory.cpp | ||
CalculatorHistory.h | ||
CalculatorManager.cpp | ||
CalculatorManager.h | ||
CalculatorResource.h | ||
CalculatorVector.h | ||
Command.h | ||
ExpressionCommand.cpp | ||
ExpressionCommand.h | ||
ExpressionCommandInterface.h | ||
pch.cpp | ||
pch.h | ||
targetver.h | ||
UnitConverter.cpp | ||
UnitConverter.h |