Skip to content

Add cconvert for pointers to BlockSkylineMatrix blocks - #251

Merged
dlfivefifty merged 2 commits into
JuliaLinearAlgebra:masterfrom
nhz2:cconvert
Sep 28, 2026
Merged

dlfivefifty merged 2 commits into
JuliaLinearAlgebra:masterfrom
nhz2:cconvert

Conversation

@nhz2

@nhz2 nhz2 commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

This is a more correct fix compared to #234

On Julia nightly, Base defines cconvert for SubArrays of ranges, which
bypasses the unsafe_convert overloads here.
Define cconvert for BlockBandedBlock and the three
SubBlockSkylineMatrix view types, offsetting a view of A.data.
Test the strided interface with check_strided_get and run CI on nightly.

Assisted-by: Claude Code (Opus 5.5)

nhz2 and others added 2 commits September 27, 2026 15:37
For a BlockSkylineMatrix with ragged block bandwidths, block_starts is a
BandedMatrix with bandwidths (maximum(l), maximum(u)), so it has in-band
slots for blocks that a narrower column does not store. These were
allocated undef and never written, so reading them gave garbage. They now
read as 0, like the out-of-band entries.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
On Julia nightly, Base defines cconvert for SubArrays of ranges, which
bypasses the unsafe_convert overloads here and calls strides on the
non-strided parent. Define cconvert for BlockBandedBlock and the three
SubBlockSkylineMatrix view types, offsetting a view of A.data.
Test the strided interface with check_strided_get and run CI on nightly.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.76%. Comparing base (7f4bcdb) to head (29ab8fc).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #251      +/-   ##
==========================================
+ Coverage   90.45%   90.76%   +0.30%     
==========================================
  Files          11       11              
  Lines        1142     1169      +27     
==========================================
+ Hits         1033     1061      +28     
+ Misses        109      108       -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dlfivefifty
dlfivefifty merged commit 761b49e into JuliaLinearAlgebra:master Sep 28, 2026
19 checks passed
@nhz2
nhz2 deleted the cconvert branch September 28, 2026 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants