[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
The numeric and promote traits for fftw_complex and FFTWComplex follow the general specifications for Numeric and Promotion Traits and AlgebraicField. They are explicitly specialized for the types involved:
template<> struct NumericTraits<fftw_complex> { typedef fftw_complex Promote; typedef fftw_complex RealPromote; typedef fftw_complex ComplexPromote; typedef fftw_real ValueType; typedef VigraFalseType isIntegral; typedef VigraFalseType isScalar; typedef VigraFalseType isOrdered; typedef VigraTrueType isComplex; // etc. }; template<class Real> struct NumericTraits<FFTWComplex<Real> > { typedef FFTWComplex<Real> Promote; typedef FFTWComplex<Real> RealPromote; typedef FFTWComplex<Real> ComplexPromote; typedef Real ValueType; typedef VigraFalseType isIntegral; typedef VigraFalseType isScalar; typedef VigraFalseType isOrdered; typedef VigraTrueType isComplex; // etc. }; template<> struct NormTraits<fftw_complex> { typedef fftw_complex Type; typedef fftw_real SquaredNormType; typedef fftw_real NormType; }; template<class Real> struct NormTraits<FFTWComplex> { typedef FFTWComplex Type; typedef fftw_real SquaredNormType; typedef fftw_real NormType; }; template <> struct PromoteTraits<fftw_complex, fftw_complex> { typedef fftw_complex Promote; }; template <> struct PromoteTraits<fftw_complex, double> { typedef fftw_complex Promote; }; template <> struct PromoteTraits<double, fftw_complex> { typedef fftw_complex Promote; }; template <class Real> struct PromoteTraits<FFTWComplex<Real>, FFTWComplex<Real> > { typedef FFTWComplex<Real> Promote; }; template <class Real> struct PromoteTraits<FFTWComplex<Real>, double> { typedef FFTWComplex<Real> Promote; }; template <class Real> struct PromoteTraits<double, FFTWComplex<Real> > { typedef FFTWComplex<Real> Promote; };
#include <vigra/fftw3.hxx> (for FFTW 3) or
#include <vigra/fftw.hxx> (for deprecated FFTW 2)
Namespace: vigra
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |
html generated using doxygen and Python
|