@@ -215,25 +215,40 @@ for UNIT in ('U', 'N')
215215 @eval @inline materialize! (M:: BlasMatLdivVec {<: TriangularLayout{$UPLO,$UNIT,<:AbstractColumnMajor} ,
216216 <: AbstractStridedLayout }) =
217217 BLAS. trsv! ($ UPLO, ' N' , $ UNIT, triangulardata (M. A), M. B)
218+ @eval @inline materialize! (M:: BlasMatLdivMat {<: TriangularLayout{$UPLO,$UNIT,<:AbstractColumnMajor} ,
219+ <: AbstractStridedLayout }) =
220+ LAPACK. trtrs! ($ UPLO, ' N' , $ UNIT, triangulardata (M. A), M. B)
218221 end
219222
220223 @eval begin
221224 @inline materialize! (M:: BlasMatLdivVec {<: TriangularLayout{'U',$UNIT,<:AbstractRowMajor} ,
222225 <: AbstractStridedLayout }) =
223226 BLAS. trsv! (' L' , ' T' , $ UNIT, transpose (triangulardata (M. A)), M. B)
227+ @inline materialize! (M:: BlasMatLdivMat {<: TriangularLayout{'U',$UNIT,<:AbstractRowMajor} ,
228+ <: AbstractStridedLayout }) =
229+ LAPACK. trtrs! (' L' , ' T' , $ UNIT, transpose (triangulardata (M. A)), M. B)
224230
225231 @inline materialize! (M:: BlasMatLdivVec {<: TriangularLayout{'L',$UNIT,<:AbstractRowMajor} ,
226232 <: AbstractStridedLayout }) =
227233 BLAS. trsv! (' U' , ' T' , $ UNIT, transpose (triangulardata (M. A)), M. B)
234+ @inline materialize! (M:: BlasMatLdivMat {<: TriangularLayout{'L',$UNIT,<:AbstractRowMajor} ,
235+ <: AbstractStridedLayout }) =
236+ LAPACK. trtrs! (' U' , ' T' , $ UNIT, transpose (triangulardata (M. A)), M. B)
228237
229238
230239 @inline materialize! (M:: BlasMatLdivVec {<: TriangularLayout{'U',$UNIT,<:ConjLayout{<:AbstractRowMajor}} ,
231240 <: AbstractStridedLayout }) =
232241 BLAS. trsv! (' L' , ' C' , $ UNIT, triangulardata (M. A)' , M. B)
242+ @inline materialize! (M:: BlasMatLdivMat {<: TriangularLayout{'U',$UNIT,<:ConjLayout{<:AbstractRowMajor}} ,
243+ <: AbstractStridedLayout }) =
244+ LAPACK. trtrs! (' L' , ' C' , $ UNIT, triangulardata (M. A)' , M. B)
233245
234246 @inline materialize! (M:: BlasMatLdivVec {<: TriangularLayout{'L',$UNIT,<:ConjLayout{<:AbstractRowMajor}} ,
235247 <: AbstractStridedLayout }) =
236248 BLAS. trsv! (' U' , ' C' , $ UNIT, triangulardata (M. A)' , M. B)
249+ @inline materialize! (M:: BlasMatLdivMat {<: TriangularLayout{'L',$UNIT,<:ConjLayout{<:AbstractRowMajor}} ,
250+ <: AbstractStridedLayout }) =
251+ LAPACK. trtrs! (' U' , ' C' , $ UNIT, triangulardata (M. A)' , M. B)
237252 end
238253end
239254
0 commit comments