|
OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
#include <FFT.h>


Public Types | |
| typedef FieldLayout< 1U > | Layout_t |
| typedef std::complex< T > | Complex_t |
| typedef BareField< Complex_t, 1U > | ComplexField_t |
| typedef LField< Complex_t, 1U > | ComplexLField_t |
| typedef FFTBase< 1U, T >::Domain_t | Domain_t |
Public Types inherited from FFTBase< 1U, T > | |
| enum | |
| enum | FFT_e |
| typedef T | Precision_t |
| typedef NDIndex< Dim > | Domain_t |
| typedef FFTPACK< T > | InternalFFT_t |
Public Member Functions | |
| FFT (const Domain_t &cdomain, const bool transformTheseDims[1U], const bool &compressTemps=false) | |
| FFT (const Domain_t &cdomain, const bool &compressTemps=false) | |
| ~FFT (void) | |
| void | transform (int direction, ComplexField_t &f, ComplexField_t &g, const bool &constInput=false) |
| void | transform (const char *directionName, ComplexField_t &f, ComplexField_t &g, const bool &constInput=false) |
| void | transform (int direction, ComplexField_t &f) |
| void | transform (const char *directionName, ComplexField_t &f) |
Public Member Functions inherited from FFTBase< 1U, T > | |
| FFTBase () | |
| FFTBase (FFT_e transform, const Domain_t &domain, const bool transformTheseDims[Dim], bool compressTemps) | |
| FFTBase (FFT_e transform, const Domain_t &domain, bool compressTemps) | |
| virtual | ~FFTBase (void) |
| void | write (std::ostream &out) const |
| void | setDirectionName (int direction, const char *directionName) |
| void | setNormFact (Precision_t nf) |
| int | transVnodes () const |
Private Member Functions | |
| void | setup (void) |
Private Attributes | |
| Layout_t * | tempLayouts_m |
| ComplexField_t * | tempFields_m |
Additional Inherited Members | |
Protected Member Functions inherited from FFTBase< 1U, T > | |
| int | getDirection (const char *directionName) const |
| translate direction name string into dimension number More... | |
| bool | transformDim (unsigned d) const |
| query whether this dimension is to be transformed More... | |
| unsigned | numTransformDims (void) const |
| query number of transform dimensions More... | |
| unsigned | activeDimension (unsigned d) const |
| get dimension number from list of transformed dimensions More... | |
| InternalFFT_t & | getEngine (void) |
| access the internal FFT Engine More... | |
| Precision_t & | getNormFact (void) |
| get the FFT normalization factor More... | |
| const Domain_t & | getDomain (void) const |
| get our domain More... | |
| bool | checkDomain (const Domain_t &dom1, const Domain_t &dom2) const |
| compare indexes of two domains More... | |
| bool | compressTemps (void) const |
| do we compress temps? More... | |
Static Protected Attributes inherited from FFTBase< 1U, T > | |
| static GuardCellSizes< Dim > | nullGC |
| null GuardCellSizes object for checking BareField arguments to transform More... | |
1D complex-to-complex FFT class
| typedef std::complex<T> FFT< CCTransform, 1U, T >::Complex_t |
| typedef FFTBase<1U,T>::Domain_t FFT< CCTransform, 1U, T >::Domain_t |
| typedef FieldLayout<1U> FFT< CCTransform, 1U, T >::Layout_t |
| FFT< CCTransform, 1U, T >::FFT | ( | const Domain_t & | cdomain, |
| const bool | transformTheseDims[1U], | ||
| const bool & | compressTemps = false |
||
| ) |
| FFT< CCTransform, 1U, T >::FFT | ( | const Domain_t & | cdomain, |
| const bool & | compressTemps = false |
||
| ) |
| FFT< CCTransform, 1U, T >::~FFT | ( | void | ) |
|
private |
setup performs all the initializations necessary after the transform directions have been specified.
Definition at line 469 of file FFT.hpp.
References FFTBase< Dim, T >::compressTemps(), FFTBase< Dim, T >::getDomain(), and PARALLEL.

| void FFT< CCTransform, 1U, T >::transform | ( | int | direction, |
| ComplexField_t & | f, | ||
| ComplexField_t & | g, | ||
| const bool & | constInput = false |
||
| ) |
Do the FFT: specify +1 or -1 to indicate forward or inverse transform, or specify the user-defined name string for the direction. User provides separate input and output fields optional argument constInput indicates whether or not to treat the input Field argument f as const. If not, we can use it as a temporary in order to avoid an additional data transpose.
| void FFT< CCTransform, 1U, T >::transform | ( | const char * | directionName, |
| ComplexField_t & | f, | ||
| ComplexField_t & | g, | ||
| const bool & | constInput = false |
||
| ) |
invoke using string for direction name
| void FFT< CCTransform, 1U, T >::transform | ( | int | direction, |
| ComplexField_t & | f | ||
| ) |
overloaded versions which perform the FFT "in place"
| void FFT< CCTransform, 1U, T >::transform | ( | const char * | directionName, |
| ComplexField_t & | f | ||
| ) |
|
private |
|
private |
1.8.5