Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/matmul.jl
Original file line number Diff line number Diff line change
Expand Up @@ -820,7 +820,7 @@ Base.@constprop :aggressive function herk_wrapper!(C::StridedMatrix{TC}, tA::Abs
end

# BLAS.herk! only updates hermitian C, alpha and beta need to be real
if iszero(β) || ishermitian(C)
if isreal(α) && isreal(β) && (iszero(β) || ishermitian(C))
alpha, beta = promote(α, β, zero(T))
if (alpha isa T && beta isa T &&
stride(A, 1) == stride(C, 1) == 1 &&
Expand Down
4 changes: 4 additions & 0 deletions test/matmul.jl
Original file line number Diff line number Diff line change
Expand Up @@ -549,6 +549,10 @@ end
@test mul!(copy(C), A', A, true, 2) ≈ 3C
D = Matrix(Hermitian(A * A'))
@test mul!(copy(D), A, A', true, 3) ≈ 4D
if T <: Complex
@test mul!(copy(C), A', A, im, 2) ≈ 2C + im*C
@test mul!(copy(D), A, A', im, 3) ≈ 3D + im*D
end
end
end

Expand Down