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

#include <fftw++.h>

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

Public Member Functions

void CheckAlign (Complex *p, const char *s)
 
ComplexCheckAlign (Complex *in, Complex *out, bool constructor=true)
 
 crfft2d (unsigned int nx, unsigned int ny, double *out=NULL, unsigned int threads=maxthreads)
 
 crfft2d (unsigned int nx, unsigned int ny, Complex *in, double *out=NULL, unsigned int threads=maxthreads)
 
void deNyquist (Complex *f)
 
void Execute (Complex *in, Complex *out, bool shift=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)
 
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)
 
fftw_plan Plan (Complex *in, Complex *out)
 
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)
 

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)
 

Private Attributes

unsigned int nx
 
unsigned int ny
 

Detailed Description

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

Constructor & Destructor Documentation

fftwpp::crfft2d::crfft2d ( unsigned int  nx,
unsigned int  ny,
double *  out = NULL,
unsigned int  threads = maxthreads 
)
inline

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

References out, and fftwpp::fftw::Setup().

fftwpp::crfft2d::crfft2d ( unsigned int  nx,
unsigned int  ny,
Complex in,
double *  out = NULL,
unsigned int  threads = maxthreads 
)
inline

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

References out, and fftwpp::fftw::Setup().

Member Function Documentation

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

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

Referenced by fftwpp::fftw::CheckAlign(), fftwpp::fftw::Setout(), and fftwpp::fftw::Setup().

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

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

References fftwpp::fftw::CheckAlign(), and out.

void fftwpp::crfft2d::deNyquist ( Complex f)
inline

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

References nx, and ny.

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

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

void fftwpp::crfft2d::Execute ( Complex in,
Complex out,
bool  shift = false 
)
inlinevirtual

Reimplemented from fftwpp::fftw.

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

References fftwpp::fftw::inplace, nx, ny, fftwpp::fftw::plan, fftwpp::fftw::Shift(), and fftwpp::fftw::threads.

void fftwpp::fftw::fft ( Complex in,
Complex out = NULL 
)
inlineinherited
void fftwpp::fftw::fft ( double *  in,
Complex out = NULL 
)
inlineinherited

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

References fftwpp::fftw::fft(), and out.

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

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

References fftwpp::fftw::fft().

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

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

References fftwpp::fftw::Execute(), out, and fftwpp::fftw::Setout().

Referenced by fftwpp::fftw::fft0().

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

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

References fftwpp::fftw::fft0(), and out.

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

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

References fftwpp::fftw::fft0().

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

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

References fftwpp::fftw::fftNormalized().

virtual void fftwpp::fftw::fftNormalized ( Complex in,
Complex out = NULL,
bool  shift = false 
)
inlinevirtualinherited
void fftwpp::fftw::fftNormalized ( Complex in,
double *  out,
bool  shift = false 
)
inlineinherited
void fftwpp::fftw::fftNormalized ( double *  in,
Complex out,
bool  shift = false 
)
inlineinherited

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

References fftwpp::fftw::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 
)
inlineinherited
virtual threaddata fftwpp::fftw::lookup ( bool  ,
unsigned int   
)
inlinevirtualinherited
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 ( )
inlineinherited

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

References exit.

Referenced by fftwpp::fftw::Setup().

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

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

References fftwpp::fftw::doubles, and fftwpp::fftw::norm.

Referenced by fftwpp::fftw::fftNormalized().

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

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

References fftwpp::fftw::doubles, and fftwpp::fftw::norm.

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

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

References fftwpp::fftw::norm, and G4StationSimulatorOG::p.

fftw_plan fftwpp::crfft2d::Plan ( Complex in,
Complex out 
)
inlinevirtual

Reimplemented from fftwpp::fftw.

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

References fftwpp::fftw::effort, nx, and ny.

static void fftwpp::fftw::planThreads ( unsigned  int)
inlinestaticinherited

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

References fftwpp::fftw::threads.

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

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

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

References fftwpp::fftw::Setup().

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

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

References out, and fftwpp::fftw::Setup().

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

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

References exit, fftwpp::fftw::oddshift, and G4StationSimulatorOG::p.

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

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

References exit, fftwpp::fftw::oddshift, and G4StationSimulatorOG::p.

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

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

References exit, fftwpp::fftw::oddshift, and G4StationSimulatorOG::p.

virtual void fftwpp::fftw::store ( bool  ,
const threaddata  
)
inlinevirtualinherited
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 ( )
inlinevirtualinherited
threaddata fftwpp::fftw::time ( fftw_plan  plan1,
fftw_plan  planT,
Complex in,
Complex out,
unsigned int  Threads 
)
inlineinherited

Member Data Documentation

unsigned int fftwpp::fftw::doubles
protectedinherited

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

Referenced by fftwpp::fftw::Normalize(), and fftwpp::fftw::Setup().

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

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

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

bool fftwpp::fftw::inplace
protectedinherited
unsigned int fftwpp::fftw::maxthreads =1
staticinherited
double fftwpp::fftw::norm
protectedinherited

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

Referenced by fftwpp::fftw::Normalize().

unsigned int fftwpp::crfft2d::nx
private

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

Referenced by deNyquist(), Execute(), and Plan().

unsigned int fftwpp::crfft2d::ny
private

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

Referenced by deNyquist(), Execute(), and Plan().

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

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

Referenced by fftwpp::fftw::Shift().

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

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

int fftwpp::fftw::sign
protectedinherited
double fftwpp::fftw::testseconds =0.2
staticinherited

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

Referenced by fftwpp::fftw::time().

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

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

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

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


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

, generated on Tue Sep 26 2023.