FFTRealPassInverse.h (2658B)
1 /***************************************************************************** 2 3 FFTRealPassInverse.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_FFTRealPassInverse_HEADER_INCLUDED) 19 #define ffft_FFTRealPassInverse_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 "ffft/def.h" 31 #include "ffft/FFTRealFixLenParam.h" 32 #include "ffft/OscSinCos.h" 33 34 35 36 37 namespace ffft 38 { 39 40 41 42 template <int PASS> 43 class FFTRealPassInverse 44 { 45 46 /*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ 47 48 public: 49 50 typedef FFTRealFixLenParam::DataType DataType; 51 typedef OscSinCos <DataType> OscType; 52 53 ffft_FORCEINLINE static void 54 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 []); 55 ffft_FORCEINLINE static void 56 process_rec (long len, DataType dest_ptr [], DataType src_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list []); 57 ffft_FORCEINLINE static void 58 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 []); 59 60 61 62 /*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ 63 64 protected: 65 66 67 68 /*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ 69 70 private: 71 72 73 74 /*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ 75 76 private: 77 78 FFTRealPassInverse (); 79 FFTRealPassInverse (const FFTRealPassInverse &other); 80 FFTRealPassInverse & 81 operator = (const FFTRealPassInverse &other); 82 bool operator == (const FFTRealPassInverse &other); 83 bool operator != (const FFTRealPassInverse &other); 84 85 }; // class FFTRealPassInverse 86 87 88 89 } // namespace ffft 90 91 92 93 #include "ffft/FFTRealPassInverse.hpp" 94 95 96 97 #endif // ffft_FFTRealPassInverse_HEADER_INCLUDED 98 99 100 101 /*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/