source: Sophya/trunk/SophyaExt/IFFTW/fftwserver.h@ 3009

Last change on this file since 3009 was 3000, checked in by ansari, 19 years ago

Passage a FFTW3 + suppression const des arguments FFTForward/Backward cmv+Reza 03/07/2006

File size: 1.4 KB
RevLine 
[765]1#ifndef FFTWServer_H_SEEN
2#define FFTWServer_H_SEEN
3
4#include "machdefs.h"
[3000]5#include "sspvflags.h"
[765]6#include "fftservintf.h"
7
8
[1405]9// Classe implementant l'interface FFTServerInterface en
10// utilisant FFTW
[765]11
[1405]12namespace SOPHYA {
13
[3000]14#ifdef FFTW_V2_EXTSOP
[765]15class FFTWServerPlan;
[3000]16#endif
[765]17
18class FFTWServer : public FFTServerInterface {
19 public:
[3000]20 FFTWServer(bool preserve_input=true);
[765]21 virtual ~FFTWServer();
22
23
24 virtual FFTServerInterface * Clone();
25
[1391]26 // Transforme unidimensionnelle , N-dimensionnel
[3000]27 virtual void FFTForward(TArray< complex<r_8> > & in, TArray< complex<r_8> > & out);
28 virtual void FFTBackward(TArray< complex<r_8> > & in, TArray< complex<r_8> > & out);
29 virtual void FFTForward(TArray< r_8 > & in, TArray< complex<r_8> > & out);
30 virtual void FFTBackward(TArray< complex<r_8> > & in, TArray< r_8 > & out,
[1403]31 bool usoutsz=false);
[765]32
[1403]33// Methodes statiques pour reordonner les donnees en 1-D
[2989]34 static void ReShapetoReal(TArray< complex<r_8> > const & in, TArray< r_8 > & out, bool usz);
[1403]35 static void ReShapetoCompl(TArray< r_8 > const & in, TArray< complex<r_8> > & out);
[765]36
37 protected:
[3000]38#ifdef FFTW_V2_EXTSOP
[765]39 FFTWServerPlan * _p1df;
40 FFTWServerPlan * _p1db;
[1391]41 FFTWServerPlan * _pndf;
42 FFTWServerPlan * _pndb;
[765]43
44 FFTWServerPlan * _p1drf;
45 FFTWServerPlan * _p1drb;
[1391]46 FFTWServerPlan * _pndrf;
47 FFTWServerPlan * _pndrb;
[3000]48#endif
[1391]49 FFTArrayChecker<r_8> ckR8;
[3000]50 bool _preserve_input; // if true, input arrays not overwritten
[765]51};
52
[1405]53} // Fin du namespace
54
[765]55#endif
Note: See TracBrowser for help on using the repository browser.