Skip to content

Commit fa51908

Browse files
authored
Fix blockrowstart/stop (#78)
* Fix blockrowstart/stop * Update test_blockbanded.jl * Update test_blockbanded.jl
1 parent 16005d2 commit fa51908

File tree

3 files changed

+23
-4
lines changed

3 files changed

+23
-4
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ ArrayLayouts = "0.3.3"
2020
BandedMatrices = "0.15.14"
2121
BlockArrays = "0.12.9"
2222
FillArrays = "0.8.10"
23-
MatrixFactorizations = "0.4.1"
23+
MatrixFactorizations = "0.4.1, 0.5"
2424
julia = "1.2"
2525

2626
[extras]

src/AbstractBlockBandedMatrix.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,9 @@ for Func in (:blockbanded_blockcolstart, :blockbanded_blockcolstop, :blockbanded
7575
end
7676

7777
blockbanded_blockcolstart(A, i::BlockRange) = blockbanded_blockcolstart(A, minimum(i))
78-
blockbanded_blocktowstart(A, i::BlockRange) = blockbanded_blockrowstart(A, minimum(i))
78+
blockbanded_blockrowstart(A, i::BlockRange) = blockbanded_blockrowstart(A, minimum(i))
7979
blockbanded_blockcolstop(A, i::BlockRange) = blockbanded_blockcolstop(A, maximum(i))
80-
blockbanded_blocktowstop(A, i::BlockRange) = blockbanded_blockrowstop(A, maximum(i))
80+
blockbanded_blockrowstop(A, i::BlockRange) = blockbanded_blockrowstop(A, maximum(i))
8181

8282

8383
@inline blockcolsupport(::AbstractBlockBandedLayout, A, i) = blockbanded_blockcolstart(A,i):blockbanded_blockcolstop(A,i)

test/test_blockbanded.jl

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using BlockArrays, BandedMatrices, BlockBandedMatrices, FillArrays, ArrayLayouts, LinearAlgebra, Test
2-
import BlockBandedMatrices: MemoryLayout, ColumnMajor, BroadcastStyle, BlockBandedStyle
2+
import BlockBandedMatrices: MemoryLayout, ColumnMajor, BroadcastStyle, BlockBandedStyle, blockrowsupport, blockcolsupport
33
import Base.Broadcast: materialize!
44

55
@testset "BlockBandedMatrix" begin
@@ -90,6 +90,25 @@ import Base.Broadcast: materialize!
9090
@test ret[1,2] == 0
9191
end
9292

93+
@testset "blockcol/rowsupport" begin
94+
l , u = 1,2
95+
N = M = 4
96+
cols = rows = 1:N
97+
A = BlockBandedMatrix{Int}(undef, rows,cols, (l,u))
98+
A.data .= 1:length(A.data)
99+
100+
@test blockrowsupport(A, 1) == Block.(1:3)
101+
@test blockrowsupport(A, 2) == Block.(1:4)
102+
@test blockrowsupport(A, 3) == Block.(2:4)
103+
@test blockrowsupport(A, Block.(3:4)) == Block.(2:4)
104+
105+
@test blockcolsupport(A, 1) == Block.(1:2)
106+
@test blockcolsupport(A, 2) == Block.(1:3)
107+
@test blockcolsupport(A, 3) == Block.(1:4)
108+
@test blockcolsupport(A, 4) == Block.(2:4)
109+
@test blockcolsupport(A, Block.(1:2)) == Block.(1:3)
110+
end
111+
93112
@testset "block-banded matrix interface for blockranges" begin
94113
l , u = 1,1
95114
N = M = 4

0 commit comments

Comments
 (0)