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

#include <fftw++.h>

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

Public Types

typedef std::map< keytype3,
threaddata, keyless3
Table
 

Public Member Functions

void CheckAlign (Complex *p, const char *s)
 
ComplexCheckAlign (Complex *in, Complex *out, bool constructor=true)
 
void Execute (fftw_plan plan, fftw_complex *in, fftw_complex *out)
 
void Execute (fftw_plan plan, double *in, fftw_complex *out)
 
void Execute (fftw_plan plan, fftw_complex *in, double *out)
 
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)
 
void fft0Normalized (double *in, Complex *out=NULL)
 
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)
 
void fftNormalized (double *in, Complex *out=NULL)
 
threaddata Lookup (Table &table, keytype3key)
 
threaddata lookup (bool inplace, unsigned int threads)
 
 mrcfft1d (unsigned int nx, unsigned int M, size_t istride, size_t ostride, size_t idist, size_t odist, double *in=NULL, Complex *out=NULL, unsigned int threads=maxthreads)
 
void multithread (unsigned int nx)
 
void noplan ()
 
void Normalize (double *out)
 
template<class O >
void Normalize (unsigned int nx, unsigned int M, size_t ostride, size_t odist, O *out)
 
void Normalize (Complex *out)
 
fftw_plan Plan (int Q, fftw_complex *in, fftw_complex *out)
 
fftw_plan Plan (int Q, double *in, fftw_complex *out)
 
fftw_plan Plan (int Q, fftw_complex *in, double *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)
 
void Store (Table &threadtable, keytype3key, const threaddata &data)
 
void store (bool inplace, const threaddata &data)
 
void Threads (unsigned int nthreads)
 
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)
 

Public Attributes

size_t idist
 
size_t istride
 
unsigned int M
 
int nx
 
size_t odist
 
size_t ostride
 
fftw_plan plan1
 
fftw_plan plan2
 
unsigned int Q
 
unsigned int R
 
unsigned int T
 

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)
 

Static Private Attributes

static Table threadtable
 

Detailed Description

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

Member Typedef Documentation

typedef std::map<keytype3 ,threaddata,keyless3 > fftwpp::Threadtable< keytype3 , keyless3 >::Table
inherited

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

Constructor & Destructor Documentation

fftwpp::mrcfft1d::mrcfft1d ( unsigned int  nx,
unsigned int  M,
size_t  istride,
size_t  ostride,
size_t  idist,
size_t  odist,
double *  in = NULL,
Complex out = NULL,
unsigned int  threads = maxthreads 
)
inline

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

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.

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::fftwblock< double , fftw_complex >::Execute ( fftw_plan  plan,
fftw_complex *  in,
fftw_complex *  out 
)
inlineinherited

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

void fftwpp::fftwblock< double , fftw_complex >::Execute ( fftw_plan  plan,
double *  in,
fftw_complex *  out 
)
inlineinherited

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

void fftwpp::fftwblock< double , fftw_complex >::Execute ( fftw_plan  plan,
fftw_complex *  in,
double *  out 
)
inlineinherited

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

void fftwpp::fftwblock< double , fftw_complex >::Execute ( Complex in,
Complex out,
bool  = false 
)
inlinevirtualinherited

Reimplemented from fftwpp::fftw.

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

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().

void fftwpp::mrcfft1d::fft0Normalized ( double *  in,
Complex out = NULL 
)
inline
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
void fftwpp::mrcfft1d::fftNormalized ( double *  in,
Complex out = NULL 
)
inline
threaddata fftwpp::Threadtable< keytype3 , keyless3 >::Lookup ( Table table,
keytype3  key 
)
inlineinherited

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

Referenced by fftwpp::mfft1d::lookup(), lookup(), and fftwpp::mcrfft1d::lookup().

threaddata fftwpp::mrcfft1d::lookup ( bool  inplace,
unsigned int  threads 
)
inlinevirtual
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 ( 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.

void fftwpp::mrcfft1d::Normalize ( Complex out)
inline
fftw_plan fftwpp::fftwblock< double , fftw_complex >::Plan ( int  Q,
fftw_complex *  in,
fftw_complex *  out 
)
inlineinherited

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

fftw_plan fftwpp::fftwblock< double , fftw_complex >::Plan ( int  Q,
double *  in,
fftw_complex *  out 
)
inlineinherited

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

fftw_plan fftwpp::fftwblock< double , fftw_complex >::Plan ( int  Q,
fftw_complex *  in,
double *  out 
)
inlineinherited

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

fftw_plan fftwpp::fftwblock< double , fftw_complex >::Plan ( Complex in,
Complex out 
)
inlinevirtualinherited

Reimplemented from fftwpp::fftw.

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

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.

void fftwpp::Threadtable< keytype3 , keyless3 >::Store ( Table threadtable,
keytype3  key,
const threaddata data 
)
inlineinherited

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

Referenced by fftwpp::mfft1d::store(), store(), and fftwpp::mcrfft1d::store().

void fftwpp::mrcfft1d::store ( bool  inplace,
const threaddata data 
)
inlinevirtual
void fftwpp::ThreadBase::Threads ( unsigned int  nthreads)
inlineinherited

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

References fftwpp::ThreadBase::threads.

unsigned int fftwpp::fftwblock< double , fftw_complex >::Threads ( )
inlinevirtualinherited

Reimplemented from fftwpp::fftw.

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

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
size_t fftwpp::fftwblock< double , fftw_complex >::idist
inherited

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

unsigned int fftwpp::ThreadBase::innerthreads
protectedinherited

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

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

bool fftwpp::fftw::inplace
protectedinherited
size_t fftwpp::fftwblock< double , fftw_complex >::istride
inherited

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

unsigned int fftwpp::fftwblock< double , fftw_complex >::M
inherited

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

Referenced by fft0Normalized(), fftNormalized(), and Normalize().

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().

int fftwpp::fftwblock< double , fftw_complex >::nx
inherited

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

Referenced by fft0Normalized(), fftNormalized(), lookup(), Normalize(), and store().

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().

size_t fftwpp::fftwblock< double , fftw_complex >::odist
inherited

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

Referenced by fft0Normalized(), fftNormalized(), and Normalize().

size_t fftwpp::fftwblock< double , fftw_complex >::ostride
inherited

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

Referenced by fft0Normalized(), fftNormalized(), and Normalize().

fftw_plan fftwpp::fftw::plan
protectedinherited
fftw_plan fftwpp::fftwblock< double , fftw_complex >::plan1
inherited

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

fftw_plan fftwpp::fftwblock< double , fftw_complex >::plan2
inherited

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

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

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

unsigned int fftwpp::fftwblock< double , fftw_complex >::Q
inherited

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

Referenced by lookup(), and store().

unsigned int fftwpp::fftwblock< double , fftw_complex >::R
inherited

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

Referenced by lookup(), and store().

int fftwpp::fftw::sign
protectedinherited
unsigned int fftwpp::fftwblock< double , fftw_complex >::T
inherited

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

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
mrcfft1d::Table fftwpp::mrcfft1d::threadtable
staticprivate

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

Referenced by lookup(), and store().

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 files:

, generated on Tue Sep 26 2023.