- Base.muladd(x::TransposeAbsVec, A::AbstractMatrix, z::Union{Number, AbstractVecOrMat}) =
- transpose(muladd(transpose(A), transpose(x), transpose(z)))
-
- function Base.muladd(A::StridedMaybeAdjOrTransMat{<:Number}, y::AbstractVector{<:Number}, z::Union{Number, AbstractVector})
- T = promote_type(eltype(A), eltype(y), eltype(z))
- C = similar(A, T, axes(A,1))
- C .= z
- mul!(C, A, y, true, true)
- end
-
- function Base.muladd(A::StridedMaybeAdjOrTransMat{<:Number}, B::StridedMaybeAdjOrTransMat{<:Number}, z::Union{Number, AbstractVecOrMat})
- T = promote_type(eltype(A), eltype(B), eltype(z))
- C = similar(A, T, axes(A,1), axes(B,2))
- C .= z
- mul!(C, A, B, true, true)
- end
-
- """
- mul!(Y, A, B) -> Y
-
- Calculates the matrix-matrix or matrix-vector product ``AB`` and stores the result in `Y`,