List of all members | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes
fftwpp::fftw Class Reference

#include <fftw++.h>

Inheritance diagram for fftwpp::fftw:
Inheritance graph
[legend]

Public Member Functions

void CheckAlign (Complex *p, const char *s)
 
ComplexCheckAlign (Complex *in, Complex *out, bool constructor=true)
 
virtual void Execute (Complex *in, Complex *out, bool=false)
 
void fft (Complex *in, Complex *out=NULL)
 
void fft (double *in, Complex *out=NULL)
 
void fft (Complex *in, double *out)
 
void fft0 (Complex *in, Complex *out=NULL)
 
void fft0 (double *in, Complex *out=NULL)
 
void fft0 (Complex *in, double *out)
 
template<class I , class O >
void fft0Normalized (I in, O out)
 
virtual void fftNormalized (Complex *in, Complex *out=NULL, bool shift=false)
 
void fftNormalized (Complex *in, double *out, bool shift=false)
 
void fftNormalized (double *in, Complex *out, bool shift=false)
 
template<class I , class O >
void fftNormalized (unsigned int nx, unsigned int M, size_t ostride, size_t odist, I *in, O *out=NULL, bool shift=false)
 
 fftw ()
 
 fftw (unsigned int doubles, int sign, unsigned int threads, unsigned int n=0)
 
virtual threaddata lookup (bool, unsigned int)
 
void multithread (unsigned int nx)
 
void noplan ()
 
void Normalize (Complex *out)
 
void Normalize (double *out)
 
template<class O >
void Normalize (unsigned int nx, unsigned int M, size_t ostride, size_t odist, O *out)
 
virtual fftw_plan Plan (Complex *, Complex *)
 
ComplexSetout (Complex *in, Complex *out)
 
threaddata Setup (Complex *in, Complex *out=NULL)
 
threaddata Setup (Complex *in, double *out)
 
threaddata Setup (double *in, Complex *out=NULL)
 
virtual void store (bool, const threaddata &)
 
void Threads (unsigned int nthreads)
 
virtual unsigned int Threads ()
 
threaddata time (fftw_plan plan1, fftw_plan planT, Complex *in, Complex *out, unsigned int Threads)
 
virtual ~fftw ()
 

Static Public Member Functions

static void planThreads (unsigned int)
 
static void Shift (Complex *data, unsigned int nx, unsigned int ny, unsigned int)
 
static void Shift (double *data, unsigned int nx, unsigned int ny, unsigned int)
 
static void Shift (Complex *data, unsigned int nx, unsigned int ny, unsigned int nz, unsigned int)
 
static void Shift (double *data, unsigned int nx, unsigned int ny, unsigned int nz, unsigned int)
 

Static Public Attributes

static unsigned int effort =FFTW_MEASURE
 
static unsigned int maxthreads =1
 
static const char * oddshift ="Shift is not implemented for odd nx"
 
static fftw_plan(* planner )(fftw *f, Complex *in, Complex *out) =Planner
 
static double testseconds =0.2
 
static const char * WisdomName ="wisdom3.txt"
 

Protected Member Functions

unsigned int Dist (unsigned int n, size_t stride, size_t dist)
 

Protected Attributes

unsigned int doubles
 
unsigned int innerthreads
 
bool inplace
 
double norm
 
fftw_plan plan
 
int sign
 
unsigned int threads
 

Static Protected Attributes

static const double twopi =2.0*acos(-1.0)
 

Detailed Description

Definition at line 154 of file fftw++.h.

Constructor & Destructor Documentation

fftwpp::fftw::fftw ( )
inline

Definition at line 265 of file fftw++.h.

fftwpp::fftw::fftw ( unsigned int  doubles,
int  sign,
unsigned int  threads,
unsigned int  n = 0 
)
inline

Definition at line 266 of file fftw++.h.

virtual fftwpp::fftw::~fftw ( )
inlinevirtual

Definition at line 275 of file fftw++.h.

References plan.

Member Function Documentation

void fftwpp::fftw::CheckAlign ( Complex p,
const char *  s 
)
inline

Definition at line 281 of file fftw++.h.

Referenced by CheckAlign(), Setout(), and Setup().

Complex* fftwpp::fftw::CheckAlign ( Complex in,
Complex out,
bool  constructor = true 
)
inline

Definition at line 349 of file fftw++.h.

References CheckAlign(), and out.

unsigned int fftwpp::fftw::Dist ( unsigned int  n,
size_t  stride,
size_t  dist 
)
inlineprotected

Definition at line 164 of file fftw++.h.

virtual void fftwpp::fftw::Execute ( Complex in,
Complex out,
bool  = false 
)
inlinevirtual
void fftwpp::fftw::fft ( Complex in,
Complex out = NULL 
)
inline
void fftwpp::fftw::fft ( double *  in,
Complex out = NULL 
)
inline

Definition at line 419 of file fftw++.h.

References fft(), and out.

void fftwpp::fftw::fft ( Complex in,
double *  out 
)
inline

Definition at line 423 of file fftw++.h.

References fft().

void fftwpp::fftw::fft0 ( Complex in,
Complex out = NULL 
)
inline

Definition at line 427 of file fftw++.h.

References Execute(), out, and Setout().

Referenced by fft0().

void fftwpp::fftw::fft0 ( double *  in,
Complex out = NULL 
)
inline

Definition at line 432 of file fftw++.h.

References fft0(), and out.

void fftwpp::fftw::fft0 ( Complex in,
double *  out 
)
inline

Definition at line 436 of file fftw++.h.

References fft0().

template<class I , class O >
void fftwpp::fftw::fft0Normalized ( I  in,
out 
)
inline

Definition at line 473 of file fftw++.h.

References fftNormalized().

virtual void fftwpp::fftw::fftNormalized ( Complex in,
Complex out = NULL,
bool  shift = false 
)
inlinevirtual

Definition at line 455 of file fftw++.h.

References Execute(), Normalize(), out, and Setout().

Referenced by fft0Normalized(), and fftNormalized().

void fftwpp::fftw::fftNormalized ( Complex in,
double *  out,
bool  shift = false 
)
inline

Definition at line 462 of file fftw++.h.

References Execute(), Normalize(), out, and Setout().

void fftwpp::fftw::fftNormalized ( double *  in,
Complex out,
bool  shift = false 
)
inline

Definition at line 468 of file fftw++.h.

References fftNormalized().

template<class I , class O >
void fftwpp::fftw::fftNormalized ( unsigned int  nx,
unsigned int  M,
size_t  ostride,
size_t  odist,
I in,
O *  out = NULL,
bool  shift = false 
)
inline

Definition at line 494 of file fftw++.h.

References Execute(), Normalize(), out, and Setout().

virtual threaddata fftwpp::fftw::lookup ( bool  ,
unsigned int   
)
inlinevirtual

Reimplemented in fftwpp::fft2d, fftwpp::mcrfft1d, fftwpp::mrcfft1d, fftwpp::crfft1d, fftwpp::rcfft1d, fftwpp::mfft1d, and fftwpp::fft1d.

Definition at line 344 of file fftw++.h.

Referenced by Setup().

void fftwpp::ThreadBase::multithread ( unsigned int  nx)
inlineinherited

Definition at line 127 of file fftw++.h.

References fftwpp::ThreadBase::innerthreads, and fftwpp::ThreadBase::threads.

void fftwpp::fftw::noplan ( )
inline

Definition at line 287 of file fftw++.h.

References exit.

Referenced by Setup().

void fftwpp::fftw::Normalize ( Complex out)
inline

Definition at line 440 of file fftw++.h.

References doubles, and norm.

Referenced by fftNormalized().

void fftwpp::fftw::Normalize ( double *  out)
inline

Definition at line 448 of file fftw++.h.

References doubles, and norm.

template<class O >
void fftwpp::fftw::Normalize ( unsigned int  nx,
unsigned int  M,
size_t  ostride,
size_t  odist,
O *  out 
)
inline

Definition at line 478 of file fftw++.h.

References norm, and G4StationSimulatorOG::p.

virtual fftw_plan fftwpp::fftw::Plan ( Complex ,
Complex  
)
inlinevirtual
static void fftwpp::fftw::planThreads ( unsigned  int)
inlinestatic

Definition at line 292 of file fftw++.h.

References threads.

Referenced by Setup(), and fftwpp::Transpose::Transpose().

Complex* fftwpp::fftw::Setout ( Complex in,
Complex out 
)
inline

Definition at line 405 of file fftw++.h.

References CheckAlign(), exit, fftwpp::inout, inplace, and out.

Referenced by fft(), fft0(), and fftNormalized().

threaddata fftwpp::fftw::Setup ( Complex in,
Complex out = NULL 
)
inline
threaddata fftwpp::fftw::Setup ( Complex in,
double *  out 
)
inline

Definition at line 393 of file fftw++.h.

References Setup().

threaddata fftwpp::fftw::Setup ( double *  in,
Complex out = NULL 
)
inline

Definition at line 397 of file fftw++.h.

References out, and Setup().

static void fftwpp::fftw::Shift ( Complex data,
unsigned int  nx,
unsigned int  ny,
unsigned  int 
)
inlinestatic
static void fftwpp::fftw::Shift ( double *  data,
unsigned int  nx,
unsigned int  ny,
unsigned  int 
)
inlinestatic

Definition at line 202 of file fftw++.h.

References exit, oddshift, and G4StationSimulatorOG::p.

static void fftwpp::fftw::Shift ( Complex data,
unsigned int  nx,
unsigned int  ny,
unsigned int  nz,
unsigned  int 
)
inlinestatic

Definition at line 221 of file fftw++.h.

References exit, oddshift, and G4StationSimulatorOG::p.

static void fftwpp::fftw::Shift ( double *  data,
unsigned int  nx,
unsigned int  ny,
unsigned int  nz,
unsigned  int 
)
inlinestatic

Definition at line 244 of file fftw++.h.

References exit, oddshift, and G4StationSimulatorOG::p.

virtual void fftwpp::fftw::store ( bool  ,
const threaddata  
)
inlinevirtual

Reimplemented in fftwpp::fft2d, fftwpp::mcrfft1d, fftwpp::mrcfft1d, fftwpp::crfft1d, fftwpp::rcfft1d, fftwpp::mfft1d, and fftwpp::fft1d.

Definition at line 347 of file fftw++.h.

Referenced by Setup().

void fftwpp::ThreadBase::Threads ( unsigned int  nthreads)
inlineinherited

Definition at line 124 of file fftw++.h.

References fftwpp::ThreadBase::threads.

virtual unsigned int fftwpp::fftw::Threads ( )
inlinevirtual
threaddata fftwpp::fftw::time ( fftw_plan  plan1,
fftw_plan  planT,
Complex in,
Complex out,
unsigned int  Threads 
)
inline

Member Data Documentation

unsigned int fftwpp::fftw::doubles
protected

Definition at line 156 of file fftw++.h.

Referenced by Normalize(), and Setup().

unsigned int fftwpp::fftw::effort =FFTW_MEASURE
static
unsigned int fftwpp::ThreadBase::innerthreads
protectedinherited

Definition at line 120 of file fftw++.h.

Referenced by fftwpp::ThreadBase::multithread().

bool fftwpp::fftw::inplace
protected
unsigned int fftwpp::fftw::maxthreads =1
static

Definition at line 172 of file fftw++.h.

Referenced by fftwpp::fftwblock< fftw_complex, fftw_complex >::fftwblock(), and Setup().

double fftwpp::fftw::norm
protected

Definition at line 159 of file fftw++.h.

Referenced by Normalize().

const char * fftwpp::fftw::oddshift ="Shift is not implemented for odd nx"
static

Definition at line 179 of file fftw++.h.

Referenced by Shift().

fftw_plan fftwpp::fftw::plan
protected
fftw_plan(* fftwpp::fftw::planner)(fftw *f, Complex *in, Complex *out) =Planner
static

Definition at line 175 of file fftw++.h.

int fftwpp::fftw::sign
protected
double fftwpp::fftw::testseconds =0.2
static

Definition at line 173 of file fftw++.h.

Referenced by time().

unsigned int fftwpp::fftw::threads
protected
const double fftwpp::fftw::twopi =2.0*acos(-1.0)
staticprotected

Definition at line 168 of file fftw++.h.

const char * fftwpp::fftw::WisdomName ="wisdom3.txt"
static

Definition at line 174 of file fftw++.h.


The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.