|
1 | 1 | using BlockArrays, BandedMatrices, BlockBandedMatrices, FillArrays, ArrayLayouts, LinearAlgebra, Test |
2 | | -import BlockBandedMatrices: MemoryLayout, ColumnMajor, BroadcastStyle, BlockBandedStyle |
| 2 | +import BlockBandedMatrices: MemoryLayout, ColumnMajor, BroadcastStyle, BlockBandedStyle, blockrowsupport, blockcolsupport |
3 | 3 | import Base.Broadcast: materialize! |
4 | 4 |
|
5 | 5 | @testset "BlockBandedMatrix" begin |
@@ -90,6 +90,25 @@ import Base.Broadcast: materialize! |
90 | 90 | @test ret[1,2] == 0 |
91 | 91 | end |
92 | 92 |
|
| 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 | + |
93 | 112 | @testset "block-banded matrix interface for blockranges" begin |
94 | 113 | l , u = 1,1 |
95 | 114 | N = M = 4 |
|
0 commit comments