From 061b48ba0a04cc94d7d22d50d673889cd04c97ae Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Fri, 3 Jul 2026 11:22:04 +0100 Subject: [PATCH 1/2] Support BlockArrays v1.10 --- Project.toml | 2 +- src/interfaceimpl.jl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Project.toml b/Project.toml index cc18e35..9f18b9b 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "BlockBandedMatrices" uuid = "ffab5731-97b5-5995-9138-79e8c1846df0" -version = "0.13.5" +version = "0.13.6" [deps] ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" diff --git a/src/interfaceimpl.jl b/src/interfaceimpl.jl index b47650a..c775299 100644 --- a/src/interfaceimpl.jl +++ b/src/interfaceimpl.jl @@ -57,7 +57,7 @@ function blockbandwidths(::AbstractBandedLayout, (a,b)::Tuple{AbstractBlockedUni end end -function blockbandwidths(::AbstractBandedLayout, (a,b)::Tuple{BlockedOneTo{<:Any,<:AbstractRange}, BlockedOneTo{<:Any,<:AbstractRange}}, A) +function blockbandwidths(::AbstractBandedLayout, (a,b)::Tuple{AbstractBlockedUnitRange{<:Any,<:AbstractRange}, AbstractBlockedUnitRange{<:Any,<:AbstractRange}}, A) a ≠ b && return blockbandwidths(UnknownLayout(), (a,b), A) # can implement same step but not done yet l,u = bandwidths(A) s = step(a.lasts) # normal blocksize From 3d799d2fda58cf002e29881c8191927b83395b66 Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Fri, 3 Jul 2026 11:42:39 +0100 Subject: [PATCH 2/2] Update interfaceimpl.jl --- src/interfaceimpl.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/interfaceimpl.jl b/src/interfaceimpl.jl index c775299..39b5dee 100644 --- a/src/interfaceimpl.jl +++ b/src/interfaceimpl.jl @@ -58,7 +58,7 @@ function blockbandwidths(::AbstractBandedLayout, (a,b)::Tuple{AbstractBlockedUni end function blockbandwidths(::AbstractBandedLayout, (a,b)::Tuple{AbstractBlockedUnitRange{<:Any,<:AbstractRange}, AbstractBlockedUnitRange{<:Any,<:AbstractRange}}, A) - a ≠ b && return blockbandwidths(UnknownLayout(), (a,b), A) # can implement same step but not done yet + step(a.lasts) ≠ step(b.lasts) && return blockbandwidths(UnknownLayout(), (a,b), A) # can implement same step but not done yet l,u = bandwidths(A) s = step(a.lasts) # normal blocksize (l+s-1) ÷ s, (u+s-1) ÷ s @@ -85,9 +85,9 @@ sublayout(::DiagonalLayout{L}, inds::Type{<:NTuple{2,BS}}) where {L,BS<:BlockSli ## # special for unitblocks -blockbandwidths(A::BlockedMatrix{<:Any,<:Any,<:NTuple{2,BlockedOneTo{Int,<:AbstractUnitRange{Int}}}}) = bandwidths(A.blocks) -blockbandwidths(A::BlockedMatrix{<:Any,<:Diagonal,<:NTuple{2,BlockedOneTo{Int,<:AbstractUnitRange{Int}}}}) = bandwidths(A.blocks) -subblockbandwidths(A::BlockedMatrix{<:Any,<:Any,<:NTuple{2,BlockedOneTo{Int,<:AbstractUnitRange{Int}}}}) = (0,0) +blockbandwidths(A::BlockedMatrix{<:Any,<:Any,<:NTuple{2,AbstractBlockedUnitRange{Int,<:AbstractUnitRange{Int}}}}) = bandwidths(A.blocks) +blockbandwidths(A::BlockedMatrix{<:Any,<:Diagonal,<:NTuple{2,AbstractBlockedUnitRange{Int,<:AbstractUnitRange{Int}}}}) = bandwidths(A.blocks) +subblockbandwidths(A::BlockedMatrix{<:Any,<:Any,<:NTuple{2,AbstractBlockedUnitRange{Int,<:AbstractUnitRange{Int}}}}) = (0,0) ## BlockVector