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

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