// Use the CuFFTW wrapper to perform a forward transform. static void DoForwardPlan(CuFFTW cufftw, Complex[] input, out Complex[] output) { output = new Complex[input.Length]; using var plan = cufftw.Plan1D( input.Length, input, output, FFTW_FORWARD, FFTW_ESTIMATE); plan.Execute(); Console.WriteLine("Output Values:"); for (var i = 0; i < output.Length; i++) { Console.WriteLine($" [{i}] = {output[i]}"); } }
static void Main() { var input = new Complex[8]; for (var i = 0; i < input.Length; i++) { input[i] = new Complex(i + 1, 0); } Console.WriteLine("Input Values:"); for (var i = 0; i < input.Length; i++) { Console.WriteLine($" [{i}] = {input[i]}"); } var cufftw = new CuFFTW(); DoForwardPlan(cufftw, input, out var output); var inverseInput = output; DoInversePlan(cufftw.API, inverseInput, out _); }