calculator/src/CalcManager
Rudy Huyn 7a7ceb5888 Modify how modulo is calculated in Normal and Scientific mode. (#412)
## 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
2019-04-16 17:17:24 -07:00
..
CEngine Modify how modulo is calculated in Normal and Scientific mode. (#412) 2019-04-16 17:17:24 -07:00
Header Files Modify how modulo is calculated in Normal and Scientific mode. (#412) 2019-04-16 17:17:24 -07:00
Ratpack Modify how modulo is calculated in Normal and Scientific mode. (#412) 2019-04-16 17:17:24 -07:00
CalcManager.vcxproj Build with /W4 (#197) 2019-03-08 23:15:28 -08:00
CalcManager.vcxproj.filters Fix declarations of functions (#186) 2019-03-13 13:15:08 -07:00
CalculatorHistory.cpp Propose code-cleanups#2 (#253) 2019-03-20 14:28:30 -07:00
CalculatorHistory.h Drop unneeded const-qualifier on return type (#396) 2019-04-12 13:40:02 -07:00
CalculatorManager.cpp Improve the support of Narrator with parenthesis (#368) 2019-04-15 09:31:02 -07:00
CalculatorManager.h Improve the support of Narrator with parenthesis (#368) 2019-04-15 09:31:02 -07:00
CalculatorResource.h Updating comments per the C++ core guidelines and removing trailing whitespace (#194) 2019-03-14 23:30:07 -07:00
CalculatorVector.h Replace custom types with standard ones (#212) 2019-03-26 14:30:46 -07:00
Command.h Updating comments per the C++ core guidelines and removing trailing whitespace (#194) 2019-03-14 23:30:07 -07:00
ExpressionCommand.cpp Fix order of initialization list in CalculatorManager, COpndCommand (#332) 2019-03-20 16:45:30 -07:00
ExpressionCommand.h Build with /W4 (#197) 2019-03-08 23:15:28 -08:00
ExpressionCommandInterface.h Add override keyword where applicable (#188) 2019-03-08 11:18:01 -08:00
pch.cpp Hello GitHub 2019-01-28 16:24:37 -08:00
pch.h Replace custom types with standard ones (#212) 2019-03-26 14:30:46 -07:00
targetver.h Hello GitHub 2019-01-28 16:24:37 -08:00
UnitConverter.cpp Keep input when users refresh currency rates (#369) 2019-04-16 11:29:43 -07:00
UnitConverter.h Keep input when users refresh currency rates (#369) 2019-04-16 11:29:43 -07:00