Fix mul! for uninitialized matrices and add interface tests#17
Merged
ChrisRackauckas merged 2 commits intoJan 11, 2026
Merged
Conversation
a3f47fa to
ef1c2ce
Compare
Author
Rebase and CI Fix SummaryThe PR has been rebased onto the latest main branch and the following fixes were made: Changes Made
CI StatusPassing:
Pre-existing failures (also failing on main):
The PR-specific issues have been resolved. The remaining failures are infrastructure issues that also affect the main branch. |
34b7dff to
22f25f1
Compare
Author
Update: CI Fixes AppliedAll requested fixes have been implemented: Changes Made
Current CI Status
The |
- Fix mul! methods to handle uninitialized output matrices by checking if b is zero and using fill!(C, zero(T)) instead of C.*=b, which fails on matrices with undefined references (e.g., BigFloat matrices created by similar()) - Add comprehensive interface compatibility tests for BigFloat support - Add tests for AbstractArray interface compliance - This enables the * operator to work correctly with BigFloat matrices 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
22f25f1 to
38eb09b
Compare
- Create test/Project.toml with core test dependencies - Create test/nopre/ subdirectory with JET dependency - Update runtests.jl to use GROUP-based test routing - Update CI workflow to exclude pre-release Julia from nopre tests - Clean up main Project.toml by removing unused extras/targets Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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.
Summary
fill!(C, zero(T))instead ofC.*=bProblem
The
*operator forSparseBandedMatrixwas failing when used withBigFloatelement types. This was because:*operator creates an uninitialized output matrix usingsimilar()mul!(C, A, B, true, false)where thefalse(b=0) argument should zero out CC.*=bpattern fails when C contains undefined references (like#undefin uninitialized BigFloat arrays)Solution
Replace
C.*=bwith:This ensures proper initialization of the output matrix regardless of element type.
Interface Testing
Added comprehensive interface tests for:
Note: ComplexF64 is not fully supported because
fma()is not defined for complex numbers. This is a known limitation of the current implementation.Test plan
*operator now works correctlycc @ChrisRackauckas
🤖 Generated with Claude Code