19template <
unsigned Dim,
class T>
26template <
unsigned Dim,
class T>
29 const bool transformTheseDims[
Dim],
bool compressTemps)
30: transformType_m(transform),
32 compressTempFields_m(compressTemps)
40 for (d=0; d<
Dim; ++d) {
41 transformDims_m[d] = transformTheseDims[d];
42 if (transformTheseDims[d]) ++nTransformDims_m;
46 PInsist(nTransformDims_m>0,
"Must transform at least one axis!!");
49 activeDims_m =
new unsigned[nTransformDims_m];
52 if (transformDims_m[d]) activeDims_m[icount++] = d;
56template <
unsigned Dim,
class T>
60: transformType_m(transform),
62 compressTempFields_m(compressTemps)
68 nTransformDims_m =
Dim;
69 activeDims_m =
new unsigned[
Dim];
70 for (
unsigned d=0; d<
Dim; d++) {
71 transformDims_m[d] =
true;
81template <
unsigned Dim,
class T>
87 out <<
"---------------FFT Object Dump Begin-------------------" << std::endl;
89 out <<
"Map of transform direction names:" << std::endl;
90 std::map<char*,unsigned>::const_iterator mi, m_end =
directions_m.end();
92 out <<
"[" << (*mi).first <<
"," << (*mi).second <<
"]" << std::endl;
96 out <<
"Transform dimensions: ";
97 for (
unsigned d=0; d<
Dim; ++d) {
98 out <<
"dim " << d <<
" = ";
100 out <<
"true" << std::endl;
102 out <<
"false" << std::endl;
105 out <<
"Input Field domain = " << Domain_m << std::endl;
106 out <<
"---------------FFT Object Dump End---------------------" << std::endl;
std::string getTransformType(unsigned int i)
character strings for transform types
void write(std::ostream &out) const
FFT_e transformType_m
Indicates which type of transform we do.
bool transformDims_m[Dim]
Indicates which dimensions are transformed.
std::map< const char *, int > directions_m
Stores user-defined names for FFT directions:
static GuardCellSizes< Dim > nullGC
null GuardCellSizes object for checking BareField arguments to transform