29 #ifndef LATTICES_LATTICEFFT_H
30 #define LATTICES_LATTICEFFT_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/casa/BasicSL/Complex.h>
34 #include <casacore/casa/Exceptions/Error.h>
35 #include <casacore/scimath/Mathematics/NumericTraits.h>
36 #include <casacore/casa/Arrays/ArrayFwd.h>
40 template <
class T>
class Lattice;
74 template <
class ComplexType>
static void cfft2d(
89 template <
class ComplexType>
static void cfft(
97 template <
class ComplexType>
static void rcfft(
104 template <
class ComplexType>
static void myrcfft(
114 template <
class ComplexType>
static void rcfft(
119 template <
class ComplexType>
static void myrcfft(
135 template <
class ComplexType>
static void crfft(
140 template <
class ComplexType>
static void crfft(
144 template <
class ComplexType>
static void crfft(
156 String(__func__) +
": This method does not support real-valued lattices"
162 String(__func__) +
": This method does not support real-valued lattices"
170 String(__func__) +
": This method does not support real-valued lattices"
178 String(__func__) +
": This method does not support real-valued lattices"
187 String(__func__) +
": This is the real -> complex version, you've "
188 "called it with the wrong parameters"
197 String(__func__) +
": This is the real -> complex version, you've "
198 "called it with the wrong parameters"
207 String(__func__) +
": This is the real -> complex version, you've "
208 "called it with the wrong parameters"
217 String(__func__) +
": This is the real -> complex version, you've "
218 "called it with the wrong parameters"
226 String(__func__) +
": This is the real -> complex version, you've "
227 "called it with the wrong parameters"
235 String(__func__) +
": This is the real -> complex version, you've "
236 "called it with the wrong parameters"
244 String(__func__) +
": This is the real -> complex version, you've "
245 "called it with the wrong parameters"
253 String(__func__) +
": This is the real -> complex version, you've "
254 "called it with the wrong parameters"
263 String(__func__) +
": This is the complex -> real version, you've "
264 "called it with the wrong parameters"
273 String(__func__) +
": This is the complex -> real version, you've "
274 "called it with the wrong parameters"
282 String(__func__) +
": This is the complex -> real version, you've "
283 "called it with the wrong parameters"
291 String(__func__) +
": This is the complex -> real version, you've "
292 "called it with the wrong parameters"
300 String(__func__) +
": This is the complex -> real version, you've "
301 "called it with the wrong parameters"
309 String(__func__) +
": This is the complex -> real version, you've "
310 "called it with the wrong parameters"
315 #ifndef CASACORE_NO_AUTO_TEMPLATES
316 #include "LatticeFFT.tcc"
static void crfft(Lattice< typename NumericTraits< ComplexType >::ConjugateType > &out, Lattice< ComplexType > &in, const Vector< Bool > &whichAxes, const Bool doShift=True, Bool doFast=False)
N-D complex->real FFT.
static void cfft(Lattice< ComplexType > &cLattice, const Bool toFrequency=True)
N-D in-place complex->complex FFT.
static void myrcfft(Lattice< ComplexType > &out, const Lattice< typename NumericTraits< ComplexType >::ConjugateType > &in, const Vector< Bool > &whichAxes, const Bool doShift=True)
static void cfft0(Lattice< ComplexType > &cLattice, const Vector< Bool > &whichAxes, const Bool toFrequency=True)
Non-folded version.
static void crfft(Lattice< typename NumericTraits< ComplexType >::ConjugateType > &out, Lattice< ComplexType > &in, const Bool doShift=True, Bool doFast=False)
static void cfft(Lattice< ComplexType > &cLattice, const Vector< Bool > &whichAxes, const Bool toFrequency=True)
N-D in-place complex->complex FFT.
static void crfft(Lattice< typename NumericTraits< ComplexType >::ConjugateType > &out, const Lattice< ComplexType > &in, const Bool doShift=True, Bool doFast=False)
static void rcfft(Lattice< ComplexType > &out, const Lattice< typename NumericTraits< ComplexType >::ConjugateType > &in, const Bool doShift=True, Bool doFast=False)
N-D real->complex FFT.
static void cfft2d(Lattice< ComplexType > &cLattice, const Bool toFrequency=True)
2-D in-place complex->complex FFT.
static void myrcfft(Lattice< ComplexType > &out, const Lattice< typename NumericTraits< ComplexType >::ConjugateType > &in, const Bool doShift=True)
static void rcfft(Lattice< ComplexType > &out, const Lattice< typename NumericTraits< ComplexType >::ConjugateType > &in, const Vector< Bool > &whichAxes, const Bool doShift=True, Bool doFast=False)
N-D real->complex FFT.
Char ConjugateType
Conjugate (real<->complex) type.
String: the storage and methods of handling collections of characters.
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.