File tree Expand file tree Collapse file tree 1 file changed +6
-4
lines changed Expand file tree Collapse file tree 1 file changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -337,16 +337,18 @@ function _diag_adj_mul(A::AdjOrTransAbsMat, D::Diagonal)
337337 copy (adj (adj (D) * adj (A)))
338338end
339339function _diag_adj_mul (A:: AdjOrTransAbsMat{<:Number, <:StridedMatrix} , D:: Diagonal{<:Number} )
340- Ac = copy_similar (A, promote_op (* , eltype (A), eltype (D)))
341- rmul! (Ac, D)
340+ TS = promote_op (matprod, eltype (A), eltype (D))
341+ C = matprod_dest (A, D, TS)
342+ mul! (C, A, D)
342343end
343344function _diag_adj_mul (D:: Diagonal , A:: AdjOrTransAbsMat )
344345 adj = wrapperop (A)
345346 copy (adj (adj (A) * adj (D)))
346347end
347348function _diag_adj_mul (D:: Diagonal{<:Number} , A:: AdjOrTransAbsMat{<:Number, <:StridedMatrix} )
348- Ac = copy_similar (A, promote_op (* , eltype (A), eltype (D)))
349- lmul! (D, Ac)
349+ TS = promote_op (matprod, eltype (A), eltype (D))
350+ C = matprod_dest (D, A, TS)
351+ mul! (C, D, A)
350352end
351353
352354function (* )(A:: AdjOrTransAbsMat , D:: Diagonal )
You can’t perform that action at this time.
0 commit comments