@@ -860,19 +860,24 @@ function _AqldivB_kernel!(X::StridedMatrix{T}, lu::UmfpackLU{T},
860860end
861861function _AqldivB_kernel! (x:: StridedVector{Tb} , lu:: UmfpackLU{Float64} ,
862862 b:: StridedVector{Tb} , transposeoptype) where Tb<: Complex
863- r, i = similar (b, Float64), similar (b, Float64)
864- solve! (r, lu, Vector {Float64} (real (b)), transposeoptype)
865- solve! (i, lu, Vector {Float64} (imag (b)), transposeoptype)
863+ r = similar (b, Float64)
864+ i = similar (b, Float64)
865+ c = real .(b)
866+ solve! (r, lu, c, transposeoptype)
867+ c .= imag .(b)
868+ solve! (i, lu, c, transposeoptype)
866869 map! (complex, x, r, i)
867870end
868871function _AqldivB_kernel! (X:: StridedMatrix{Tb} , lu:: UmfpackLU{Float64} ,
869872 B:: StridedMatrix{Tb} , transposeoptype) where Tb<: Complex
870873 r = similar (B, Float64, size (B, 1 ))
871874 i = similar (B, Float64, size (B, 1 ))
872-
875+ c = similar (B, Float64, size (B, 1 ))
873876 for j in 1 : size (B, 2 )
874- solve! (r, lu, Vector {Float64} (real (view (B, :, j))), transposeoptype)
875- solve! (i, lu, Vector {Float64} (imag (view (B, :, j))), transposeoptype)
877+ c .= real .(view (B, :, j))
878+ solve! (r, lu, c, transposeoptype)
879+ c .= imag .(view (B, :, j))
880+ solve! (i, lu, c, transposeoptype)
876881 map! (complex, view (X, :, j), r, i)
877882 end
878883end
0 commit comments