Changeset 3359 in Sophya for trunk/SophyaExt/IFFTW/fftwserver.h


Ignore:
Timestamp:
Oct 23, 2007, 12:20:08 PM (18 years ago)
Author:
ansari
Message:

Ajout methode version r_4 (float) a FFTWServer (sous condition de flag) - Reza 23/10/2007

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaExt/IFFTW/fftwserver.h

    r3000 r3359  
    2424  virtual FFTServerInterface * Clone();
    2525
    26   // Transforme unidimensionnelle , N-dimensionnel
     26  // Transforme unidimensionnelle , N-dimensionnel  (double precision - r_8)
    2727  virtual void FFTForward(TArray< complex<r_8> > & in, TArray< complex<r_8> > & out);
    2828  virtual void FFTBackward(TArray< complex<r_8> > & in, TArray< complex<r_8> > & out);
     
    3131                           bool usoutsz=false);
    3232
    33 // Methodes statiques pour reordonner les donnees en 1-D
     33// Methodes statiques pour reordonner les donnees en 1-D (double precision - r_8)
    3434  static void ReShapetoReal(TArray< complex<r_8> > const & in, TArray< r_8 > & out, bool usz);
    3535  static void ReShapetoCompl(TArray< r_8 > const & in, TArray< complex<r_8> > & out);
    3636
     37#ifdef ALSO_FFTW_FLOAT_EXTSOP
     38 /* ---------------------------------------------------------------------------
     39   Declare and compile single precision (float) version of FFTWServr methods
     40   Needs the libfftw3f.a , in addition to libfftw3.a   
     41   --------------------------------------------------------------------------- */
     42
     43  // Transforme unidimensionnelle , N-dimensionnel  (single precision - r_4)
     44  virtual void FFTForward(TArray< complex<r_4> > & in, TArray< complex<r_4> > & out);
     45  virtual void FFTBackward(TArray< complex<r_4> > & in, TArray< complex<r_4> > & out);
     46  virtual void FFTForward(TArray< r_4 > & in, TArray< complex<r_4> > & out);
     47  virtual void FFTBackward(TArray< complex<r_4> > & in, TArray< r_4 > & out,
     48                           bool usoutsz=false);
     49
     50// Methodes statiques pour reordonner les donnees en 1-D (single precision - r_4)
     51  static void ReShapetoReal(TArray< complex<r_4> > const & in, TArray< r_4 > & out, bool usz);
     52  static void ReShapetoCompl(TArray< r_4 > const & in, TArray< complex<r_4> > & out);
     53 
     54#endif
     55
    3756 protected:
    38 #ifdef FFTW_V2_EXTSOP
     57
     58#ifndef FFTW_V2_EXTSOP   
     59/*  For FFTW >= V3  */
     60 FFTArrayChecker<r_8> ckR8;
     61 FFTArrayChecker<r_4> ckR4;
     62 bool _preserve_input; // if true, input arrays not overwritten
     63
     64#else
     65/*  For FFTW  V2  */
    3966 FFTWServerPlan * _p1df;
    4067 FFTWServerPlan * _p1db;
     
    4673 FFTWServerPlan * _pndrf;
    4774 FFTWServerPlan * _pndrb;
    48 #endif
     75
    4976 FFTArrayChecker<r_8> ckR8;
    5077 bool _preserve_input; // if true, input arrays not overwritten
     78
     79#endif
    5180};
    5281
Note: See TracChangeset for help on using the changeset viewer.