My colleague sent me this MWE - it is about defining a complex in-place plan.
This should mutate vectors when applied via '*' as documented.
When applying this to a vector of floats it should throw, but in fact it
returns a complex vector but does not mutate the the vector.
using FFTW
plan = plan_fft!(zeros(ComplexF64, 4))
vec1 = ComplexF64[1,1,1,1]
vec2 = [1,1,1,1]
# changes vec1 as expected
plan * vec1; println(vec1,"\n")
# sends error as expected
try
FFTW.mul!(vec2, plan, vec2)
catch e;
println(e,"\n")
end
# does not say anything and does not change vec2
plan * vec2; println(vec2,"\n")
PR follows.
My colleague sent me this MWE - it is about defining a complex in-place plan.
This should mutate vectors when applied via '*' as documented.
When applying this to a vector of floats it should throw, but in fact it
returns a complex vector but does not mutate the the vector.
PR follows.