@@ -257,64 +257,65 @@ end
257257 end
258258end
259259
260+ # work around pointer issues
260261@inline materialize! (M:: BlasMatMulVecAdd{<:AbstractColumnMajor,<:AbstractStridedLayout,<:AbstractStridedLayout} ) =
261262 _gemv! (' N' , M. α, M. A, M. B, M. β, M. C)
262263@inline materialize! (M:: BlasMatMulVecAdd{<:AbstractRowMajor,<:AbstractStridedLayout,<:AbstractStridedLayout} ) =
263264 _gemv! (' T' , M. α, transpose (M. A), M. B, M. β, M. C)
264265@inline materialize! (M:: BlasMatMulVecAdd{<:ConjLayout{<:AbstractRowMajor},<:AbstractStridedLayout,<:AbstractStridedLayout,<:BlasComplex} ) =
265- _gemv! (' C' , M. α, M. A' , M. B, M. β, M. C)
266+ _gemv! (' C' , M. α, adjoint ( M. A) , M. B, M. β, M. C)
266267
267268@inline materialize! (M:: BlasVecMulMatAdd{<:AbstractColumnMajor,<:AbstractColumnMajor,<:AbstractColumnMajor} ) =
268269 _gemm! (' N' , ' N' , M. α, M. A, M. B, M. β, M. C)
269270@inline materialize! (M:: BlasVecMulMatAdd{<:AbstractColumnMajor,<:AbstractRowMajor,<:AbstractColumnMajor} ) =
270271 _gemm! (' N' , ' T' , M. α, M. A, transpose (M. B), M. β, M. C)
271272@inline materialize! (M:: BlasVecMulMatAdd{<:AbstractColumnMajor,<:ConjLayout{<:AbstractRowMajor},<:AbstractColumnMajor,<:BlasComplex} ) =
272- _gemm! (' N' , ' C' , M. α, M. A, M. B' , M. β, M. C)
273+ _gemm! (' N' , ' C' , M. α, M. A, adjoint ( M. B) , M. β, M. C)
273274
274275@inline materialize! (M:: BlasMatMulMatAdd{<:AbstractColumnMajor,<:AbstractColumnMajor,<:AbstractColumnMajor} ) =
275276 _gemm! (' N' , ' N' , M. α, M. A, M. B, M. β, M. C)
276277@inline materialize! (M:: BlasMatMulMatAdd{<:AbstractColumnMajor,<:AbstractRowMajor,<:AbstractColumnMajor} ) =
277278 _gemm! (' N' , ' T' , M. α, M. A, transpose (M. B), M. β, M. C)
278279@inline materialize! (M:: BlasMatMulMatAdd{<:AbstractColumnMajor,<:ConjLayout{<:AbstractRowMajor},<:AbstractColumnMajor,<:BlasComplex} ) =
279- _gemm! (' N' , ' C' , M. α, M. A, M. B' , M. β, M. C)
280+ _gemm! (' N' , ' C' , M. α, M. A, adjoint ( M. B) , M. β, M. C)
280281
281282@inline materialize! (M:: BlasMatMulMatAdd{<:AbstractRowMajor,<:AbstractColumnMajor,<:AbstractColumnMajor} ) =
282283 _gemm! (' T' , ' N' , M. α, transpose (M. A), M. B, M. β, M. C)
283284@inline materialize! (M:: BlasMatMulMatAdd{<:ConjLayout{<:AbstractRowMajor},<:AbstractColumnMajor,<:AbstractColumnMajor,<:BlasComplex} ) =
284- _gemm! (' C' , ' N' , M. α, M. A' , M. B, M. β, M. C)
285+ _gemm! (' C' , ' N' , M. α, adjoint ( M. A) , M. B, M. β, M. C)
285286
286287@inline materialize! (M:: BlasMatMulMatAdd{<:AbstractRowMajor,<:AbstractRowMajor,<:AbstractColumnMajor} ) =
287288 _gemm! (' T' , ' T' , M. α, transpose (M. A), transpose (M. B), M. β, M. C)
288289@inline materialize! (M:: BlasMatMulMatAdd{<:AbstractRowMajor,<:ConjLayout{<:AbstractRowMajor},<:AbstractColumnMajor,<:BlasComplex} ) =
289- _gemm! (' T' , ' C' , M. α, transpose (M. A), M. B' , M. β, M. C)
290+ _gemm! (' T' , ' C' , M. α, transpose (M. A), adjoint ( M. B) , M. β, M. C)
290291
291292@inline materialize! (M:: BlasMatMulMatAdd{<:ConjLayout{<:AbstractRowMajor},<:AbstractRowMajor,<:AbstractColumnMajor,<:BlasComplex} ) =
292- _gemm! (' C' , ' T' , M. α, M. A' , M. B' , M. β, M. C)
293+ _gemm! (' C' , ' T' , M. α, adjoint ( M. A), transpose ( M. B) , M. β, M. C)
293294@inline materialize! (M:: BlasMatMulMatAdd{<:ConjLayout{<:AbstractRowMajor},<:ConjLayout{<:AbstractRowMajor},<:AbstractColumnMajor,<:BlasComplex} ) =
294- _gemm! (' C' , ' C' , M. α, M. A' , M. B' , M. β, M. C)
295+ _gemm! (' C' , ' C' , M. α, adjoint ( M. A), adjoint ( M. B) , M. β, M. C)
295296
296297@inline materialize! (M:: BlasMatMulMatAdd{<:AbstractColumnMajor,<:AbstractColumnMajor,<:AbstractRowMajor} ) =
297298 _gemm! (' T' , ' T' , M. α, M. B, M. A, M. β, transpose (M. C))
298299@inline materialize! (M:: BlasMatMulMatAdd{<:AbstractColumnMajor,<:AbstractColumnMajor,<:ConjLayout{<:AbstractRowMajor},<:BlasComplex} ) =
299- _gemm! (' C' , ' C' , M. α, M. B, M. A, M. β, M. C' )
300+ _gemm! (' C' , ' C' , M. α, M. B, M. A, M. β, adjoint ( M. C) )
300301
301302@inline materialize! (M:: BlasMatMulMatAdd{<:AbstractColumnMajor,<:AbstractRowMajor,<:AbstractRowMajor} ) =
302303 _gemm! (' N' , ' T' , M. α, transpose (M. B), M. A, M. β, transpose (M. C))
303304@inline materialize! (M:: BlasMatMulMatAdd{<:AbstractColumnMajor,<:AbstractRowMajor,<:ConjLayout{<:AbstractRowMajor},<:BlasComplex} ) =
304305 _gemm! (' N' , ' T' , M. α, transpose (M. B), M. A, M. β, M. C' )
305306@inline materialize! (M:: BlasMatMulMatAdd{<:AbstractColumnMajor,<:ConjLayout{<:AbstractRowMajor},<:ConjLayout{<:AbstractRowMajor},<:BlasComplex} ) =
306- _gemm! (' N' , ' C' , M. α, M. B' , M. A, M. β, M. C' )
307+ _gemm! (' N' , ' C' , M. α, adjoint ( M. B) , M. A, M. β, adjoint ( M. C) )
307308
308309@inline materialize! (M:: BlasMatMulMatAdd{<:AbstractRowMajor,<:AbstractColumnMajor,<:AbstractRowMajor} ) =
309310 _gemm! (' T' , ' N' , M. α, M. B, transpose (M. A), M. β, transpose (M. C))
310311@inline materialize! (M:: BlasMatMulMatAdd{<:ConjLayout{<:AbstractRowMajor},<:AbstractColumnMajor,<:ConjLayout{<:AbstractRowMajor},<:BlasComplex} ) =
311- _gemm! (' C' , ' N' , M. α, M. B, M. A' , M. β, M. C' )
312+ _gemm! (' C' , ' N' , M. α, M. B, adjoint ( M. A) , M. β, adjoint ( M. C) )
312313
313314
314315@inline materialize! (M:: BlasMatMulMatAdd{<:AbstractRowMajor,<:AbstractRowMajor,<:AbstractRowMajor} ) =
315316 _gemm! (' N' , ' N' , M. α, transpose (M. B), transpose (M. A), M. β, transpose (M. C))
316317@inline materialize! (M:: BlasMatMulMatAdd{<:ConjLayout{<:AbstractRowMajor},<:ConjLayout{<:AbstractRowMajor},<:ConjLayout{<:AbstractRowMajor},<:BlasComplex} ) =
317- _gemm! (' N' , ' N' , M. α, M. B' , M. A' , M. β, M. C' )
318+ _gemm! (' N' , ' N' , M. α, adjoint ( M. B), adjoint ( M. A) , M. β, adjoint ( M. C) )
318319
319320
320321# ##
0 commit comments