typedef struct Complex Complex; typedef struct Freq Freq; struct Complex { double r, i; }; struct Freq { double f, r, a; }; void C_to_F(Complex *c, Freq *f); void ri_to_F(double r, double i, Freq *f); void ris_to_fs(int n, double rex[], double imx[], Freq f[]); void fft_bit_reversal(int n, double rex[], double imx[]); void fft_butterfly(int n, double rex[], double imx[]); void fft(int n, double rex[], double imx[]); void ifft(int n, double rex[], double imx[]); void dft(int n, double rex[], double imx[]); void idftx(int n, double rex[], double imx[], Complex *cx, double a); void idft(int n, double rex[], double imx[]); void separate_odd_even(int n, double rex[], double imx[]); void odd_even_freq_decomp(int n, double rex[], double imx[]); void fftr(int n, double rex[], double imx[]); void ifftr(int n, double rex[], double imx[]);