My code as followings:
fft_mkl(int M,float * InputData,float * OutputData)
{
MKL_LONG status;
DFTI_DESCRIPTOR my_desc1_handle;
DftiCreateDescriptor( &my_desc1_handle, DFTI_SINGLE,DFTI_COMPLEX, 1, M);
DftiSetValue( my_desc1_handle, DFTI_PLACEMENT, DFTI_NOT_INPLACE);
DftiCommitDescriptor( my_desc1_handle );
status = DftiComputeForward( my_desc1_handle, InputData, OutputData);
status = DftiFreeDescriptor(&my_desc1_handle);
}
float *test = new float [65536*2];
float *test_out = new float [65536*2];
memset(test,85,4*32768);
memset(test,0,4*(65536*2-32768));
fft_mkl(65536,test,test_out);
Actually ,the result is wrong. It is different from fftw wrapper with 65536. But 32768 is right.Why?
MKL version:10.2.4.032
Thanks in advance!
Ziren C.