Dear all,
I am studying about Information Technoloy at HCMUS. Through 3 years, I never see that prototype of this function.

static void
FUNCTION(fft_halfcomplex,pass_4) (const BASE in[],
                                  const size_t istride,
                                  BASE out[],
                                  const size_t ostride,
                                  const size_t product,
                                  const size_t n,
                                  const TYPE(gsl_complex) twiddle1[],
                                  const TYPE(gsl_complex) twiddle2[],
                                  const TYPE(gsl_complex) twiddle3[])

Could You explain what the central part of this prototype (FUNCTION(fft_halfcomplex,pass_4)) is to me?
I am sure that this code can run well. If you do not belive me, you can download this at and you will see.

Someone has created some (probably hideous) macros, FUNCTION and TYPE, which get applied to this code. Find them and see what they do, and your questions will be answered.

If I had to guess, whoever first coded this was more comfortable in some other programming language and decided to use macros to mangle C into the same shape as their more comfortable language.