Ed Hennis
d7ce0e2dd3
Fix formatting, add an assert
2026-06-06 15:38:29 -04:00
Ed Hennis
c165af497e
Revert "Rollback Number class changes; show the fix works without side effects"
...
This reverts commit 8743be8eae .
2026-06-06 14:35:35 -04:00
Ed Hennis
8743be8eae
Rollback Number class changes; show the fix works without side effects
2026-06-06 14:34:31 -04:00
Ed Hennis
3a5c85067a
Include rounding in failed unit tests
2026-06-06 14:33:31 -04:00
Ed Hennis
2f701121b4
Merge remote-tracking branch 'upstream/develop' into ximinez/number-round-maxrep-down
...
* upstream/develop:
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)
ci: Use multiple directories in dependabot config (7413)
ci: Update clang-tidy to nix-based v22 (7412)
2026-06-06 14:04:24 -04:00
Ed Hennis
961ac6671e
Improve comment descriptions
2026-06-06 13:09:52 -04:00
Ed Hennis
012c67a7eb
Rework subtraction rounding (again) for more accuracy
...
- 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.
2026-06-06 01:04:26 -04:00
Ayaz Salikhov
949887feb9
build: Create single test binary xrpl_tests ( #7327 )
2026-06-05 19:24:32 +00:00
Ed Hennis
74c66d0944
refactor: Construct Number::Guard from MantissaRange or relevant fields
...
- 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.
2026-06-05 12:06:41 -04:00
Ayaz Salikhov
2111bb4b95
ci: Update clang-tidy to nix-based v22 ( #7412 )
2026-06-05 14:11:47 +00:00
Ed Hennis
f1bb4ded21
clang-tidy: template param names, const correctness, braces
2026-06-04 20:05:53 -04:00
Ed Hennis
aa8888732e
Merge branch 'develop' into ximinez/number-round-maxrep-down
2026-06-04 19:03:32 -04:00
Ayaz Salikhov
5b8e6cd1dd
test: Fix LCOV_EXCL_END -> LCOV_EXCL_STOP ( #7407 )
2026-06-04 19:35:36 +00:00
yinyiqian1
e5cf1a0985
fix: Add zero NFT Offer ID check for NFTokenCancelOffer ( #7391 )
2026-06-03 19:30:20 +00:00
Bart
96b2c0964f
refactor: Replace intr_ptr::SharedPtr<SHAMapTreeNode> by SHAMapTreeNodePtr ( #7396 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-06-03 15:34:19 +00:00
Ed Hennis
c84939ccea
Remove the kMaxRep+1 rounding tests
2026-06-02 15:59:26 -04:00
Ed Hennis
9e8c3caef4
Improve accuracy of Number::operator+=
...
- Use more of the available range of the uint128 operands.
- Also refactor Number::Guard::round() to return an enum.
2026-06-02 15:35:42 -04:00
Vito Tumas
225ed204ad
test: Suppress invariant-failure logs in Vault and LoanBroker bug-regression tests ( #7379 )
2026-06-02 17:12:09 +00:00
Ed Hennis
35bee87909
Experimental: Scale addition operands up to preserve accuracy
2026-06-01 21:52:31 -04:00
Ed Hennis
261508a0ec
Merge remote-tracking branch 'XRPLF/develop' into ximinez/number-round-maxrep-down
...
* 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)
2026-06-01 15:33:34 -04:00
Vito Tumas
109b649106
refactor: Use STLedgerEntry type aliases instead of std::shared_ptr ( #7282 )
2026-06-01 15:27:13 +00:00
Bart
7e15621e7b
release: Bump version to 3.2.0-rc3 ( #7371 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-05-31 22:55:18 +00:00
Vito Tumas
99431d7833
fix: Pin overpayment principal reduction to exact on-grid value ( #7360 )
2026-05-31 22:54:23 +00:00
Ed Hennis
47365f4220
fix: Improve upward rounding edge cases for Number::operator/= ( #7328 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-05-31 00:23:29 +00:00
Bart
1599c1a672
refactor: Revert "perf: Remove unnecessary caches ( #5439 )" ( #7359 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-05-30 18:48:59 +00:00
yinyiqian1
763dd503be
fix: Add zero domainID check for permissionedDomain ( #7362 )
2026-05-30 00:16:25 +00:00
Ed Hennis
9f872f2179
Include upward, write tests based on "expected" behavior
2026-05-29 19:46:50 -04:00
Ed Hennis
d1af39d9dd
test: Add another rounding unit test
2026-05-29 19:03:34 -04:00
Ed Hennis
f6a26ca34f
CI feedback: Add test cases covering other rounding modes
...
- Downward with a negative result, and ToNearest with a remainder
slightly larger than 0.5.
2026-05-29 18:54:08 -04:00
Ed Hennis
c0569037f8
Apply suggestions from code review
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-29 16:34:51 -04:00
Ed Hennis
be9ae88d48
Accept AI suggestion
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-28 23:38:54 -04:00
Ed Hennis
cd21d74538
Update the testUpwardRoundsDown test to run under all scales
...
- Demonstrates the incorrect "before" behavior
2026-05-28 19:58:52 -04:00
Ed Hennis
2fdfd2b420
Review feedback from Tapanito and AI
...
- 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.
2026-05-28 18:41:19 -04:00
Ed Hennis
06a3f76ccd
Skip clang-tidy false positive: misc-include-cleaner
2026-05-28 17:47:41 -04:00
Ed Hennis
18ac8a0583
Merge branch 'develop' into ximinez/number-division-accuracy
2026-05-27 15:18:17 -04:00
Bart
1acc42313c
release: Bump version to 3.2.0-rc2 ( #7348 )
2026-05-27 15:11:38 -04:00
Ayaz Salikhov
1438bf1c67
release: Bump version to 3.2.0-rc1 ( #7335 )
2026-05-27 13:20:57 -04:00
Ed Hennis
8dcd88e83c
Tweak how the denominator is handled in division
...
- Removes one int64 to 128 conversion
2026-05-27 12:34:49 -04:00
Ed Hennis
4ec049e727
Minor fixes: missing include, variable init, typo
2026-05-27 12:09:13 -04:00
Ed Hennis
7da643d864
fix: Fix a rounding error at the Number::maxRep cusp ( #7051 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-05-27 15:19:20 +00:00
Ed Hennis
ae9c72bb7c
Test optimization: Number_test::pow10
2026-05-27 00:36:38 -04:00
Ed Hennis
5abecb9fcb
Significant rewrite
...
- Simplify Number::operator/= to use more constexpr values, and fewer
variations.
- Most significantly, rounding up doesn't need more precision, it only
needs to know if there's a remainder after the current precision work
is done. Tracked similarly Guard::xbit_.
- Build a constexpr lookup array for powers of 10. Only a handful of
values are used, but since it's built at compile time, and constexpr,
unused values do not affect memory or performance.
2026-05-27 00:07:48 -04:00
Ed Hennis
e851e80de0
Merge branch 'ximinez/number-fix-maxrepcusp' into ximinez/number-division-accuracy
2026-05-26 16:56:47 -04:00
Ed Hennis
a963035f76
Merge branch 'develop' into ximinez/number-fix-maxrepcusp
2026-05-26 16:56:43 -04:00
Ed Hennis
8ab904de57
Merge branch 'ximinez/number-fix-maxrepcusp' into ximinez/number-division-accuracy
2026-05-26 16:01:44 -04:00
Ed Hennis
100ec464d9
Merge branch 'develop' into ximinez/number-fix-maxrepcusp
2026-05-26 16:01:40 -04:00
Ed Hennis
e89e6f50e8
Merge remote-tracking branch 'XRPLF/ximinez/number-fix-maxrepcusp' into ximinez/number-division-accuracy
...
* XRPLF/ximinez/number-fix-maxrepcusp:
clang-tidy: implicit bool conversion
Address some AI review feedback: predeclare, include, format, comment
fix: Fix `VaultInvariant` and `VaultDeposit` precision bugs at IOU scale boundaries (7272)
ci: Add clang to nix images (7308)
fix: Include management-fee delta in doOverpayment assertion (7039)
fix: Fix clang-tidy pre-commit hook to locate compile_commands.json from repo root (7325)
fix: Use consistent scale for `debtTotal` (7093)
fix: Skip deleted book directories and non-root modifications in `ValidBookDirectory` invariant (7312)
fix: Address review feedback on FD/handle guarding (5823 follow-up) (7310)
fix: Fix non-canonical MPT amount (7117)
2026-05-26 15:53:36 -04:00
Ed Hennis
27456fa439
Use the local range instead of calling a function
2026-05-26 15:52:25 -04:00
Ed Hennis
d6844311c0
clang-tidy: missing header
2026-05-26 15:48:29 -04:00
Andrzej Budzanowski
85af406a0f
fix: Update clang-tidy to include src/tests directory header check ( #7307 )
2026-05-26 19:35:32 +00:00