static void fft_free_plan(const operator_data_t* _data) { const struct fft_plan_s* plan = CONTAINER_OF(_data, const struct fft_plan_s, base); fftwf_destroy_plan(plan->fftw); #ifdef USE_CUDA if (NULL != plan->cuplan) fft_cuda_free_plan(plan->cuplan); #endif free((void*)plan); }
static void fft_free_plan(const operator_data_t* _data) { const struct fft_plan_s* plan = CAST_DOWN(fft_plan_s, _data); fftwf_destroy_plan(plan->fftw); #ifdef USE_CUDA #ifdef LAZY_CUDA xfree(plan->dims); xfree(plan->istrs); xfree(plan->ostrs); #endif if (NULL != plan->cuplan) fft_cuda_free_plan(plan->cuplan); #endif xfree(plan); }