986
986
# ## Left division with triangle to the left hence rhs cannot be transposed. No quotients.
987
987
for (f, g) in ((:\ , :A_ldiv_B! ), (:Ac_ldiv_B , :Ac_ldiv_B! ), (:At_ldiv_B , :At_ldiv_B! ))
988
988
@eval begin
989
- function ($ f){TA,TB,S}(A:: AbstractTriangular{ TA,S} , B:: StridedVecOrMat{TB} )
989
+ function ($ f){TA,TB,S}(A:: Union{UnitUpperTriangular{ TA,S},UnitLowerTriangular{TA,S} } , B:: StridedVecOrMat{TB} )
990
990
TAB = typeof (zero (TA)* zero (TB) + zero (TA)* zero (TB))
991
991
($ g)(convert (AbstractArray{TAB}, A), copy_oftype (B, TAB))
992
992
end
995
995
# ## Left division with triangle to the left hence rhs cannot be transposed. Quotients.
996
996
for (f, g) in ((:\ , :A_ldiv_B! ), (:Ac_ldiv_B , :Ac_ldiv_B! ), (:At_ldiv_B , :At_ldiv_B! ))
997
997
@eval begin
998
- function ($ f){TA,TB,S}(A:: AbstractTriangular{ TA,S} , B:: StridedVecOrMat{TB} )
998
+ function ($ f){TA,TB,S}(A:: Union{UpperTriangular{ TA,S},LowerTriangular{TA,S} } , B:: StridedVecOrMat{TB} )
999
999
TAB = typeof ((zero (TA)* zero (TB) + zero (TA)* zero (TB))/ one (TA))
1000
1000
($ g)(convert (AbstractArray{TAB}, A), copy_oftype (B, TAB))
1001
1001
end
@@ -1013,7 +1013,7 @@ end
1013
1013
# ## Right division with triangle to the right hence lhs cannot be transposed. No quotients.
1014
1014
for (f, g) in ((:/ , :A_rdiv_B! ), (:A_rdiv_Bc , :A_rdiv_Bc! ), (:A_rdiv_Bt , :A_rdiv_Bt! ))
1015
1015
@eval begin
1016
- function ($ f){TA,TB,S}(A:: StridedVecOrMat{TA} , B:: AbstractTriangular{ TB,S} )
1016
+ function ($ f){TA,TB,S}(A:: StridedVecOrMat{TA} , B:: Union{UnitUpperTriangular{ TB,S},UnitLowerTriangular{TB,S} } )
1017
1017
TAB = typeof (zero (TA)* zero (TB) + zero (TA)* zero (TB))
1018
1018
($ g)(copy_oftype (A, TAB), convert (AbstractArray{TAB}, B))
1019
1019
end
@@ -1022,7 +1022,7 @@ end
1022
1022
# ## Right division with triangle to the right hence lhs cannot be transposed. Quotients.
1023
1023
for (f, g) in ((:/ , :A_rdiv_B! ), (:A_rdiv_Bc , :A_rdiv_Bc! ), (:A_rdiv_Bt , :A_rdiv_Bt! ))
1024
1024
@eval begin
1025
- function ($ f){TA,TB,S}(A:: StridedVecOrMat{TA} , B:: AbstractTriangular{ TB,S} )
1025
+ function ($ f){TA,TB,S}(A:: StridedVecOrMat{TA} , B:: Union{UnitUpperTriangular{ TB,S},UnitLowerTriangular{TB,S} } )
1026
1026
TAB = typeof ((zero (TA)* zero (TB) + zero (TA)* zero (TB))/ one (TA))
1027
1027
($ g)(copy_oftype (A, TAB), convert (AbstractArray{TAB}, B))
1028
1028
end
0 commit comments