|
52 | 52 | const CNoPivot = NoPivot |
53 | 53 | end |
54 | 54 |
|
| 55 | +if VERSION ≥ v"1.11.0-DEV.21" |
| 56 | + using LinearAlgebra: UpperOrLowerTriangular |
| 57 | +else |
| 58 | + const UpperOrLowerTriangular{T,S} = Union{LinearAlgebra.UpperTriangular{T,S}, |
| 59 | + LinearAlgebra.UnitUpperTriangular{T,S}, |
| 60 | + LinearAlgebra.LowerTriangular{T,S}, |
| 61 | + LinearAlgebra.UnitLowerTriangular{T,S}} |
| 62 | +end |
| 63 | + |
55 | 64 | # Originally defined in FillArrays |
56 | 65 | _copy_oftype(A::AbstractArray, ::Type{S}) where {S} = eltype(A) == S ? copy(A) : AbstractArray{S}(A) |
57 | 66 | _copy_oftype(A::AbstractRange, ::Type{S}) where {S} = eltype(A) == S ? copy(A) : map(S, A) |
|
151 | 160 | macro layoutgetindex(Typ) |
152 | 161 | esc(quote |
153 | 162 | ArrayLayouts.@_layoutgetindex $Typ |
154 | | - ArrayLayouts.@_layoutgetindex LinearAlgebra.AbstractTriangular{<:Any,<:$Typ} |
| 163 | + ArrayLayouts.@_layoutgetindex ArrayLayouts.UpperOrLowerTriangular{<:Any,<:$Typ} |
155 | 164 | ArrayLayouts.@_layoutgetindex LinearAlgebra.Symmetric{<:Any,<:$Typ} |
156 | 165 | ArrayLayouts.@_layoutgetindex LinearAlgebra.Hermitian{<:Any,<:$Typ} |
157 | 166 | ArrayLayouts.@_layoutgetindex LinearAlgebra.Adjoint{<:Any,<:$Typ} |
@@ -361,7 +370,7 @@ Base.replace_in_print_matrix(A::Union{LayoutVector, |
361 | 370 | Base.print_matrix_row(io::IO, |
362 | 371 | X::Union{LayoutMatrix, |
363 | 372 | LayoutVector, |
364 | | - AbstractTriangular{<:Any,<:LayoutMatrix}, |
| 373 | + UpperOrLowerTriangular{<:Any,<:LayoutMatrix}, |
365 | 374 | AdjOrTrans{<:Any,<:LayoutMatrix}, |
366 | 375 | AdjOrTrans{<:Any,<:LayoutVector}, |
367 | 376 | HermOrSym{<:Any,<:LayoutMatrix}, |
|
0 commit comments