Problem with A_mul_B! and plan_idct, possible bug?

question

#1

Hi all!
I’m running Julia 0.5 on Linux, and I found this weird thing, which I think could be a bug:

x = randn(10);     # input value             
x2 = copy(x);      # copy of input value
y = zeros(10);     # output
A = plan_idct(x);  # plan an inverse discrete cosine transform
A_mul_B!(y,A,x);   # apply transform in place in y (1)
norm(x-x2)         # here x should not be modified 
>2.7...            # but it's not!!

In line (1) if change plan_idct with plan_dct, plan_fft or plan_ifft (in the latter 2 cases you need complex vector)
this issue does not happen.
The problem is solved when using y .= A*x. But my feeling is that something is wrong with A_mul_B!
Please let me know if you experience the same issue or if this was already fixed in julia 0.6!
Thank you!
Niccolo’


#2

https://github.com/JuliaLang/julia/blob/master/base/fft/dct.jl#L154

But perhaps it should be documented better than just this comment.


#3

thanks for the answer! yes I agree that maybe it should appear in the docs!