//
// Listing 1.3: Getting sinusoid frequency, magnitude and phase from 
// the Discrete Fourier Transform:
//

#define M_PI 3.14159265358979323846

long bin;
for (bin = 0; bin <= transformLength/2; bin++) {
	
	/* frequency */
	frequency[bin] = (float)bin * sampleRate / (float)transformLength;
	/* magnitude */
	magnitude[bin] = 20. * log10( 2. * sqrt( sinPart[bin] * sinPart[bin] +
											 cosPart[bin] * cosPart[bin]) / 
											(float)transformLength);
	
	/* phase */
	phase[bin] = 180.*atan2(sinPart[bin], cosPart[bin]) / M_PI - 90.;
	
}
