Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change type signature of _checkbuffers and _goodbuffers #77

Merged
merged 1 commit into from
Feb 18, 2022

Conversation

abraemer
Copy link
Contributor

@abraemer abraemer commented Feb 14, 2022

This PR only changes 2 lines - the signatures of _checkbuffers and _goodbuffers as mentioned in the linked issue.

These methods check the assumptions on colptr, rowval and nonzeros and thus should work for all AbstractSparseMatrixCSC. Changing the signature also removes the need for every subtype to implement it, which will fix the packages broken by JuliaLang/julia/pull/40523 such as ThreadedSparseArrays.jl/issues/9

Fixes #9

These methods check the assumptions on colptr, rowval and nonzeros and thus should work for all AbstractSparseMatrixCSC. Changing the signature also removes the need for every subtype to implement it.

Fixes JuliaSparse#9
@codecov-commenter
Copy link

codecov-commenter commented Feb 14, 2022

Codecov Report

Merging #77 (65ce8c8) into main (aa51c9b) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main      #77      +/-   ##
==========================================
- Coverage   89.16%   89.14%   -0.02%     
==========================================
  Files           7        7              
  Lines        5667     5667              
==========================================
- Hits         5053     5052       -1     
- Misses        614      615       +1     
Impacted Files Coverage Δ
src/sparsematrix.jl 95.00% <100.00%> (-0.05%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update aa51c9b...65ce8c8. Read the comment docs.

@abraemer
Copy link
Contributor Author

abraemer commented Feb 15, 2022

After the split, how is compatibility with Julia handled? Do we want/need to merge this somewhere else as well?

Are there basically multiple versions of SparseArrays.jl now? This external one and for each older Julia version the one still in the main repository?

Edit:
I looked at the main repo and the split of SparseArrays.jl is for 1.8, right? Anyways the 1.7.2 version also contains the _goodbuffers and _checkbuffers methods, so we probably want this change in the main repo for version 1.7.3 (?) as well. Should I submit another PR to the main repo? (And is this how fixes to SparseArrays.jl will work from now on after the split?)

1.6.5 does not have the stricter checks.

@ViralBShah ViralBShah merged commit a5e9ac4 into JuliaSparse:main Feb 18, 2022
@ViralBShah
Copy link
Member

ViralBShah commented Feb 18, 2022

This will get synced with Julia master periodically. @DilumAluthge How often do we do the bump?

I don't think this will be accepted for 1.6 (@KristofferC may be able to say more). For 1.7, @KristofferC may be able to say how best to backport. I suggest that we not worry about this for older versions unless it is blocking something for someone.

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.

defining a new AbstractSparseMatrixCSC requires defining _checkbuffers (internal function)
3 participants