It will be useful if there are a series of kernels, similar to CrossCorrelate that do a FwdFFT, take a user-defined device lambda to operate on the FFT, then return an InvFFT (or not)
- add two hpp one for fastfft one for the user (latter git ignored) to set the functor template declaration, e.g.
__host__ __device__ float f(float x) {
return x*x
}
- add a few simple public methods to the FourierTransformer class to illustrate how this would be used, e.g.
template<class ... FFT-types, class USER_FUNCTOR >
__global__ void block_generic_FFT_LAMBDA_IFFT(FFT-args, USER_FUNCTOR f) {
// Do FFT stuff
thread_data[i] = f(thread_data[i])
// Do iFFT stuff
// Maybe it would be nice to have an optional return before the iFFT stuff, but maybe not?
It will be useful if there are a series of kernels, similar to CrossCorrelate that do a FwdFFT, take a user-defined device lambda to operate on the FFT, then return an InvFFT (or not)