1/*****************************************************************************
2
3 FFTRealPassInverse.h
4 Copyright (c) 2005 Laurent de Soras
5
6--- Legal stuff ---
7
8This library is free software; you can redistribute it and/or
9modify it under the terms of the GNU Lesser General Public
10License as published by the Free Software Foundation; either
11version 2.1 of the License, or (at your option) any later version.
12
13This library is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16Lesser General Public License for more details.
17
18You should have received a copy of the GNU Lesser General Public
19License along with this library; if not, write to the Free Software
20Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21
22*Tab=3***********************************************************************/
23
24
25
26#if ! defined (FFTRealPassInverse_HEADER_INCLUDED)
27#define FFTRealPassInverse_HEADER_INCLUDED
28
29#if defined (_MSC_VER)
30 #pragma once
31 #pragma warning (4 : 4250) // "Inherits via dominance."
32#endif
33
34
35
36/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
37
38#include "def.h"
39#include "FFTRealFixLenParam.h"
40#include "OscSinCos.h"
41
42
43
44
45template <int PASS>
46class FFTRealPassInverse
47{
48
49/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
50
51public:
52
53 typedef FFTRealFixLenParam::DataType DataType;
54 typedef OscSinCos <DataType> OscType;
55
56 FORCEINLINE static void
57 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 []);
58 FORCEINLINE static void
59 process_rec (long len, DataType dest_ptr [], DataType src_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list []);
60 FORCEINLINE static void
61 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 []);
62
63
64
65/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
66
67protected:
68
69
70
71/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
72
73private:
74
75
76
77/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
78
79private:
80
81 FFTRealPassInverse ();
82 ~FFTRealPassInverse ();
83 FFTRealPassInverse (const FFTRealPassInverse &other);
84 FFTRealPassInverse &
85 operator = (const FFTRealPassInverse &other);
86 bool operator == (const FFTRealPassInverse &other);
87 bool operator != (const FFTRealPassInverse &other);
88
89}; // class FFTRealPassInverse
90
91
92
93#include "FFTRealPassInverse.hpp"
94
95
96
97#endif // FFTRealPassInverse_HEADER_INCLUDED
98
99
100
101/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
102

source code of qtmultimedia/examples/multimedia/spectrum/3rdparty/fftreal/FFTRealPassInverse.h