Exemple #1
0
        // 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]}");
            }
        }
Exemple #2
0
        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 _);
        }