|
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