FFTRealUseTrigo.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /*****************************************************************************
  2. FFTRealUseTrigo.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_FFTRealUseTrigo_HEADER_INCLUDED)
  12. #define ffft_FFTRealUseTrigo_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 ALGO>
  24. class FFTRealUseTrigo
  25. {
  26. /*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
  27. public:
  28. typedef FFTRealFixLenParam::DataType DataType;
  29. typedef OscSinCos <DataType> OscType;
  30. ffft_FORCEINLINE static void
  31. prepare (OscType &osc);
  32. ffft_FORCEINLINE static void
  33. iterate (OscType &osc, DataType &c, DataType &s, const DataType cos_ptr [], long index_c, long index_s);
  34. /*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
  35. protected:
  36. /*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
  37. private:
  38. /*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
  39. private:
  40. FFTRealUseTrigo ();
  41. ~FFTRealUseTrigo ();
  42. FFTRealUseTrigo (const FFTRealUseTrigo &other);
  43. FFTRealUseTrigo &
  44. operator = (const FFTRealUseTrigo &other);
  45. bool operator == (const FFTRealUseTrigo &other);
  46. bool operator != (const FFTRealUseTrigo &other);
  47. }; // class FFTRealUseTrigo
  48. } // namespace ffft
  49. #include "ffft/FFTRealUseTrigo.hpp"
  50. #endif // ffft_FFTRealUseTrigo_HEADER_INCLUDED
  51. /*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/