Main Page   Namespace List   Compound List   File List   Namespace Members   Compound Members  

FFT::Support Class Reference

Type for support of FFT calculation. More...

#include <support.h>

List of all members.

Public Types

typedef unsigned int size_type
typedef double real_type
typedef fftw_complex complex_type
typedef real_typespace_data_type
typedef complex_typefrequency_data_type
typedef void * buffer_type

Public Methods

 Support (const size_type w, const size_type h)
 ~Support ()
buffer_type create_buffer () const
 Create a buffer to store data.

void destroy_buffer (buffer_type buffer) const
 Destroy the buffer.

template<typename Real_data_2D_array> void save_space_data (Real_data_2D_array *const array) const
 Put space data into a 2D array.

template<typename Real_data_2D_array> void load_space_data (const Real_data_2D_array &array)
 Get space data from a 2D array.

template<typename Complex_data_2D_array> void save_frequency_data (Complex_data_2D_array *const array) const
 Put frequency data into a 2D array.

template<typename Complex_data_2D_array> void load_frequency_data (const Complex_data_2D_array &array)
 Get frequency data from a 2D array.

void save_space_data_into_buffer (buffer_type buffer) const
 Put the space data into a buffer.

void load_space_data_from_buffer (buffer_type buffer)
 Get the space data from a buffer.

void save_frequency_data_into_buffer (buffer_type buffer) const
 Put the frequency data into a buffer.

void load_frequency_data_from_buffer (buffer_type buffer)
 Get the frequency data from a buffer.

void space_to_frequency ()
 Compute the FFT.

void frequency_to_space ()
 Compute the inverse FFT.

void multiply_frequency_data_by_buffer (buffer_type buffer, const bool scale=false)
size_type x_space_size () const
 Give the size of the space domain.

size_type y_space_size () const
 Give the size of the space domain.

size_type x_frequency_size () const
 Give the size of the frequency domain.

size_type y_frequency_size () const
 Give the size of the frequency domain.


Static Public Methods

void set_fftw_flags (const unsigned flags)
 Set the flags for FFTW.

void set_wisdom_file (const std::string file_name)
 Set the file name of the wisdom file. "" not to use a file.


Detailed Description

Type for support of FFT calculation.


Member Typedef Documentation

typedef void* FFT::Support::buffer_type
 

typedef fftw_complex FFT::Support::complex_type
 

typedef complex_type* FFT::Support::frequency_data_type
 

typedef double FFT::Support::real_type
 

typedef unsigned int FFT::Support::size_type
 

typedef real_type* FFT::Support::space_data_type
 


Constructor & Destructor Documentation

FFT::Support::Support const size_type    w,
const size_type    h
[inline]
 

Needs the width and height in the space domain of the real function with which it will deal.

FFT::Support::~Support   [inline]
 


Member Function Documentation

Support::buffer_type FFT::Support::create_buffer   [inline]
 

Create a buffer to store data.

void FFT::Support::destroy_buffer buffer_type    buffer const [inline]
 

Destroy the buffer.

void FFT::Support::frequency_to_space   [inline]
 

Compute the inverse FFT.

template<typename Complex_data_2D_array>
void FFT::Support::load_frequency_data const Complex_data_2D_array &    array
 

Get frequency data from a 2D array.

Complex_data_2D_array must provide the following functions: x_size(), y_size() and a (x,y) access operator. Complex_data_2D_array::value_type is assumed to be compatible with the standard complex<double> structure.

void FFT::Support::load_frequency_data_from_buffer buffer_type    buffer [inline]
 

Get the frequency data from a buffer.

template<typename Real_data_2D_array>
void FFT::Support::load_space_data const Real_data_2D_array &    array
 

Get space data from a 2D array.

Real_data_2D_array must provide the following functions: x_size(), y_size() and a (x,y) access operator.

void FFT::Support::load_space_data_from_buffer buffer_type    buffer [inline]
 

Get the space data from a buffer.

void FFT::Support::multiply_frequency_data_by_buffer buffer_type    buffer,
const bool    scale = false
[inline]
 

Compute a fast, one-by-one, in-place, complex-valued multiplication of the frequency data.

template<typename Complex_data_2D_array>
void FFT::Support::save_frequency_data Complex_data_2D_array *const    array const
 

Put frequency data into a 2D array.

Complex_data_2D_array must provide the following functions: resize(), and a (x,y) access operator. Complex_data_2D_array::value_type is assumed to be compatible with the standard complex<double> structure.

void FFT::Support::save_frequency_data_into_buffer buffer_type    buffer const [inline]
 

Put the frequency data into a buffer.

template<typename Real_data_2D_array>
void FFT::Support::save_space_data Real_data_2D_array *const    array const
 

Put space data into a 2D array.

Real_data_2D_array must provide the following functions: resize(), and a (x,y) access operator.

void FFT::Support::save_space_data_into_buffer buffer_type    buffer const [inline]
 

Put the space data into a buffer.

void FFT::Support::set_fftw_flags const unsigned    flags [inline, static]
 

Set the flags for FFTW.

void FFT::Support::set_wisdom_file const std::string    file_name [inline, static]
 

Set the file name of the wisdom file. "" not to use a file.

void FFT::Support::space_to_frequency   [inline]
 

Compute the FFT.

Support::size_type FFT::Support::x_frequency_size   [inline]
 

Give the size of the frequency domain.

Support::size_type FFT::Support::x_space_size   [inline]
 

Give the size of the space domain.

Support::size_type FFT::Support::y_frequency_size   [inline]
 

Give the size of the frequency domain.

Support::size_type FFT::Support::y_space_size   [inline]
 

Give the size of the space domain.


The documentation for this class was generated from the following file:
Generated on Thu Aug 19 15:55:51 2004 by doxygen1.2.18