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 
37 #include <zeusbase/System/ArrayList.hpp>
38 
39 BEGIN_NAMESPACE_Zeus
40 
41 /****************************************************************************/
45 /****************************************************************************/
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
Definition: SymetricFFT.h:46
#define zeusmath_class
Definition: PlatformDefines.hpp:48
Definition: Complex.h:54


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Wed Sep 14 2016 06:45:54