1 /***************************************************************************** 2 3 FFTRealUseTrigo.h 4 By Laurent de Soras 5 6 --- Legal stuff --- 7 8 This program is free software. It comes without any warranty, to 9 the extent permitted by applicable law. You can redistribute it 10 and/or modify it under the terms of the Do What The Fuck You Want 11 To Public License, Version 2, as published by Sam Hocevar. See 12 http://sam.zoy.org/wtfpl/COPYING for more details. 13 14 *Tab=3***********************************************************************/ 15 16 17 18 #if ! defined (ffft_FFTRealUseTrigo_HEADER_INCLUDED) 19 #define ffft_FFTRealUseTrigo_HEADER_INCLUDED 20 21 #if defined (_MSC_VER) 22 #pragma once 23 #pragma warning (4 : 4250) // "Inherits via dominance." 24 #endif 25 26 27 28 /*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ 29 30 #include "def.h" 31 #include "FFTRealFixLenParam.h" 32 #include "OscSinCos.h" 33 34 35 36 namespace ffft 37 { 38 39 40 41 template <int ALGO> 42 class FFTRealUseTrigo 43 { 44 45 /*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ 46 47 public: 48 49 typedef FFTRealFixLenParam::DataType DataType; 50 typedef OscSinCos <DataType> OscType; 51 52 ffft_FORCEINLINE static void 53 prepare (OscType &osc); 54 ffft_FORCEINLINE static void 55 iterate (OscType &osc, DataType &c, DataType &s, const DataType cos_ptr [], long index_c, long index_s); 56 57 58 59 /*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ 60 61 protected: 62 63 64 65 /*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ 66 67 private: 68 69 70 71 /*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ 72 73 private: 74 75 FFTRealUseTrigo (); 76 ~FFTRealUseTrigo (); 77 FFTRealUseTrigo (const FFTRealUseTrigo &other); 78 FFTRealUseTrigo & 79 operator = (const FFTRealUseTrigo &other); 80 bool operator == (const FFTRealUseTrigo &other); 81 bool operator != (const FFTRealUseTrigo &other); 82 83 }; // class FFTRealUseTrigo 84 85 86 87 } // namespace ffft 88 89 90 91 #include "FFTRealUseTrigo.hpp" 92 93 94 95 #endif // ffft_FFTRealUseTrigo_HEADER_INCLUDED 96 97 98 99 /*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ 100