#include <support.h>
Public Types | |
typedef unsigned int | size_type |
typedef double | real_type |
typedef fftw_complex | complex_type |
typedef real_type * | space_data_type |
typedef complex_type * | frequency_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. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Needs the width and height in the space domain of the real function with which it will deal. |
|
|
|
Create a buffer to store data.
|
|
Destroy the buffer.
|
|
Compute the inverse FFT.
|
|
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. |
|
Get the frequency data from a buffer.
|
|
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. |
|
Get the space data from a buffer.
|
|
Compute a fast, one-by-one, in-place, complex-valued multiplication of the frequency data. |
|
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. |
|
Put the frequency data into a buffer.
|
|
Put space data into a 2D array. Real_data_2D_array must provide the following functions: resize(), and a (x,y) access operator. |
|
Put the space data into a buffer.
|
|
Set the flags for FFTW.
|
|
Set the file name of the wisdom file. "" not to use a file.
|
|
Compute the FFT.
|
|
Give the size of the frequency domain.
|
|
Give the size of the space domain.
|
|
Give the size of the frequency domain.
|
|
Give the size of the space domain.
|