template <class T, int N>
class vtb::core::Fourier_transform

-dimensional Fourier transform.

Base classes
Types
  • using array_type = blitz::Array< T, N >
  • using shape_type = blitz::TinyVector< int, N >
Methods
  • transform(array_type & x, int dir) -> void
  • backward(array_type & x) -> void
  • forward(array_type & x) -> void
  • Fourier_transform(const shape_type & shp)explicit
  • Fourier_transform()
template <class T, int N>
class vtb::core::Fourier_transform_base

Base class for all Fourier transforms. The class stores wave table and work area for bit reversal.

Derived classes
Types
  • using wavetable_type = Wave_table< T >
  • using array_type = blitz::Array< T, N >
  • using shape_type = blitz::TinyVector< int, N >
Fields
Methods
  • check(const array_type & x) -> voidprotected
  • clear() -> void
  • shape(const shape_type & rhs) -> void

    Update wave table for specified shape.

    • Only dimensions with different size are updated.

    Date
    2018-08-13
    Author
    Ivan Gankevich
  • shape() const -> const shape_type &
  • Fourier_transform_base()
  • Fourier_transform_base(const shape_type & shp)explicit
template <class T, int N>
class vtb::core::Chirp_Z_transform
Types
  • using fft_type = Fourier_transform< T, N >
  • using array_type = blitz::Array< T, N >
  • using shape_type = blitz::TinyVector< int, N >
Methods
  • transform(array_type & x, int dir) -> void
  • backward(array_type & x) -> void
  • forward(array_type & x) -> void
  • shape(const shape_type & rhs) -> void
  • fourier_transform_shape() const -> const shape_type &
  • shape() const -> const shape_type &
  • Chirp_Z_transform(const shape_type & shp)explicit
  • Chirp_Z_transform()
template <class T>
class vtb::core::Wave_table
Types
  • using array_type = blitz::Array< T, 1 >
Methods
  • fourier_transform(array_type & x, int sign) -> void
  • shape(int n) -> void
template <class T>
class vtb::core::Wave_table_base
Types
  • using array_type = blitz::Array< T, 1 >
  • using indices_type = blitz::Array< int, 1 >
Fields
  • indices_type _indices
  • array_type _waves
Methods
  • indices() const -> indices_type
  • waves() const -> array_type
  • free() -> void
template <class T, int N>
fourier_transform(blitz::Array< T, N > & x, int sign, Wave_table< T > waves) -> void