/* FFT COMPUTES THE (FAST) FOURIER TRANSFORM OF THE VECTOR X (A COMPLEX ARRAY OF DIMENSION N). SOURCE: Ferziger; Numerical methods for engineering applications. X = DATA TO BE TRANSFORMED; ON RETURN IT CONTAINS THE TRANSFORM. N = SIZE OF VECTOR. MUST BE A POWER OF 2 (<4294967296). K = 1 FOR FORWARD TRANSFORM. K = -1 FOR INVERSE TRANSFORM. */ #include #include #include #include static int log2n(int n){ int m=1,y=0; while(m=i){ complex double xtemp=x[j]; x[j]=x[i]; x[i]=xtemp; } } if(k<0){ int i; for(i=0;i