![]() |
NFFT
3.5.0
|
Direct and fast computation of the nonequispaced FFT on the hyperbolic cross. More...
Data Structures | |
struct | nsfft_plan |
data structure for an NSFFT (nonequispaced sparse fast Fourier transform) plan with double precision More... | |
Macros | |
#define | NSDFT (1U<< 12) |
Functions | |
void | nsfft_trafo (nsfft_plan *ths) |
void | nsfft_adjoint (nsfft_plan *ths) |
void | nsfft_cp (nsfft_plan *ths, nfft_plan *ths_nfft) |
void | nsfft_init_random_nodes_coeffs (nsfft_plan *ths) |
void | nsfft_init (nsfft_plan *ths, int d, int J, int M, int m, unsigned flags) |
void | nsfft_finalize (nsfft_plan *ths) |
Direct and fast computation of the nonequispaced FFT on the hyperbolic cross.
#define NSDFT (1U<< 12) |
If this flag is set, the member index_sparse_to_full is (de)allocated and initialised for the use in the routine nsfft_direct_trafo and nsdft_adjoint.
Definition at line 476 of file nfft3.h.
Referenced by nsfft_adjoint(), and nsfft_init().
void nsfft_trafo | ( | nsfft_plan * | ths | ) |
Executes an NSFFT, computes fast and approximate for :
Definition at line 1541 of file nsfft.c.
References nsfft_plan::d.
Referenced by nsfft_adjoint().
void nsfft_adjoint | ( | nsfft_plan * | ths | ) |
Executes an adjoint NSFFT, computes fast and approximate for :
Definition at line 1549 of file nsfft.c.
References nsfft_plan::act_nfft_plan, nsfft_plan::center_nfft_plan, nsfft_plan::d, nsfft_plan::f, nsfft_plan::f_hat, nfft_plan::fftw_flags, FFTW_INIT, FG_PSI, nfft_plan::flags, nsfft_plan::flags, nfft_plan::g1, nfft_plan::g2, nsfft_plan::index_sparse_to_full, nsfft_plan::J, nfft_plan::K, nsfft_plan::M_total, MALLOC_F, MALLOC_X, nsfft_plan::mv_adjoint, nsfft_plan::mv_trafo, nsfft_plan::N_total, nfft_malloc(), nfft_precompute_one_psi(), NSDFT, nsfft_init(), nsfft_trafo(), PRE_ONE_PSI, nfft_plan::psi, nsfft_plan::set_nfft_plan_1d, nsfft_plan::set_nfft_plan_2d, nsfft_plan::sigma, X, nfft_plan::x, nsfft_plan::x_021, and nsfft_plan::x_transposed.
void nsfft_cp | ( | nsfft_plan * | ths, |
nfft_plan * | ths_nfft | ||
) |
Copy coefficients from nsfft plan to a nfft plan.
Definition at line 599 of file nsfft.c.
References nsfft_plan::act_nfft_plan, nsfft_plan::d, nfft_plan::f_hat, nsfft_plan::f_hat, nsfft_plan::index_sparse_to_full, nsfft_plan::J, nsfft_plan::M_total, nfft_plan::N, nfft_plan::N_total, nsfft_plan::N_total, X, and nfft_plan::x.
void nsfft_init_random_nodes_coeffs | ( | nsfft_plan * | ths | ) |
Initialisation of pseudo random nodes and coefficients.
Definition at line 723 of file nsfft.c.
References nsfft_plan::act_nfft_plan, nsfft_plan::center_nfft_plan, nsfft_plan::d, nfft_plan::f, nsfft_plan::f, nfft_plan::f_hat, nsfft_plan::f_hat, nsfft_plan::index_sparse_to_full, nsfft_plan::J, nfft_plan::m, nsfft_plan::M_total, nfft_plan::N, nfft_plan::n, nfft_plan::N_total, nfft_plan::n_total, nsfft_plan::N_total, nfft_adjoint(), nfft_trafo(), nfft_vrand_shifted_unit_double(), nfft_vrand_unit_complex(), RSWAP, nsfft_plan::set_nfft_plan_1d, nsfft_plan::set_nfft_plan_2d, nsfft_plan::sigma, X, nfft_plan::x, nsfft_plan::x_021, and nsfft_plan::x_transposed.
void nsfft_init | ( | nsfft_plan * | ths, |
int | d, | ||
int | J, | ||
int | M, | ||
int | m, | ||
unsigned | flags | ||
) |
Initialisation of a transform plan.
Definition at line 1778 of file nsfft.c.
References nsfft_plan::act_nfft_plan, nsfft_plan::center_nfft_plan, nsfft_plan::f, nsfft_plan::f_hat, FG_PSI, nfft_plan::flags, nsfft_plan::flags, nsfft_plan::index_sparse_to_full, nsfft_plan::J, nfft_plan::m, nfft_finalize(), nfft_free(), NSDFT, nsfft_plan::set_nfft_plan_1d, nsfft_plan::set_nfft_plan_2d, UNUSED, X, nsfft_plan::x_021, and nsfft_plan::x_transposed.
Referenced by nsfft_adjoint().
void nsfft_finalize | ( | nsfft_plan * | ths | ) |
Destroys a transform plan.
Definition at line 1885 of file nsfft.c.
References nsfft_plan::d.