@@ -461,17 +461,17 @@ for (T, trans, real) in [(:Symmetric, :transpose, :identity), (:(Hermitian{<:Uni
461
461
throw (DimensionMismatch (" A has dimensions $(size (A)) but B has dimensions $(size (B)) " ))
462
462
end
463
463
464
- dotprod = zero (dot (first (A), first (B)))
464
+ dotprod = $ real ( zero (dot (first (A), first (B) )))
465
465
@inbounds if A. uplo == ' U' && B. uplo == ' U'
466
466
for j in 1 : n
467
467
for i in 1 : (j - 1 )
468
468
dotprod += 2 * $ real (dot (A. data[i, j], B. data[i, j]))
469
469
end
470
- dotprod += dot (A[j, j], B[j, j])
470
+ dotprod += $ real ( dot (A[j, j], B[j, j]) )
471
471
end
472
472
elseif A. uplo == ' L' && B. uplo == ' L'
473
473
for j in 1 : n
474
- dotprod += dot (A[j, j], B[j, j])
474
+ dotprod += $ real ( dot (A[j, j], B[j, j]) )
475
475
for i in (j + 1 ): n
476
476
dotprod += 2 * $ real (dot (A. data[i, j], B. data[i, j]))
477
477
end
@@ -481,11 +481,11 @@ for (T, trans, real) in [(:Symmetric, :transpose, :identity), (:(Hermitian{<:Uni
481
481
for i in 1 : (j - 1 )
482
482
dotprod += 2 * $ real (dot (A. data[i, j], $ trans (B. data[j, i])))
483
483
end
484
- dotprod += dot (A[j, j], B[j, j])
484
+ dotprod += $ real ( dot (A[j, j], B[j, j]) )
485
485
end
486
486
else
487
487
for j in 1 : n
488
- dotprod += dot (A[j, j], B[j, j])
488
+ dotprod += $ real ( dot (A[j, j], B[j, j]) )
489
489
for i in (j + 1 ): n
490
490
dotprod += 2 * $ real (dot (A. data[i, j], $ trans (B. data[j, i])))
491
491
end
0 commit comments