Skip to content

Commit 6970e33

Browse files
authored
sub_materialize_axes for PseudoBlockArray axes dispatch (#286)
1 parent a930509 commit 6970e33

File tree

3 files changed

+7
-11
lines changed

3 files changed

+7
-11
lines changed

Project.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "BlockArrays"
22
uuid = "8e7c35d0-a365-5155-bbbb-fb81a777f24e"
3-
version = "0.16.33"
3+
version = "0.16.34"
44

55
[deps]
66
ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a"
@@ -9,7 +9,7 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
99

1010
[compat]
1111
Aqua = "0.5, 0.6"
12-
ArrayLayouts = "1"
12+
ArrayLayouts = "1.0.8"
1313
Documenter = "0.27"
1414
FillArrays = "1"
1515
julia = "1.6"

src/BlockArrays.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import LinearAlgebra: lmul!, rmul!, AbstractTriangular, HermOrSym, AdjOrTrans,
4242
import ArrayLayouts: _fill_lmul!, MatMulVecAdd, MatMulMatAdd, MatLmulVec, MatLdivVec,
4343
materialize!, MemoryLayout, sublayout, transposelayout, conjlayout,
4444
triangularlayout, triangulardata, _inv, _copyto!, axes_print_matrix_row,
45-
colsupport, rowsupport, sub_materialize, zero!
45+
colsupport, rowsupport, sub_materialize, sub_materialize_axes, zero!
4646

4747
include("blockindices.jl")
4848
include("blockaxis.jl")

src/blocklinalg.jl

+4-8
Original file line numberDiff line numberDiff line change
@@ -101,16 +101,12 @@ sublayout(BL::BlockLayout{MLAY,BLAY}, ::Type{<:NTuple{N,<:BlockedUnitRange}}) wh
101101

102102
# materialize views, used for `getindex`
103103
sub_materialize(::AbstractBlockLayout, V, _) = BlockArray(V)
104-
sub_materialize(::AbstractBlockLayout, V, ::Tuple{<:BlockedUnitRange}) = BlockArray(V)
105-
sub_materialize(::AbstractBlockLayout, V, ::Tuple{<:BlockedUnitRange,<:BlockedUnitRange}) = BlockArray(V)
106-
sub_materialize(::AbstractBlockLayout, V, ::Tuple{<:AbstractUnitRange,<:BlockedUnitRange}) = BlockArray(V)
107-
sub_materialize(::AbstractBlockLayout, V, ::Tuple{<:BlockedUnitRange,<:AbstractUnitRange}) = BlockArray(V)
108104

109105
# if it's not a block layout, best to use PseudoBlockArray to take advantage of strideness
110-
sub_materialize(_, V, ::Tuple{<:BlockedUnitRange}) = PseudoBlockArray(V)
111-
sub_materialize(_, V, ::Tuple{<:BlockedUnitRange,<:BlockedUnitRange}) = PseudoBlockArray(V)
112-
sub_materialize(_, V, ::Tuple{<:AbstractUnitRange,<:BlockedUnitRange}) = PseudoBlockArray(V)
113-
sub_materialize(_, V, ::Tuple{<:BlockedUnitRange,<:AbstractUnitRange}) = PseudoBlockArray(V)
106+
sub_materialize_axes(V, ::Tuple{BlockedUnitRange}) = PseudoBlockArray(V)
107+
sub_materialize_axes(V, ::Tuple{BlockedUnitRange,BlockedUnitRange}) = PseudoBlockArray(V)
108+
sub_materialize_axes(V, ::Tuple{AbstractUnitRange,BlockedUnitRange}) = PseudoBlockArray(V)
109+
sub_materialize_axes(V, ::Tuple{BlockedUnitRange,AbstractUnitRange}) = PseudoBlockArray(V)
114110

115111
# Special for FillArrays.jl
116112

0 commit comments

Comments
 (0)