53 #define X(name) NFFT(name)
55 #if !(defined(NF_LIN) || defined(NF_QUADR) || defined(NF_KUB))
64 typedef C (*kernel)(R , int ,
const R *);
69 #define EXACT_NEARFIELD (1U<< 0)
71 #define NEARFIELD_BOXES (1U<< 1)
118 int box_count_per_dim;
142 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);
169 C
regkern(kernel k, R xx,
int p, const R *param, R a, R b);
173 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
R * kernel_param
parameters for kernel function
plan for fast summation algorithm
C * b
expansion coefficients
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.
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
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.
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