|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <FFT.h>
Public Types | |
| enum | { dimensions = Dim } |
| enum | FFT_e { ccFFT , rcFFT , sineFFT , cosineFFT } |
| typedef T | Precision_t |
| typedef NDIndex< Dim > | Domain_t |
| typedef FFTPACK< T > | InternalFFT_t |
Public Member Functions | |
| void | write (std::ostream &out) const |
| void | setDirectionName (int direction, const char *directionName) |
| void | setNormFact (Precision_t nf) |
| int | transVnodes () const |
Protected Member Functions | |
| int | getDirection (const char *directionName) const |
| translate direction name string into dimension number | |
| bool | transformDim (unsigned d) const |
| query whether this dimension is to be transformed | |
| unsigned | numTransformDims (void) const |
| query number of transform dimensions | |
| unsigned | activeDimension (unsigned d) const |
| get dimension number from list of transformed dimensions | |
| InternalFFT_t & | getEngine (void) |
| access the internal FFT Engine | |
| Precision_t & | getNormFact (void) |
| get the FFT normalization factor | |
| const Domain_t & | getDomain (void) const |
| get our domain | |
| bool | checkDomain (const Domain_t &dom1, const Domain_t &dom2) const |
| compare indexes of two domains | |
| bool | compressTemps (void) const |
| do we compress temps? | |
Static Protected Attributes | |
| static GuardCellSizes< Dim > | nullGC |
| null GuardCellSizes object for checking BareField arguments to transform | |
Private Attributes | |
| std::map< const char *, int > | directions_m |
| Stores user-defined names for FFT directions: | |
| FFT_e | transformType_m |
| Indicates which type of transform we do. | |
| bool | transformDims_m [Dim] |
| Indicates which dimensions are transformed. | |
| unsigned | nTransformDims_m |
| Stores the number of dims to be transformed. | |
| unsigned * | activeDims_m |
| Stores the numbers of these dims (0,1,2). | |
| InternalFFT_t | FFTEngine_m |
| Internal FFT object for performing serial FFTs. | |
| Precision_t | normFact_m |
| Normalization factor: | |
| Domain_t | Domain_m |
| Domain of the input field, mainly used to check axis sizes and ordering, former const Domain_t& Domain_m;. | |
| bool | compressTempFields_m |
| Switch to turn on/off compression of intermediate Fields (tempFields) as algorithm is finished with them. | |
Non-specialized FFT class. We specialize based on Transform tag class
|
inherited |
|
inherited |
|
inlineprotectedinherited |
get dimension number from list of transformed dimensions
get dimension number from list of transformed dimensions
| d |
Definition at line 252 of file FFTBase.h.
References activeDims_m, nTransformDims_m, and PAssert_LT.
|
inlineprotectedinherited |
compare indexes of two domains
helper function for comparing domains
| Dim | |
| dom1 | |
| Dim | |
| dom2 |
Definition at line 269 of file FFTBase.h.
References Dim.
Referenced by FFT< CCTransform, Dim, T >::transform().
|
inlineprotectedinherited |
do we compress temps?
Definition at line 166 of file FFTBase.h.
Referenced by FFT< CCTransform, Dim, T >::transform().
|
inlineprotectedinherited |
translate direction name string into dimension number
Translate direction name string into dimension number
| directionName |
Definition at line 225 of file FFTBase.h.
References directions_m.
Referenced by FFT< CCTransform, Dim, T >::transform().
|
inlineprotectedinherited |
get our domain
Definition at line 160 of file FFTBase.h.
Referenced by FFT< CCTransform, Dim, T >::transform().
|
inlineprotectedinherited |
access the internal FFT Engine
Definition at line 154 of file FFTBase.h.
Referenced by FFT< CCTransform, Dim, T >::FFT(), and FFT< CCTransform, Dim, T >::transform().
|
inlineprotectedinherited |
get the FFT normalization factor
Definition at line 157 of file FFTBase.h.
Referenced by FFT< CCTransform, Dim, T >::FFT(), and FFT< CCTransform, Dim, T >::transform().
|
inlineprotectedinherited |
query number of transform dimensions
Definition at line 148 of file FFTBase.h.
Referenced by FFT< CCTransform, Dim, T >::transform().
|
inlineinherited |
Allow the user to name the transform directions, for code clarity.
| direction | |
| directionName |
Allow the user to name the transform directions, for code clarity. Typical values might be "x_to_k", "k_to_x", "t_to_omega", "omega_to_t"
Definition at line 209 of file FFTBase.h.
References directions_m, and PAssert_EQ.
|
inlineinherited |
|
inlineprotectedinherited |
query whether this dimension is to be transformed
query whether this dimension is to be transformed
| d |
Definition at line 238 of file FFTBase.h.
References Dim, PAssert_LT, and transformDims_m.
I/O for FFT object
| out |
Definition at line 82 of file FFTBase.hpp.
References Dim, directions_m, getTransformType(), transformDims_m, and transformType_m.
Referenced by operator<<().
Stores the numbers of these dims (0,1,2).
Definition at line 176 of file FFTBase.h.
Referenced by activeDimension().
|
privateinherited |
Stores user-defined names for FFT directions:
Definition at line 171 of file FFTBase.h.
Referenced by getDirection(), setDirectionName(), and write().
|
privateinherited |
|
privateinherited |
Stores the number of dims to be transformed.
Definition at line 175 of file FFTBase.h.
Referenced by activeDimension().
|
staticprotectedinherited |
null GuardCellSizes object for checking BareField arguments to transform
! These members are used by the derived FFT classes
Definition at line 139 of file FFTBase.h.
Referenced by FFT< CCTransform, Dim, T >::transform().
Indicates which dimensions are transformed.
Definition at line 174 of file FFTBase.h.
Referenced by transformDim(), and write().