From 06dec7b656a4e947d88b4b8dce0c12624b5c0180 Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Thu, 2 Jul 2026 21:15:17 +0100 Subject: [PATCH 1/3] specify init in maximum (for FillArrays v1.17 support) --- Project.toml | 2 +- src/BlockSkylineMatrix.jl | 4 ++-- 2 files changed, 3 insertions(+), 3 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/BlockSkylineMatrix.jl b/src/BlockSkylineMatrix.jl index 633ffa6..cdad6bc 100644 --- a/src/BlockSkylineMatrix.jl +++ b/src/BlockSkylineMatrix.jl @@ -5,7 +5,7 @@ checkbandwidths(N, M, l::AbstractVector{Int}, u::AbstractVector{Int}) = #### Routines for BandedSizes function bb_blockstarts(ax, l::AbstractVector{Int}, u::AbstractVector{Int}) N,M = blocksize.(ax,1) - L,U = maximum(l), maximum(u) + L,U = maximum(l; init=0), maximum(u; init=0) b_start = BandedMatrix{Int}(undef, (N, M), (L, U)) -L > U && return b_start @@ -28,7 +28,7 @@ end function bb_blockstrides(b_axes, l::AbstractVector{Int}, u::AbstractVector{Int}) N, M = blocksize.(b_axes,1) - L,U = maximum(l), maximum(u) + L,U = maximum(l; init=0), maximum(u; init=0) checkbandwidths(N, M, l, u) b_strides = Vector{Int}(undef, M) for J=1:M From a39a5c5987c891c309ff6eaafbfae9cc5e14177c Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Thu, 2 Jul 2026 21:25:34 +0100 Subject: [PATCH 2/3] Update BlockSkylineMatrix.jl --- src/BlockSkylineMatrix.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BlockSkylineMatrix.jl b/src/BlockSkylineMatrix.jl index cdad6bc..d139492 100644 --- a/src/BlockSkylineMatrix.jl +++ b/src/BlockSkylineMatrix.jl @@ -368,7 +368,7 @@ axes(A::BlockSkylineMatrix) = A.block_sizes.axes MemoryLayout(::Type{<:BlockSkylineMatrix}) = BlockBandedColumnMajor() colblockbandwidths(A::BlockSkylineMatrix) = (A.block_sizes.l, A.block_sizes.u) -blockbandwidths(A::BlockSkylineMatrix) = maximum.(colblockbandwidths(A)) +blockbandwidths(A::BlockSkylineMatrix) = maximum.(colblockbandwidths(A); init=0) BroadcastStyle(::Type{<:BlockSkylineMatrix}) = BlockSkylineStyle() BroadcastStyle(::Type{<:BlockBandedMatrix}) = BlockBandedStyle() From 3a5ed7095406f734840b8a86ff86dee71d86887c Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Sun, 2 Aug 2026 08:32:11 +0100 Subject: [PATCH 3/3] negative init --- src/BlockSkylineMatrix.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/BlockSkylineMatrix.jl b/src/BlockSkylineMatrix.jl index d139492..833c6fd 100644 --- a/src/BlockSkylineMatrix.jl +++ b/src/BlockSkylineMatrix.jl @@ -5,7 +5,7 @@ checkbandwidths(N, M, l::AbstractVector{Int}, u::AbstractVector{Int}) = #### Routines for BandedSizes function bb_blockstarts(ax, l::AbstractVector{Int}, u::AbstractVector{Int}) N,M = blocksize.(ax,1) - L,U = maximum(l; init=0), maximum(u; init=0) + L,U = maximum(l; init=-720), maximum(u; init=-720) b_start = BandedMatrix{Int}(undef, (N, M), (L, U)) -L > U && return b_start @@ -28,7 +28,7 @@ end function bb_blockstrides(b_axes, l::AbstractVector{Int}, u::AbstractVector{Int}) N, M = blocksize.(b_axes,1) - L,U = maximum(l; init=0), maximum(u; init=0) + L,U = maximum(l; init=-720), maximum(u; init=-720) checkbandwidths(N, M, l, u) b_strides = Vector{Int}(undef, M) for J=1:M @@ -368,7 +368,7 @@ axes(A::BlockSkylineMatrix) = A.block_sizes.axes MemoryLayout(::Type{<:BlockSkylineMatrix}) = BlockBandedColumnMajor() colblockbandwidths(A::BlockSkylineMatrix) = (A.block_sizes.l, A.block_sizes.u) -blockbandwidths(A::BlockSkylineMatrix) = maximum.(colblockbandwidths(A); init=0) +blockbandwidths(A::BlockSkylineMatrix) = maximum.(colblockbandwidths(A); init=-720) BroadcastStyle(::Type{<:BlockSkylineMatrix}) = BlockSkylineStyle() BroadcastStyle(::Type{<:BlockBandedMatrix}) = BlockBandedStyle()