* ximinez/number-round-maxrep-down:
Revert "Rollback Number class changes; show the fix works without side effects"
Rollback Number class changes; show the fix works without side effects
Include rounding in failed unit tests
Improve comment descriptions
Rework subtraction rounding (again) for more accuracy
build: Create single test binary xrpl_tests (7327)
ci: [DEPENDABOT] bump actions/checkout from 6.0.2 to 6.0.3 (7414)
ci: Refactor build-related nix / docker / workflows (7408)
refactor: Construct Number::Guard from MantissaRange or relevant fields
ci: Use multiple directories in dependabot config (7413)
ci: Update clang-tidy to nix-based v22 (7412)
clang-tidy: template param names, const correctness, braces
- Go back to the old method of computing the mantissa, but when post
processing, expand the mantissa to slightly larger than maxMantissa,
then in doRoundDown, if the result is not exact, subtract one.
Finally, let doNormalize figure out the rounding of the result.
- Simplifies the function signatures in Guard, because it doesn't need
to have those values passed in constantly.
- Also simplifies some of the functions because they don't need to store
values just to pass them to Guard functions.
- Treat values in between kMaxRep (2^63-1) and kMaxRepUp (((kMaxRep
/ 10) + 1) * 10, which is the next multiple of 10 above kMaxRep) as if
those values were sequential, and values in between were "fractional".
- This results in values above the midpoint rounding up to kMaxRepUp,
and below the midpoint to kMaxRep when rounding to nearest. Other
rounding modes act along the same lines.
- Also refactor "Number::Guard::round()` to return an enum making it
clearer what's going on.
* XRPLF/develop:
ci: Check binaries separately from building them (7355)
ci: [DEPENDABOT] bump eps1lon/actions-label-merge-conflict from 3.0.3 to 3.1.0 (7375)
refactor: Use `STLedgerEntry` type aliases instead of `std::shared_ptr` (7282)
fix: Adjust xrpld systemd service and update timer (7374)
release: Bump version to 3.2.0-rc3 (7371)
fix: Pin overpayment principal reduction to exact on-grid value (7360)
fix: Improve upward rounding edge cases for Number::operator/= (7328)
refactor: Revert "perf: Remove unnecessary caches (5439)" (7359)
fix: Add zero domainID check for permissionedDomain (7362)
- Add missing headers.
- Improve code coverage exclusions.
- Clean up several variable names.
- Improve explanatory comments.
- Remove the switch statement from MantissaRange::getMin. Change it to
a straight power of ten lookup.