- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Greetings,
I have an array which contains evenly spaced data for multiple FFT's. The FFT yields the proper results as long as the results are placed in the original array. If I change the DFTI_PLACEMENT value to DFTI_NOT_INPLACE then only the first FFT is calculated and placed in the new array. Here's the code which performs the FFT:
DFTI_DESCRIPTOR *handle;
long status;
int mult = nz;
status = DftiCreateDescriptor(&handle, DFTI_DOUBLE, DFTI_COMPLEX,1, ntheta);
status = DftiSetValue(handle, DFTI_PLACEMENT, DFTI_NOT_INPLACE);
status = DftiSetValue(handle, DFTI_FORWARD_SCALE, 1./double(ntheta));
status = DftiSetValue(handle, DFTI_NUMBER_OF_TRANSFORMS, nz);
status = DftiSetValue(handle, DFTI_INPUT_DISTANCE, ntheta);
status = DftiCommitDescriptor(handle);
status = DftiComputeForward(handle, sidewall,fftsidewall);
status = DftiFreeDescriptor(&handle);
Any assistance would be appreciated. I should also mention that I'm running this on an OSX 10.5.5 machine and using the MKL which comes with the 11.0.056 intel c++ compiler. I'm using the 64-bit libraries, and they have been dynamically linked.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Perhaps, adding DftiSetValue(handle,DFTI_OUTPUT_DISTANCE,ntheta) will help.
Dima
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Perhaps, adding DftiSetValue(handle,DFTI_OUTPUT_DISTANCE,ntheta) will help.
Dima
Yup, that worked perfectly. Thanks for your help!

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page