|
3.2.3 |
Fast NFFT-based summation algorithm. More...
#include "config.h"#include <stdlib.h>#include <math.h>#include "nfft3util.h"#include "nfft3.h"#include "fastsum.h"#include "infft.h"#include "kernels.h"Go to the source code of this file.
Functions | |
| int | max_i (int a, int b) |
| max | |
| double | fak (int n) |
| factorial | |
| double | binom (int n, int m) |
| binomial coefficient | |
| double | BasisPoly (int m, int r, double xx) |
| basis polynomial for regularized kernel | |
| double _Complex | regkern (kernel k, double xx, int p, const double *param, double a, double b) |
| regularized kernel with K_I arbitrary and K_B smooth to zero | |
| double _Complex | regkern1 (kernel k, double xx, int p, const double *param, double a, double b) |
| regularized kernel with K_I arbitrary and K_B periodized (used in 1D) | |
| double _Complex | regkern2 (kernel k, double xx, int p, const double *param, double a, double b) |
| regularized kernel for even kernels with K_I even and K_B mirrored | |
| double _Complex | regkern3 (kernel k, double xx, int p, const double *param, double a, double b) |
| regularized kernel for even kernels with K_I even and K_B mirrored smooth to K(1/2) (used in dD, d>1) | |
| double _Complex | linintkern (const double x, const double _Complex *Add, const int Ad, const double a) |
| linear spline interpolation in near field with even kernels | |
| double _Complex | quadrintkern (const double x, const double _Complex *Add, const int Ad, const double a) |
| double _Complex | kubintkern (const double x, const double _Complex *Add, const int Ad, const double a) |
| cubic spline interpolation in near field with even kernels | |
| double _Complex | kubintkern1 (const double x, const double _Complex *Add, const int Ad, const double a) |
| cubic spline interpolation in near field with arbitrary kernels | |
| void | quicksort (int d, int t, double *x, double _Complex *alpha, int N) |
| quicksort algorithm for source knots and associated coefficients | |
| static void | BuildBox (fastsum_plan *ths) |
| initialize box-based search data structures | |
| static double _Complex | calc_SearchBox (int d, double *y, double *x, double _Complex *alpha, int start, int end_lt, const double _Complex *Add, const int Ad, int p, double a, const kernel k, const double *param, const unsigned flags) |
| inner computation function for box-based near field correction | |
| static double _Complex | SearchBox (double *y, fastsum_plan *ths) |
| box-based near field correction | |
| void | BuildTree (int d, int t, double *x, double _Complex *alpha, int N) |
| recursive sort of source knots dimension by dimension to get tree structure | |
| double _Complex | SearchTree (const int d, const int t, const double *x, const double _Complex *alpha, const double *xmin, const double *xmax, const int N, const kernel k, const double *param, const int Ad, const double _Complex *Add, const int p, const unsigned flags) |
| fast search in tree of source knots for near field computation | |
| void | fastsum_init_guru (fastsum_plan *ths, int d, int N_total, int M_total, kernel k, double *param, unsigned flags, int nn, int m, int p, double eps_I, double eps_B) |
| initialization of fastsum plan | |
| void | fastsum_finalize (fastsum_plan *ths) |
| finalization of fastsum plan | |
| void | fastsum_exact (fastsum_plan *ths) |
| direct computation of sums | |
| void | fastsum_precompute (fastsum_plan *ths) |
| precomputation for fastsum | |
| void | fastsum_trafo (fastsum_plan *ths) |
| fast NFFT-based summation | |