home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / fft8732a.zip / fftpak.h < prev    next >
C/C++ Source or Header  |  1995-06-28  |  3KB  |  82 lines

  1. /**********************************************/
  2. /* fftpak.h                                   */
  3. /* Copyright (C) 1995 Precision Plus Software */
  4. /* All rights reserved.                       */
  5. /**********************************************/
  6.  
  7. #define twopi 6.283185307179586
  8.  
  9. /* uncomment the line below for IBM CSet++ */
  10. /*
  11. #define pascal _Pascal
  12. */
  13.  
  14. struct LONGCOMPLEX {
  15.   double r;
  16.   double i;
  17.   };
  18.  
  19. struct COMPLEX {
  20.   float r;
  21.   float i;
  22.   };
  23.  
  24. void pascal fft2( struct LONGCOMPLEX *x );
  25. void pascal fft4( struct LONGCOMPLEX *x );
  26. void pascal fft8( struct LONGCOMPLEX *x );
  27. void pascal fft16( struct LONGCOMPLEX *x );
  28. void pascal fft32( struct LONGCOMPLEX *x );
  29. void pascal fft64( struct LONGCOMPLEX *x );
  30. void pascal fft128( struct LONGCOMPLEX *x );
  31. void pascal fft256( struct LONGCOMPLEX *x );
  32. void pascal fft512( struct LONGCOMPLEX *x );
  33. void pascal fft1024( struct LONGCOMPLEX *x );
  34. void pascal fft( struct LONGCOMPLEX *x, int m );
  35.  
  36. void pascal fftinv2( struct LONGCOMPLEX *x );
  37. void pascal fftinv4( struct LONGCOMPLEX *x );
  38. void pascal fftinv8( struct LONGCOMPLEX *x );
  39. void pascal fftinv16( struct LONGCOMPLEX *x );
  40. void pascal fftinv32( struct LONGCOMPLEX *x );
  41. void pascal fftinv64( struct LONGCOMPLEX *x );
  42. void pascal fftinv128( struct LONGCOMPLEX *x );
  43. void pascal fftinv256( struct LONGCOMPLEX *x );
  44. void pascal fftinv512( struct LONGCOMPLEX *x );
  45. void pascal fftinv1024( struct LONGCOMPLEX *x );
  46. void pascal fftinv( struct LONGCOMPLEX *x, int m );
  47.  
  48. void pascal fftsort( struct LONGCOMPLEX *x, int m );
  49. void pascal scalecv( struct LONGCOMPLEX *x, int m, int N );
  50. void pascal scalev( double *x, int m, int N );
  51. void pascal conjcv( struct LONGCOMPLEX *x, int N );
  52.  
  53. void pascal fft2_s( struct COMPLEX *x );
  54. void pascal fft4_s( struct COMPLEX *x );
  55. void pascal fft8_s( struct COMPLEX *x );
  56. void pascal fft16_s( struct COMPLEX *x );
  57. void pascal fft32_s( struct COMPLEX *x );
  58. void pascal fft64_s( struct COMPLEX *x );
  59. void pascal fft128_s( struct COMPLEX *x );
  60. void pascal fft256_s( struct COMPLEX *x );
  61. void pascal fft512_s( struct COMPLEX *x );
  62. void pascal fft1024_s( struct COMPLEX *x );
  63. void pascal fft_s( struct COMPLEX *x, int m );
  64.  
  65. void pascal fftinv2_s( struct COMPLEX *x );
  66. void pascal fftinv4_s( struct COMPLEX *x );
  67. void pascal fftinv8_s( struct COMPLEX *x );
  68. void pascal fftinv16_s( struct COMPLEX *x );
  69. void pascal fftinv32_s( struct COMPLEX *x );
  70. void pascal fftinv64_s( struct COMPLEX *x );
  71. void pascal fftinv128_s( struct COMPLEX *x );
  72. void pascal fftinv256_s( struct COMPLEX *x );
  73. void pascal fftinv512_s( struct COMPLEX *x );
  74. void pascal fftinv1024_s( struct COMPLEX *x );
  75. void pascal fftinv_s( struct COMPLEX *x, int m );
  76.  
  77. void pascal fftsort_s( struct COMPLEX *x, int m );
  78. void pascal scalecv_s( struct COMPLEX *x, int m, int N );
  79. void pascal scalev_s( float *x, int m, int N );
  80. void pascal conjcv_s( struct COMPLEX *x, int N );
  81.  
  82.