57 #define X(name) NFFT(name)
59 #if !(defined(NF_LIN) || defined(NF_QUADR) || defined(NF_KUB))
68 typedef C (*kernel)(R , int ,
const R *);
73 #define EXACT_NEARFIELD (1U<< 0)
75 #define NEARFIELD_BOXES (1U<< 1)
77 #define STORE_PERMUTATION_X_ALPHA (1U<< 2)
125 int box_count_per_dim;
152 void fastsum_init_guru(
fastsum_plan *ths,
int d,
int N_total,
int M_total, kernel
k, R *param,
unsigned flags,
int nn,
int m,
int p, R
eps_I, R
eps_B);
168 unsigned flags,
int nn,
int p, R eps_I, R eps_B);
245 C
regkern(kernel k, R xx,
int p, const R *param, R a, R
b);
249 const
int Ad, const R a);
int M_total
number of target knots
C regkern(kernel k, R xx, int p, const R *param, R a, R b)
regularized kernel with K_I arbitrary and K_B smooth to zero
int * permutation_x_alpha
permutation vector of source nodes if STORE_PERMUTATION_X_ALPHA is set
R * kernel_param
parameters for kernel function
void fastsum_init_guru_source_nodes(fastsum_plan *ths, int N_total, int nn_oversampled, int m)
initialize source nodes dependent part of fast summation plan
C * f_hat
Fourier coefficients of nfft plans.
void fastsum_finalize_kernel(fastsum_plan *ths)
finalization of fastsum plan
plan for fast summation algorithm
C * b
expansion coefficients
void fastsum_precompute_source_nodes(fastsum_plan *ths)
precomputation for fastsum
C * alpha
source coefficients
unsigned flags
flags precomp.
void fastsum_trafo(fastsum_plan *ths)
fast NFFT-based summation
void fastsum_precompute(fastsum_plan *ths)
precomputation for fastsum
int N_total
number of source knots
#define X(name)
Include header for C99 complex datatype.
void fastsum_finalize_target_nodes(fastsum_plan *ths)
finalization of fastsum plan
R MEASURE_TIME_t[8]
Measured time for each step if MEASURE_TIME is set.
void fastsum_init_guru(fastsum_plan *ths, int d, int N_total, int M_total, kernel k, R *param, unsigned flags, int nn, int m, int p, R eps_I, R eps_B)
initialization of fastsum plan
void fastsum_precompute_target_nodes(fastsum_plan *ths)
precomputation for fastsum
void fastsum_finalize_source_nodes(fastsum_plan *ths)
finalization of fastsum plan
R * y
target knots in d-ball with radius 1/4-eps_b/2
C kubintkern(const R x, const C *Add, const int Ad, const R a)
cubic spline interpolation in near field with even kernels
int n
FS__ - fast summation.
void fastsum_init_guru_kernel(fastsum_plan *ths, int d, kernel k, R *param, unsigned flags, int nn, int p, R eps_I, R eps_B)
initialize node independent part of fast summation plan
void fastsum_init_guru_target_nodes(fastsum_plan *ths, int M_total, int nn_oversampled, int m)
initialize target nodes dependent part of fast summation plan
Header file for the nfft3 library.
int p
degree of smoothness of regularization
void fastsum_finalize(fastsum_plan *ths)
finalization of fastsum plan
void fastsum_exact(fastsum_plan *ths)
direct computation of sums
R * x
source knots in d-ball with radius 1/4-eps_b/2