@@ -3,13 +3,14 @@ module LazyArraysBandedMatricesExt
3
3
using BandedMatrices, LazyArrays, LinearAlgebra
4
4
using LazyArrays. ArrayLayouts, LazyArrays. FillArrays, LazyArrays. LazyArrays
5
5
import ArrayLayouts: colsupport, rowsupport, materialize!, MatMulVecAdd, MatMulMatAdd, DenseColumnMajor,
6
- OnesLayout, AbstractFillLayout, mulreduce, inv_layout, _fill_lmul!, copyto!_layout, _copy_oftype
6
+ OnesLayout, AbstractFillLayout, mulreduce, inv_layout, _fill_lmul!, copyto!_layout, _copy_oftype,
7
+ layout_getindex
7
8
import LazyArrays: sublayout, symmetriclayout, hermitianlayout, applylayout, cachedlayout, transposelayout,
8
9
LazyArrayStyle, ApplyArrayBroadcastStyle, AbstractInvLayout, AbstractLazyLayout, LazyLayouts,
9
10
AbstractPaddedLayout, PaddedLayout, PaddedRows, PaddedColumns, CachedArray, CachedMatrix, LazyLayout, BroadcastLayout, ApplyLayout,
10
11
paddeddata, resizedata!, broadcastlayout, _broadcastarray2broadcasted, _broadcast_sub_arguments,
11
12
arguments, call, applybroadcaststyle, simplify, simplifiable, islazy_layout, lazymaterialize, _broadcast_mul_mul,
12
- triangularlayout
13
+ triangularlayout, AbstractCachedMatrix
13
14
import Base: BroadcastStyle, similar, copy, broadcasted, getindex, OneTo, oneto, tail, sign, abs
14
15
import BandedMatrices: bandedbroadcaststyle, bandwidths, isbanded, bandedcolumns, bandeddata, BandedStyle,
15
16
AbstractBandedLayout, AbstractBandedMatrix, BandedColumns, BandedRows, BandedSubBandedMatrix,
@@ -653,7 +654,11 @@ function getindex(bc::BroadcastArray{<:Any,2,<:Any,<:Tuple{AbstractMatrix,Number
653
654
bc. f .(A[b],c)
654
655
end
655
656
657
+ # issue 325
658
+ getindex (A:: AbstractCachedMatrix , b:: Band ) = layout_getindex (A, b)
656
659
657
660
triangularlayout (:: Type{Tri} , :: AbstractLazyBandedLayout ) where Tri = Tri {LazyBandedLayout} ()
658
661
662
+
663
+
659
664
end
0 commit comments