|
|
Defines | |
| #define | FPT_NO_FAST_ALGORITHM (1U << 2) |
| If set, TODO complete comment. | |
| #define | FPT_NO_DIRECT_ALGORITHM (1U << 3) |
| If set, TODO complete comment. | |
| #define | FPT_NO_STABILIZATION (1U << 0) |
| If set, no stabilization will be used. | |
| #define | FPT_PERSISTENT_DATA (1U << 4) |
| If set, TODO complete comment. | |
| #define | FPT_FUNCTION_VALUES (1U << 5) |
| If set, the output are function values at Chebyshev nodes rather than Chebyshev coefficients. | |
| #define | FPT_AL_SYMMETRY (1U << 6) |
| TODO Don't use this flag! | |
Typedefs | |
| typedef struct fpt_set_s_ * | fpt_set |
| A set of precomputed data for a set of DPT transforms of equal maximum length. | |
Functions | |
| fpt_set | fpt_init (const int M, const int t, const unsigned int flags) |
| Initializes a set of precomputed data for DPT transforms of equal length. | |
| void | fpt_precompute (fpt_set set, const int m, double *alpha, double *beta, double *gam, int k_start, const double threshold) |
| Computes the data required for a single DPT transform. | |
| void | dpt_trafo (fpt_set set, const int m, const fftw_complex *x, fftw_complex *y, const int k_end, const unsigned int flags) |
| Computes a single DPT transform. | |
| void | fpt_trafo (fpt_set set, const int m, const fftw_complex *x, fftw_complex *y, const int k_end, const unsigned int flags) |
| Computes a single DPT transform. | |
| void | dpt_transposed (fpt_set set, const int m, fftw_complex *x, fftw_complex *y, const int k_end, const unsigned int flags) |
| Computes a single DPT transform. | |
| void | fpt_transposed (fpt_set set, const int m, fftw_complex *x, fftw_complex *y, const int k_end, const unsigned int flags) |
| Computes a single DPT transform. | |
| void | fpt_finalize (fpt_set set) |
In the following, we abbreviate the term "fast polynomial transforms" by FPT.
| #define FPT_NO_FAST_ALGORITHM (1U << 2) |
If set, TODO complete comment.
Definition at line 2172 of file nfft3.h.
Referenced by fpt_init(), and fpt_precompute().
| #define FPT_NO_DIRECT_ALGORITHM (1U << 3) |
If set, TODO complete comment.
Definition at line 2173 of file nfft3.h.
Referenced by fpt_init(), and fpt_precompute().
| #define FPT_NO_STABILIZATION (1U << 0) |
If set, no stabilization will be used.
Definition at line 2174 of file nfft3.h.
Referenced by fpt_precompute(), and SO3_single_fpt_init().
| #define FPT_PERSISTENT_DATA (1U << 4) |
If set, TODO complete comment.
Definition at line 2177 of file nfft3.h.
Referenced by fpt_precompute(), and nfsft_precompute().
| #define FPT_FUNCTION_VALUES (1U << 5) |
| typedef struct fpt_set_s_* fpt_set |
| fpt_set fpt_init | ( | const int | M, | |
| const int | t, | |||
| const unsigned int | flags | |||
| ) |
Initializes a set of precomputed data for DPT transforms of equal length.
. The individual transforms are addressed by and index number
with range
. The total number of transforms is therefore
.
of the transform length
Definition at line 738 of file fpt.c.
References FPT_NO_DIRECT_ALGORITHM, FPT_NO_FAST_ALGORITHM, nfft_free(), nfft_malloc(), and PI.
Referenced by main(), nfsft_precompute(), and SO3_single_fpt_init().
| void fpt_precompute | ( | fpt_set | set, | |
| const int | m, | |||
| double * | alpha, | |||
| double * | beta, | |||
| double * | gam, | |||
| int | k_start, | |||
| const double | threshold | |||
| ) |
Computes the data required for a single DPT transform.
.
for
such that alpha[k] *
.
for
such that beta[k]
.
for
such that gamma[k] *
.
.Definition at line 840 of file fpt.c.
References fpt_step_::a11, fpt_step_::a12, fpt_step_::a21, fpt_step_::a22, fpt_data_::alpha, fpt_data_::alpha_0, fpt_data_::alphaN, fpt_data_::beta, fpt_data_::beta_0, fpt_data_::betaN, FIRST_L, FPT_AL_SYMMETRY, FPT_NO_DIRECT_ALGORITHM, FPT_NO_FAST_ALGORITHM, FPT_NO_STABILIZATION, FPT_PERSISTENT_DATA, fpt_step_::g, fpt_data_::gamma, fpt_data_::gamma_m1, fpt_data_::gammaN, fpt_data_::k_start, K_START_TILDE, LAST_L, nfft_free(), nfft_malloc(), nfft_next_power_of_2(), nfft_next_power_of_2_exp(), fpt_step_::Ns, fpt_step_::stable, fpt_data_::steps, and fpt_step_::ts.
Referenced by main(), nfsft_precompute(), and SO3_single_fpt_init().
| void dpt_trafo | ( | fpt_set | set, | |
| const int | m, | |||
| const fftw_complex * | x, | |||
| fftw_complex * | y, | |||
| const int | k_end, | |||
| const unsigned int | flags | |||
| ) |
| void fpt_trafo | ( | fpt_set | set, | |
| const int | m, | |||
| const fftw_complex * | x, | |||
| fftw_complex * | y, | |||
| const int | k_end, | |||
| const unsigned int | flags | |||
| ) |
| void dpt_transposed | ( | fpt_set | set, | |
| const int | m, | |||
| fftw_complex * | x, | |||
| fftw_complex * | y, | |||
| const int | k_end, | |||
| const unsigned int | flags | |||
| ) |
| void fpt_transposed | ( | fpt_set | set, | |
| const int | m, | |||
| fftw_complex * | x, | |||
| fftw_complex * | y, | |||
| const int | k_end, | |||
| const unsigned int | flags | |||
| ) |