FFTRealPassDirect.h (2253B)
1 /***************************************************************************** 2 3 FFTRealPassDirect.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_FFTRealPassDirect_HEADER_INCLUDED) 19 #define ffft_FFTRealPassDirect_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 namespace ffft 37 { 38 39 40 41 template <int PASS> 42 class FFTRealPassDirect 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 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 []); 54 55 56 57 /*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ 58 59 protected: 60 61 62 63 /*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ 64 65 private: 66 67 68 69 /*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ 70 71 private: 72 73 FFTRealPassDirect (); 74 FFTRealPassDirect (const FFTRealPassDirect &other); 75 FFTRealPassDirect & 76 operator = (const FFTRealPassDirect &other); 77 bool operator == (const FFTRealPassDirect &other); 78 bool operator != (const FFTRealPassDirect &other); 79 80 }; // class FFTRealPassDirect 81 82 83 84 } // namespace ffft 85 86 87 88 #include "ffft/FFTRealPassDirect.hpp" 89 90 91 92 #endif // ffft_FFTRealPassDirect_HEADER_INCLUDED 93 94 95 96 /*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/