Conversation
Convert Scaling inputs for buffered add/sub-multiply as in the unbuffered implementation, fixing mixed rational subtraction and preserving aliases. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Codex <noreply@openai.com> Agent-Harness: Codex CLI 0.154.0 Agent-Model: gpt-6-astra Agent-Session: local session ID 01a099aa-308a-7fd3-91bd-9fb2dc357b91
Contributor
|
Just a simple conversion. Let me know if this isn't something that is expected to be supported. |
Contributor
|
Bump? |
blegat
marked this pull request as ready for review
September 17, 2026 12:16
Member
|
This looks reasonable thanks for the PR. The format failure seems unrelated, let's fix it in #365. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #364 +/- ##
=======================================
Coverage 91.66% 91.67%
=======================================
Files 23 23
Lines 2315 2317 +2
=======================================
+ Hits 2122 2124 +2
Misses 193 193 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
operate!!(-, big(1)//big(2), 1//3)currently throws because buffered BigInt add/sub-multiply has no mixed scalar conversion method. Add the buffered counterpart of the existing unbuffered conversion method, preserving the specialized all-BigInt implementation. The regression tests cover mixed rational arithmetic, variadic multiplication, independent inputs, and buffer/output aliases.This also resolves two unchanged Symbolics algebra test errors and a partial-fractions doctest error encountered while investigating SciML/MethodOfLines.jl#695. No dependency or public name is added.
Discriminating regression
The same final
test/test_big.jlwas run on clean master607eb7f96c4e60977da85f9d982f8f9b5e23bf3eand the patched source, using Julia 1.11.9. The clean worktree contains the new tests but no production fix:Before, the first new testset fails:
After, the official file passes all 3,470 assertions across 19 testsets, including:
The standalone reproducer imports only MutableArithmetics and Test:
An adjacent-commit control with identical dependencies passes 1/1 on
a1e23db56a7acdb8764947e2535737349e9a4cf5and errors on 594afd9, which introduced buffered rational arithmetic in #188.Full validation
Both final full suites exited successfully: 30,287 passed, 28 existing broken (30,315 total) on Julia 1.11.9 and 1.12.7. Both include the final 38 new assertions. The separate Julia 1.11 worktree has byte-identical changed source and tests, with a manifest resolved for that Julia version.
typosover the patch andgit diff --check: passed.docs/make.jlwith the repository's strict Documenter configuration: passed on Julia 1.10.12; deployment skipped locally.partialfractions.jlandlaplace.jl, with only the MutableArithmetics source entry changed in the dependency graph: 32 passed/2 errors/3 existing broken before, 34 passed/3 existing broken after.There is a separate context-dependent allocation failure on unchanged master under Julia 1.12: the targeted BigInt file can report
320 <= 280as false. The same failure reproduces without this patch; separate controls pass on Julia 1.10, 1.11 and 1.13, and with native package images disabled on Julia 1.12. No compiler-commit attribution or source fix is established. The bound and test order are unchanged; both final full test harnesses pass. This targeted failure is retained in the evidence rather than hidden by an assertion change.CI platforms and Julia versions beyond the local checks above have not been verified yet. Exact commands, logs, source hashes, the allocation investigation, and the standalone reproducer are archived at https://github.com/ChrisRackauckas/InternalJunk/pull/101.
Please ignore this draft until reviewed by @ChrisRackauckas.
Links
🤖 Generated with Codex CLI 0.154.0 (model: gpt-6-astra; local session ID: 01a099aa-308a-7fd3-91bd-9fb2dc357b91).