3 #include <gsl/gsl_errno.h>
4 #include <gsl/gsl_fft_complex.h>
6 #define REAL(z,i) ((z)[2*(i)])
7 #define IMAG(z,i) ((z)[2*(i)+1])
16 gsl_fft_complex_wavetable * wavetable;
17 gsl_fft_complex_workspace * workspace;
19 for (i = 0; i < n; i++)
27 for (i = 1; i <= 10; i++)
29 REAL(data,i) = REAL(data,n-i) = 1.0;
32 for (i = 0; i < n; i++)
34 printf ("%d: %e %e\n", i, REAL(data,i),
39 wavetable = gsl_fft_complex_wavetable_alloc (n);
40 workspace = gsl_fft_complex_workspace_alloc (n);
42 for (i = 0; i < wavetable->nf; i++)
44 printf ("# factor %d: %d\n", i,
45 wavetable->factor[i]);
48 gsl_fft_complex_forward (data, 1, n,
49 wavetable, workspace);
51 for (i = 0; i < n; i++)
53 printf ("%d: %e %e\n", i, REAL(data,i),
57 gsl_fft_complex_wavetable_free (wavetable);
58 gsl_fft_complex_workspace_free (workspace);