Lattice Builder Manual
Software Package for Constructing Rank-1 Lattices
|
Wrapper for a subset of FFTW: FFT's for real functions in one dimension. More...
#include <::c_api>
Classes | |
class | allocator |
STL allocator replacement using FFTW's memory allocation functions. More... | |
struct | c_api |
Specialization of c_api for double precision. More... | |
Public Types | |
typedef T | real |
Real number. | |
typedef std::complex< T > | complex |
Complex number. | |
typedef std::vector< real, allocator< real > > | real_vector |
Vector of real numbers using FFTW allocation. | |
typedef std::vector< complex, allocator< complex > > | complex_vector |
Vector of complex numbers using FFTW allocation. | |
Static Public Member Functions | |
static complex_vector & | fft (const real_vector &v, complex_vector &result) |
Computes the real-to-complex Fourier transform of v into result . More... | |
static complex_vector::size_type | fft_size (const real_vector &v) |
Returns the output size (exact) for real-to-complex Fourier transform of v . More... | |
static complex_vector | fft (const real_vector &v) |
Computes the real-to-complex Fourier transform of v . More... | |
static real_vector & | ifft (const complex_vector &v, real_vector &result, bool normalize=true) |
Computes the complex-to-real Fourier transform of v into result . More... | |
static real_vector::size_type | real_ifft_size (const complex_vector &v) |
Returns the output size (guessed) for complex-to-real Fourier transform of v . More... | |
static real_vector | real_ifft (const complex_vector &v, bool normalize=true) |
Computes the complex-to-real Fourier transform of v . More... | |
Wrapper for a subset of FFTW: FFT's for real functions in one dimension.
Specialization of for float
precision.
|
inlinestatic |
Computes the real-to-complex Fourier transform of v
into result
.
The size of the transform is that of the real component. The expected size of result is v.size()
/ 2 + 1. Because result is Hermitian, only half of the elements (plus one) are stored.
References fftw< T >::fft_size().
Referenced by fftw< T >::fft().
|
inlinestatic |
Computes the real-to-complex Fourier transform of v
.
References fftw< T >::fft(), and fftw< T >::fft_size().
|
inlinestatic |
Returns the output size (exact) for real-to-complex Fourier transform of v
.
Referenced by fftw< T >::fft(), and fftw< T >::ifft().
|
inlinestatic |
Computes the complex-to-real Fourier transform of v
into result
.
The size of the transform is that of the real component. The expected size of v
is is result.size()
/ 2 + 1. Because v is Hermitian, only half of the elements (plus one) are considered.
false
, the result
vector is not normalized; its components must be divided by result.size()
for proper normalization. References fftw< T >::fft_size().
Referenced by fftw< T >::real_ifft(), and LatBuilder::Kernel::RAlpha::valuesVector().
|
inlinestatic |
Computes the complex-to-real Fourier transform of v
.
Assumes the size of the transform is 2 * (v.size()
- 1). Returns a vector of size 2 * (v.size()
- 1).
References fftw< T >::ifft(), and fftw< T >::real_ifft_size().
|
inlinestatic |
Returns the output size (guessed) for complex-to-real Fourier transform of v
.
Referenced by fftw< T >::real_ifft().