Skip to content

Commit b76cd02

Browse files
committed
Support Slice in sublayout
1 parent 8a3bf53 commit b76cd02

File tree

3 files changed

+8
-9
lines changed

3 files changed

+8
-9
lines changed

Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
1313
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
1414

1515
[compat]
16-
ArrayLayouts = "0.6.3, 0.7"
16+
ArrayLayouts = "0.7"
1717
BandedMatrices = "0.16.8"
18-
BlockArrays = "0.15.2, 0.16"
18+
BlockArrays = "0.16.6"
1919
FillArrays = "0.11, 0.12"
2020
MatrixFactorizations = "0.7.1, 0.8"
2121
julia = "1.5"

src/BlockBandedMatrices.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import BlockArrays: blocksize, blockcheckbounds, BlockedUnitRange, blockisequal,
3333
Block, BlockSlice, unblock, block, blockindex,
3434
_blocklengths2blocklasts, BlockIndexRange, sizes_from_blocks, BlockSlice1,
3535
blockcolsupport, blockrowsupport, blockcolstart, blockcolstop, blockrowstart, blockrowstop,
36-
AbstractBlockLayout, BlockLayout, blocks, hasmatchingblocks, BlockStyle
36+
AbstractBlockLayout, BlockLayout, blocks, hasmatchingblocks, BlockStyle, BlockSlices
3737

3838
import BandedMatrices: isbanded, bandwidths, bandwidth, banded_getindex, colrange,
3939
inbands_setindex!, inbands_getindex, banded_setindex!,

src/linalg.jl

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,15 +90,14 @@ end
9090
####
9191
# BlockIndexRange subblocks
9292
####
93+
sublayout(::AbstractBlockBandedLayout, ::Type{<:Tuple{<:BlockSlices, <:BlockSlices}}) = BlockBandedLayout()
9394

94-
sublayout(::AbstractBlockBandedLayout, ::Type{<:Tuple{<:BlockSlice{<:BlockRange1}, <:BlockSlice{<:BlockRange1}}}) = BlockBandedLayout()
95-
96-
sublayout(::BlockBandedColumnMajor, ::Type{<:Tuple{<:BlockSlice{<:BlockRange1}, <:BlockSlice{<:BlockRange1}}}) = BlockBandedColumnMajor()
97-
sublayout(::BlockBandedColumnMajor, ::Type{<:Tuple{<:BlockSlice{<:BlockRange1}, <:BlockSlice{Block1}}}) = ColumnMajor()
98-
sublayout(::BlockBandedColumnMajor, ::Type{<:Tuple{<:BlockSlice{<:BlockRange1}, <:BlockSlice{<:BlockIndexRange1}}}) = ColumnMajor()
95+
sublayout(::BlockBandedColumnMajor, ::Type{<:Tuple{<:BlockSlices, <:BlockSlices}}) = BlockBandedColumnMajor()
96+
sublayout(::BlockBandedColumnMajor, ::Type{<:Tuple{<:BlockSlices, <:BlockSlice{Block1}}}) = ColumnMajor()
97+
sublayout(::BlockBandedColumnMajor, ::Type{<:Tuple{<:BlockSlices, <:BlockSlice{<:BlockIndexRange1}}}) = ColumnMajor()
9998
sublayout(::BlockBandedColumnMajor, ::Type{<:Tuple{<:BlockSlice{<:BlockIndexRange1}, <:BlockSlice{<:BlockIndexRange1}}}) = ColumnMajor()
10099

101-
isblockbanded(V::SubArray{<:Any,2,<:Any,<:Tuple{<:BlockSlice{<:BlockRange1}, <:BlockSlice{<:BlockRange1}}}) =
100+
isblockbanded(V::SubArray{<:Any,2,<:Any,<:Tuple{<:BlockSlices, <:BlockSlices}}) =
102101
isblockbanded(parent(V))
103102

104103
sub_materialize(::AbstractBlockBandedLayout, V, _) = BlockBandedMatrix(V)

0 commit comments

Comments
 (0)