/*******************************************************************************

   fourier.h	Function prototypes for fourier module 
   =========	see fourier.cp for more comments...


				Daniel Cote
				dccote@novajo.ca
				
*******************************************************************************/



#ifdef __cplusplus	// Keep a C++ version
	#ifndef __FOURIER_CPP
		#define __FOURIER_CPP
		#include <math.h>
		#include <cmath>
		#include <complex>
		#include <valarray>

		typedef complex<double> complex_double;
		typedef complex<float> complex_float;

		char FFT(valarray<complex_double>& data, long nn, long isign);
		char FFT(valarray<complex_float>& data, long nn, long isign);
	#endif
#elif				// and a C version
	#ifndef __FOURIER_C
		#define __FOURIER_C
		#include <math.h>

		void FFT(double data[], long nn, long isign);
	#endif
#endif
