52 #define NFFT_SWAP_complex(x,y) {fftw_complex* NFFT_SWAP_temp__; \
53 NFFT_SWAP_temp__=(x); (x)=(y); (y)=NFFT_SWAP_temp__;}
57 #define NFFT_SWAP_double(x,y) {double* NFFT_SWAP_temp__; NFFT_SWAP_temp__=(x); \
58 (x)=(y); (y)=NFFT_SWAP_temp__;}
62 #define PI 3.141592653589793238462643383279502884197169399375105820974944592
63 #define PI2 6.283185307179586476925286766559005768394338798750211641949889185
64 #define PI4 12.56637061435917295385057353311801153678867759750042328389977837
68 #define NFFT_MAX(a,b) ((a)>(b)? (a) : (b))
72 #define NFFT_MIN(a,b) ((a)<(b)? (a) : (b))
252 int nfft_smbi(
const double x,
const double alpha,
const int nb,
const int ize,
255 double nfft_drand48(
void);
257 void nfft_srand48(
long int seed);
267 int nfft_get_num_threads(
void);
270 int nfft_get_omp_num_threads(
void);
int nfft_smbi(const double x, const double alpha, const int nb, const int ize, double *b)
Calculates the modified bessel function , possibly scaled by , for real non-negative with ...
void nfft_vrand_unit_complex(fftw_complex *x, int n)
Inits a vector of random complex numbers in .
void nfft_fftshift_complex(fftw_complex *x, int d, int *N)
Swaps each half over N[d]/2.
double nfft_bspline_old(int k, double x, double *A)
To test the new one.
void nfft_vpr_double(double *x, int n, const char *text)
Prints a vector of doubles numbers.
void nfft_cp_complex(fftw_complex *x, fftw_complex *y, int n)
Copies .
void nfft_voronoi_weights_1d(double *w, double *x, int M)
Computes non periodic voronoi weights, assumes ordered nodes .
void nfft_upd_axpwy_double(double *x, double a, double *w, double *y, int n)
Updates .
double nfft_bspline(int k, double x, double *scratch)
Computes the B-spline , scratch is used for de Boor's scheme.
double nfft_modified_fejer(int N, int kk)
Computes the damping factor for the modified Fejer kernel, ie .
void nfft_vpr_int(int *x, int n, char *text)
Prints a vector of integer numbers.
int nfft_plain_loop(int *idx, int *N, int d)
Computes .
double nfft_modified_sobolev(double mu, int kk)
Computes the damping factor for the modified Sobolev kernel.
void nfft_upd_xpay_complex(fftw_complex *x, double a, fftw_complex *y, int n)
Updates .
void nfft_cp_double(double *x, double *y, int n)
Copies .
void nfft_vpr_complex(fftw_complex *x, int n, const char *text)
Prints a vector of complex numbers.
int nfft_prod_int(int *vec, int d)
Computes integer .
void nfft_upd_axpwy_complex(fftw_complex *x, double a, double *w, fftw_complex *y, int n)
Updates .
void nfft_cp_a_complex(fftw_complex *x, double a, fftw_complex *y, int n)
Copies .
void nfft_upd_axpby_double(double *x, double a, double *y, double b, int n)
Updates .
int nfst_prod_minus_a_int(int *vec, int a, int d)
Computes integer .
void nfft_vrand_shifted_unit_double(double *x, int n)
Inits a vector of random double numbers in .
void nfft_cp_a_double(double *x, double a, double *y, int n)
Copies .
double nfft_modified_multiquadric(double mu, double c, int kk)
Computes the damping factor for the modified multiquadric kernel.
void nfft_upd_axpy_complex(fftw_complex *x, double a, fftw_complex *y, int n)
Updates .
double nfft_modified_jackson2(int N, int kk)
Computes the damping factor for the modified Jackson kernel.
void nfft_voronoi_weights_S2(double *w, double *xi, int M)
Computes voronoi weights for nodes on the sphere S^2.
void nfft_upd_xpawy_complex(fftw_complex *x, double a, double *w, fftw_complex *y, int n)
Updates .
double nfft_dot_w_complex(fftw_complex *x, double *w, int n)
Computes the weighted inner/dot product .
double nfft_dot_w_w2_complex(fftw_complex *x, double *w, double *w2, int n)
Computes the weighted inner/dot product .
void nfft_upd_xpawy_double(double *x, double a, double *w, double *y, int n)
Updates .
void nfft_sort_node_indices_radix_msdf(int n, int *keys0, int *keys1, int rhigh)
Radix sort for node indices.
void nfft_upd_axpy_double(double *x, double a, double *y, int n)
Updates .
double nfft_dot_complex(fftw_complex *x, int n)
Computes the inner/dot product .
void nfft_upd_axpby_complex(fftw_complex *x, double a, fftw_complex *y, double b, int n)
Updates .
void nfft_sort_node_indices_radix_lsdf(int n, int *keys0, int *keys1, int rhigh)
Radix sort for node indices.
double nfft_modified_jackson4(int N, int kk)
Computes the damping factor for the modified generalised Jackson kernel.
void nfft_upd_xpay_double(double *x, double a, double *y, int n)
Updates .
double nfft_prod_real(double *vec, int d)
Computes double .
double nfft_dot_double(double *x, int n)
Computes the inner/dot product .
void nfft_cp_w_double(double *x, double *w, double *y, int n)
Copies .
double nfft_dot_w2_complex(fftw_complex *x, double *w2, int n)
Computes the weighted inner/dot product .
double nfft_dot_w_double(double *x, double *w, int n)
Computes the weighted inner/dot product .
void nfft_cp_w_complex(fftw_complex *x, double *w, fftw_complex *y, int n)
Copies .