FFTRealPassInverse.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. /*****************************************************************************
  2. FFTRealPassInverse.h
  3. By Laurent de Soras
  4. --- Legal stuff ---
  5. This program is free software. It comes without any warranty, to
  6. the extent permitted by applicable law. You can redistribute it
  7. and/or modify it under the terms of the Do What The Fuck You Want
  8. To Public License, Version 2, as published by Sam Hocevar. See
  9. http://sam.zoy.org/wtfpl/COPYING for more details.
  10. *Tab=3***********************************************************************/
  11. #if ! defined (ffft_FFTRealPassInverse_HEADER_INCLUDED)
  12. #define ffft_FFTRealPassInverse_HEADER_INCLUDED
  13. #if defined (_MSC_VER)
  14. #pragma once
  15. #pragma warning (4 : 4250) // "Inherits via dominance."
  16. #endif
  17. /*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
  18. #include "ffft/def.h"
  19. #include "ffft/FFTRealFixLenParam.h"
  20. #include "ffft/OscSinCos.h"
  21. namespace ffft
  22. {
  23. template <int PASS>
  24. class FFTRealPassInverse
  25. {
  26. /*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
  27. public:
  28. typedef FFTRealFixLenParam::DataType DataType;
  29. typedef OscSinCos <DataType> OscType;
  30. ffft_FORCEINLINE static void
  31. process (long len, DataType dest_ptr [], DataType src_ptr [], const DataType f_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list []);
  32. ffft_FORCEINLINE static void
  33. process_rec (long len, DataType dest_ptr [], DataType src_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list []);
  34. ffft_FORCEINLINE static void
  35. process_internal (long len, DataType dest_ptr [], const DataType src_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list []);
  36. /*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
  37. protected:
  38. /*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
  39. private:
  40. /*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
  41. private:
  42. FFTRealPassInverse ();
  43. FFTRealPassInverse (const FFTRealPassInverse &other);
  44. FFTRealPassInverse &
  45. operator = (const FFTRealPassInverse &other);
  46. bool operator == (const FFTRealPassInverse &other);
  47. bool operator != (const FFTRealPassInverse &other);
  48. }; // class FFTRealPassInverse
  49. } // namespace ffft
  50. #include "ffft/FFTRealPassInverse.hpp"
  51. #endif // ffft_FFTRealPassInverse_HEADER_INCLUDED
  52. /*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/