home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / utilities / utilsf / fftgraph / !FFT_2D / scr / h / FFT
Encoding:
Text File  |  1995-09-16  |  781 b   |  33 lines

  1. /* fft.c */
  2.  
  3.  
  4. static void fft2(float *a, float *b, int m);
  5. extern int MCRevbin(int , int);
  6. extern void MCstepfft(float *a, float *b, int n, int span);
  7. extern void MCSwap(float *a, float *b);
  8.  
  9.  
  10. static void fft2(float a[], float b[], int m)
  11. {
  12. int     i;              /* index for permutation and, if inverse, scaling */
  13. int     j;              /* reverse binary index for permutation */
  14. int     n;              /* length of operand    */
  15. int     span;           /* butterfly span distance      */
  16. int     e;
  17.  
  18.     e = m;
  19.     n = 2;                  /* get n = 2**(m+1)     */
  20.     while (m--) n <<= 1;
  21.  
  22.     for (i = 0;  i < n;  i++) {
  23.         if ((j = MCRevbin(i,e)) > i) MCSwap(a+j, a+i);
  24.      b[i] = 0;
  25.     }
  26.     for (span = 1;  span < n;  span <<= 1)  MCstepfft(a, b, n, span);
  27.  
  28. }
  29.  
  30.  
  31.  
  32.  
  33.