FFTRealPassDirect.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. /*****************************************************************************
  2. FFTRealPassDirect.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_FFTRealPassDirect_HEADER_INCLUDED)
  12. #define ffft_FFTRealPassDirect_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 FFTRealPassDirect
  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 x_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list []);
  32. /*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
  33. protected:
  34. /*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
  35. private:
  36. /*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
  37. private:
  38. FFTRealPassDirect ();
  39. FFTRealPassDirect (const FFTRealPassDirect &other);
  40. FFTRealPassDirect &
  41. operator = (const FFTRealPassDirect &other);
  42. bool operator == (const FFTRealPassDirect &other);
  43. bool operator != (const FFTRealPassDirect &other);
  44. }; // class FFTRealPassDirect
  45. } // namespace ffft
  46. #include "ffft/FFTRealPassDirect.hpp"
  47. #endif // ffft_FFTRealPassDirect_HEADER_INCLUDED
  48. /*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/