source: trunk/demos/spectrum/3rdparty/fftreal/FFTRealUseTrigo.h@ 865

Last change on this file since 865 was 769, checked in by Dmitry A. Kuminov, 15 years ago

trunk: Merged in qt 4.6.3 sources from branches/vendor/nokia/qt.

File size: 2.5 KB
Line 
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