//
// Listing 1.2: The direct realization of the Discrete Fourier Transform***:
//

#define M_PI 3.14159265358979323846

long bin, k;
double arg, sign = -1.; /* sign = -1 -> FFT, 1 -> iFFT */

for (bin = 0; bin <= transformLength/2; bin++) {
	
	cosPart[bin] = (sinPart[bin] = 0.);
	for (k = 0; k < transformLength; k++) {
		
		arg = 2.*(float)bin*M_PI*(float)k / (float)transformLength;
		sinPart[bin] += inputData[k] * sign * sin(arg);
		cosPart[bin] += inputData[k] * cos(arg);
		
	}
	
}
