ZeusMath-Library
2.0.4
SymetricFFT.h
Go to the documentation of this file.
1
/*****************************************************************************
2
* Copyright (C) 2011 by Benjamin Hadorn (b_hadorn@bluewin.ch)
3
*****************************************************************************
4
* Project : Zeus Math Library
5
* Module : SymetricFFT
6
* Package : Zeus.ZeusMath.Calculus
7
* Author : Benjamin Hadorn
8
* Date : 27.12.2011
9
* System : Zeus-Framework
10
*****************************************************************************
11
* Licence: *
12
* This library is free software; you can redistribute it and/or modify *
13
* it under the terms of the GNU Lesser General Public License as *
14
* published by the Free Software Foundation; either version *
15
* 2.1 of the License, or (at your option) any later version. *
16
* *
17
* This library is distributed in the hope that it will be useful, *
18
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
19
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
20
* GNU Lesser General Public License for more details. *
21
* *
22
* You should have received a copy of the GNU Lesser General Public *
23
* License along with this library; if not, write to the Free Software *
24
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA *
25
*****************************************************************************/
26
27
/*****************************************************************************
28
* Changes:
29
* 27.12.2011 bha: created zeus 2.0
30
*****************************************************************************/
31
32
#ifndef SymetricFFTH
33
#define SymetricFFTH
34
35
#include <
zeusmath/Config/PlatformDefines.hpp
>
36
#include <
zeusmath/System/Complex.h
>
37
#include <zeusbase/System/ArrayList.hpp>
38
39
BEGIN_NAMESPACE_Zeus
40
41
/****************************************************************************/
45
/****************************************************************************/
46
zeusmath_class
TSymetricFFT
47
{
48
public
:
49
TSymetricFFT
(Int iN);
50
virtual
~
TSymetricFFT
();
51
52
void
fft(
TComplex
* axIn, Int iN);
53
void
ifft(
TComplex
* axIn, Int iN);
54
//void fft2D(TComplex** axIn, Int iWidth, Int iHeight);
55
//void ifft2D(TComplex** axIn, Int iWidth, Int iHeight);
56
57
protected
:
58
59
private
:
60
void
fft_DivideAndConquer(
TComplex
* F,
TComplex
* f, Int iN, Int iFact);
61
63
TComplex
** m_ppW;
65
Int m_iN;
67
static
Float m_f2Pi;
69
static
Float m_fSqrt2;
70
};
71
72
73
END_NAMESPACE_Zeus
74
75
//---------------------------------------------------------------------------
76
#endif
PlatformDefines.hpp
zeus::TSymetricFFT
Definition:
SymetricFFT.h:46
zeusmath_class
#define zeusmath_class
Definition:
PlatformDefines.hpp:48
zeus::TComplex
Definition:
Complex.h:54
Complex.h
Written by Benjamin Hadorn
http://www.xatlantis.ch
.
Last change made on Wed Sep 14 2016 06:45:54