![]() |
|
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 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, const double *alpha, const double *beta, const double *gamma, 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 double complex *x, double 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 double complex *x, double complex *y, const int k_end, const unsigned int flags) |
Computes a single DPT transform. | |
void | dpt_transposed (fpt_set set, const int m, double complex *x, double complex *y, const int k_end, const unsigned int flags) |
Computes a single DPT transform. | |
void | fpt_transposed (fpt_set set, const int m, double complex *x, const double complex *y, const int k_end, const unsigned int flags) |
Computes a single DPT transform. | |
void | fpt_finalize (fpt_set set) |
Save copy of inpute data for stabilization steps. |
|
Initializes a set of precomputed data for DPT transforms of equal length.
Definition at line 588 of file fpt.c. References fpt_set_s_::dpt, fpt_set_s_::flags, FPT_NO_DIRECT_ALGORITHM, FPT_NO_FAST_ALGORITHM, fpt_set_s_::kinds, fpt_set_s_::kindsr, fpt_set_s_::lengths, fpt_set_s_::M, fpt_set_s_::N, PI, fpt_set_s_::plans_dct2, fpt_set_s_::plans_dct3, fpt_set_s_::result, fpt_data_::steps, fpt_set_s_::t, fpt_set_s_::temp, fpt_set_s_::vec3, fpt_set_s_::vec4, fpt_set_s_::work, fpt_set_s_::xc_slow, fpt_set_s_::xcvecs, and fpt_set_s_::z. Referenced by main(), and nfsft_precompute(). |
|
|
Computes a single DPT transform.
Definition at line 1003 of file fpt.c. References fpt_data_::alpha, fpt_data_::beta, fpt_set_s_::dpt, eval_sum_clenshaw(), fpt_set_s_::flags, FPT_FUNCTION_VALUES, FPT_NO_DIRECT_ALGORITHM, fpt_data_::gamma, fpt_data_::gamma_m1, fpt_data_::k_start, nfft_next_power_of_2_exp(), PI, fpt_set_s_::plans_dct2, fpt_set_s_::result, fpt_set_s_::temp, fpt_set_s_::work, fpt_set_s_::xc_slow, and fpt_set_s_::xcvecs. Referenced by fpt_trafo(), and nfsft_trafo(). |
|
Computes a single DPT transform.
Definition at line 1057 of file fpt.c. References fpt_step_::a11, fpt_step_::a12, fpt_step_::a21, fpt_step_::a22, fpt_data_::alpha_0, fpt_data_::alphaN, fpt_data_::beta_0, fpt_data_::betaN, fpt_set_s_::dpt, dpt_trafo(), FIRST_L, fpt_set_s_::flags, FPT_AL_SYMMETRY, fpt_do_step_symmetric(), fpt_do_step_symmetric_l(), fpt_do_step_symmetric_u(), FPT_FUNCTION_VALUES, FPT_NO_FAST_ALGORITHM, fpt_step_::gamma, fpt_data_::gamma_m1, fpt_data_::gammaN, K_END_TILDE, fpt_data_::k_start, K_START_TILDE, LAST_L, fpt_step_::N_stab, nfft_next_power_of_2_exp(), fpt_set_s_::result, fpt_step_::stable, fpt_data_::steps, fpt_step_::t_stab, fpt_set_s_::vec3, fpt_set_s_::vec4, and fpt_set_s_::work. Referenced by nfsft_trafo(). |
|
Computes a single DPT transform.
Definition at line 1328 of file fpt.c. References fpt_data_::alpha, fpt_data_::beta, fpt_set_s_::dpt, eval_sum_clenshaw_transposed(), fpt_set_s_::flags, FPT_FUNCTION_VALUES, FPT_NO_DIRECT_ALGORITHM, fpt_data_::gamma, fpt_data_::gamma_m1, fpt_data_::k_start, nfft_next_power_of_2_exp(), PI, fpt_set_s_::plans_dct3, fpt_set_s_::result, fpt_set_s_::temp, fpt_set_s_::work, fpt_set_s_::xc_slow, and fpt_set_s_::xcvecs. Referenced by fpt_transposed(), and nfsft_adjoint(). |
|
Computes a single DPT transform.
Definition at line 1380 of file fpt.c. References fpt_step_::a11, fpt_step_::a12, fpt_step_::a21, fpt_step_::a22, fpt_data_::alpha_0, fpt_data_::alphaN, fpt_data_::beta_0, fpt_data_::betaN, fpt_set_s_::dpt, dpt_transposed(), FIRST_L, fpt_set_s_::flags, FPT_AL_SYMMETRY, fpt_do_step_transposed_symmetric(), fpt_do_step_transposed_symmetric_l(), fpt_do_step_transposed_symmetric_u(), FPT_FUNCTION_VALUES, FPT_NO_FAST_ALGORITHM, fpt_step_::gamma, fpt_data_::gamma_m1, fpt_data_::gammaN, K_END_TILDE, fpt_data_::k_start, K_START_TILDE, LAST_L, fpt_step_::N_stab, nfft_next_power_of_2_exp(), fpt_set_s_::result, fpt_step_::stable, fpt_data_::steps, fpt_step_::t_stab, fpt_set_s_::vec3, fpt_set_s_::vec4, and fpt_set_s_::work. Referenced by main(), and nfsft_adjoint(). |