52 #if !(defined(NF_LIN) || defined(NF_QUADR) || defined(NF_KUB))
61 typedef double _Complex (*kernel)(double , int ,
const double *);
66 #define EXACT_NEARFIELD (1U<< 0)
68 #define NEARFIELD_BOXES (1U<< 1)
115 int box_count_per_dim;
118 double _Complex *box_alpha;
139 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);
166 double _Complex
regkern(kernel k,
double xx,
int p,
const double *param,
double a,
double b);
169 double _Complex
kubintkern(
const double x,
const double _Complex *Add,
170 const int Ad,
const double a);
int M_total
number of target knots
double * y
target knots in d-ball with radius 1/4-eps_b/2
double eps_B
outer boundary
struct fastsum_plan_ fastsum_plan
plan for fast summation algorithm
double * kernel_param
parameters for kernel function
nfft_plan mv2
target nfft plan
double _Complex * Add
spline values
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
nfft_plan mv1
source nfft plan
plan for fast summation algorithm
double eps_I
inner boundary
Header file for utility functions used by the nfft3 library.
double * x
source knots in d-ball with radius 1/4-eps_b/2
double _Complex * f
target evaluations
unsigned flags
flags precomp.
double _Complex * alpha
source coefficients
void fastsum_trafo(fastsum_plan *ths)
fast NFFT-based summation
void fastsum_precompute(fastsum_plan *ths)
precomputation for fastsum
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
int N_total
number of source knots
fftw_complex * b
expansion coefficients
double MEASURE_TIME_t[8]
Measured time for each step if MEASURE_TIME is set.
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
double _Complex * pre_K
internal
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