@@ -453,7 +453,7 @@ CachedArray(::Type{BandedMatrix}, matrix::AbstractMatrix{T}) where T = CachedArr
453
453
bandwidths (B:: CachedMatrix ) = bandwidths (B. data)
454
454
isbanded (B:: CachedMatrix ) = isbanded (B. data)
455
455
456
- cache_layout (:: BandedLayouts , A:: AbstractMatrix{T} ) where T = CachedArray (BandedMatrix {T } (undef, (0 ,0 ), bandwidths (A)), A)
456
+ cache_layout (:: BandedLayouts , A:: AbstractMatrix ) = CachedArray (BandedMatrix {eltype(A) } (undef, (0 ,0 ), bandwidths (A)), A)
457
457
458
458
function bandeddata (A:: CachedMatrix )
459
459
resizedata! (A, size (A)... )
@@ -537,12 +537,11 @@ bandeddata(R::ApplyMatrix{<:Any,typeof(rot180)}) = @view(bandeddata(arguments(R)
537
537
# overload copy as overloading `mulreduce` requires `copyto!` overloads
538
538
# Should probably be redesigned in a trait-based way, but hard to see how to do this
539
539
540
- const BandedLazyLayouts = Union{AbstractLazyBandedLayout, BandedColumns{LazyLayout}, BandedRows{LazyLayout},
541
- TriangularLayout{UPLO,UNIT,BandedRows{LazyLayout}} where {UPLO,UNIT},
542
- TriangularLayout{UPLO,UNIT,BandedColumns{LazyLayout}} where {UPLO,UNIT},
543
- TriangularLayout{UPLO,UNIT,LazyBandedLayout} where {UPLO,UNIT},
544
- SymTridiagonalLayout{LazyLayout}, BidiagonalLayout{LazyLayout}, TridiagonalLayout{LazyLayout},
545
- SymmetricLayout{BandedColumns{LazyLayout}}, HermitianLayout{BandedColumns{LazyLayout}}}
540
+ const BandedLazyLayouts = Union{AbstractLazyBandedLayout, BandedColumns{<: AbstractLazyLayout }, BandedRows{<: AbstractLazyLayout },
541
+ StructuredLayoutTypes{<: AbstractLazyBandedLayout },
542
+ StructuredLayoutTypes{<: BandedColumns{<:AbstractLazyLayout} },
543
+ StructuredLayoutTypes{<: BandedRows{<:AbstractLazyLayout} },
544
+ SymTridiagonalLayout{<: AbstractLazyLayout }, BidiagonalLayout{<: AbstractLazyLayout }, TridiagonalLayout{<: AbstractLazyLayout }}
546
545
547
546
@inline islazy_layout (:: BandedLazyLayouts ) = Val (true )
548
547
0 commit comments