![]() |
NFFT
3.5.3
|
Internal header file for auxiliary definitions and functions. More...
#include "config.h"#include <math.h>#include <float.h>#include <complex.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <stdarg.h>#include <stddef.h>#include <sys/types.h>#include <stdint.h>#include <inttypes.h>#include <fftw3.h>#include "ticks.h"#include <alloca.h>
Go to the source code of this file.
Macros | |
| #define | CONCAT(prefix, name) prefix ## name |
| #define | Y(name) CONCAT(nfft_,name) |
| #define | FFTW(name) CONCAT(fftw_,name) |
| #define | NFFT(name) CONCAT(nfft_,name) |
| #define | NFCT(name) CONCAT(nfct_,name) |
| #define | NFST(name) CONCAT(nfst_,name) |
| #define | NFSFT(name) CONCAT(nfsft_,name) |
| #define | SOLVER(name) CONCAT(solver_,name) |
| #define | X(name) Y(name) |
| #define | STRINGIZEx(x) #x |
| #define | STRINGIZE(x) STRINGIZEx(x) |
| #define | K(x) ((R) x) |
| #define | DK(name, value) const R name = K(value) |
| #define | KPI K(3.1415926535897932384626433832795028841971693993751) |
| #define | K2PI K(6.2831853071795864769252867665590057683943387987502) |
| #define | K4PI K(12.5663706143591729538505735331180115367886775975004) |
| #define | KE K(2.7182818284590452353602874713526624977572470937000) |
| #define | IF(x, a, b) ((x)?(a):(b)) |
| #define | MIN(a, b) (((a)<(b))?(a):(b)) |
| #define | MAX(a, b) (((a)>(b))?(a):(b)) |
| #define | ABS(x) (((x)>K(0.0))?(x):(-(x))) |
| #define | SIGN(a) (((a)>=0)?1:-1) |
| #define | SIGN(a) (((a)>=0)?1:-1) |
| #define | SIGNF(a) IF((a)<K(0.0),K(-1.0),K(1.0)) |
| #define | SIZE(x) sizeof(x)/sizeof(x[0]) |
| #define | CSWAP(x, y) |
| Swap two vectors. More... | |
| #define | RSWAP(x, y) |
| Swap two vectors. More... | |
| #define | PHI_HUT(n, k, d) (Y(bessel_i0)((R)(ths->m) * SQRT(ths->b[d] * ths->b[d] - (K(2.0) * KPI * (R)(k) / (R)(n)) * (K(2.0) * KPI * (R)(k) / (R)(n))))) |
| #define | PHI(n, x, d) |
| #define | WINDOW_HELP_INIT |
| #define | WINDOW_HELP_FINALIZE {Y(free)(ths->b);} |
| #define | WINDOW_HELP_ESTIMATE_m 8 |
| #define | COPYSIGN copysign |
| #define | NEXTAFTER nextafter |
| #define | MKNAN nan |
| #define | CEIL ceil |
| #define | FLOOR floor |
| #define | NEARBYINT nearbyint |
| #define | RINT rint |
| #define | ROUND round |
| #define | LRINT lrint |
| #define | LROUND lround |
| #define | LLRINT llrint |
| #define | LLROUND llround |
| #define | TRUNC trunc |
| #define | FMOD fmod |
| #define | REMAINDER remainder |
| #define | REMQUO remquo |
| #define | FDIM fdim |
| #define | FMAX fmax |
| #define | FMIN fmin |
| #define | FFMA fma |
| #define | FABS fabs |
| #define | SQRT sqrt |
| #define | CBRT cbrt |
| #define | HYPOT hypot |
| #define | EXP exp |
| #define | EXP2 exp2 |
| #define | EXPM1 expm1 |
| #define | LOG log |
| #define | LOG2 log2 |
| #define | LOG10 log10 |
| #define | LOG1P log1p |
| #define | LOGB logb |
| #define | ILOGB ilogb |
| #define | MODF modf |
| #define | FREXP frexp |
| #define | LDEXP ldexp |
| #define | SCALBN scalbn |
| #define | SCALBLN scalbln |
| #define | POW pow |
| #define | COS cos |
| #define | SIN sin |
| #define | TAN tan |
| #define | COSH cosh |
| #define | SINH sinh |
| #define | TANH tanh |
| #define | ACOS acos |
| #define | ASIN asin |
| #define | ATAN atan |
| #define | ATAN2 atan2 |
| #define | ACOSH acosh |
| #define | ASINH asinh |
| #define | ATANH atanh |
| #define | TGAMMA tgamma |
| #define | LGAMMA lgamma |
| #define | J0 j0 |
| #define | J1 j1 |
| #define | JN jn |
| #define | Y0 y0 |
| #define | Y1 y1 |
| #define | YN yn |
| #define | ERF erf |
| #define | ERFC erfc |
| #define | CREAL creal |
| #define | CIMAG cimag |
| #define | CABS cabs |
| #define | CARG carg |
| #define | CONJ conj |
| #define | CPROJ cproj |
| #define | CSQRT csqrt |
| #define | CEXP cexp |
| #define | CLOG clog |
| #define | CPOW cpow |
| #define | CSIN csin |
| #define | CCOS ccos |
| #define | CTAN ctan |
| #define | CASIN casin |
| #define | CACOS cacos |
| #define | CATAN catan |
| #define | CSINH csinh |
| #define | CCOSH ccosh |
| #define | CTANH ctanh |
| #define | CASINH casinh |
| #define | CACOSH cacosh |
| #define | CATANH catanh |
| #define | MANT_DIG DBL_MANT_DIG |
| #define | MIN_EXP DBL_MIN_EXP |
| #define | MAX_EXP DBL_MAX_EXP |
| #define | EPSILON DBL_EPSILON |
| #define | FLTROUND 0.0 |
| #define | R_RADIX FLT_RADIX |
| #define | II _Complex_I |
| #define | __FGS__ "lg" |
| #define | __FES__ "lE" |
| #define | __FE__ "% 20.16lE" |
| #define | __FI__ "%lf" |
| #define | __FIS__ "lf" |
| #define | __FR__ "%le" |
| #define | TRUE 1 |
| #define | FALSE 0 |
| #define | __D__ "%td" |
| #define | UNUSED(x) (void)x |
| Dummy use of unused parameters to silence compiler warnings. | |
| #define | STACK_MALLOC(T, p, x) p = (T)alloca(x) |
| #define | STACK_FREE(x) /* Nothing. Cleanup done automatically. */ |
| #define | UNUSED(x) (void)x |
| Dummy use of unused parameters to silence compiler warnings. | |
| #define | TIC(a) |
| Timing, method works since the inaccurate timer is updated mostly in the measured function. More... | |
| #define | TOC(a) |
| #define | TIC_FFTW(a) |
| #define | TOC_FFTW(a) |
| #define | CK(ex) (void)((ex) || (Y(assertion_failed)(#ex, __LINE__, __FILE__), 0)) |
| #define | A(ex) /* nothing */ |
Typedefs | |
| typedef double | R |
| typedef double _Complex | C |
| typedef ptrdiff_t | INT |
Functions | |
| INT | nfft_m2K (const INT m) |
| R | nfft_elapsed_seconds (ticks t1, ticks t0) |
| Return number of elapsed seconds between two time points. | |
| R | nfft_sinc (R x) |
| R | nfft_lambda (R z, R eps) |
| R | nfft_lambda2 (R mu, R nu) |
| R | nfft_bessel_i0 (R x) |
| R | nfft_bsplines (const INT, const R x) |
| R | nfft_float_property (float_property) |
| R | nfft_prod_real (R *vec, INT d) |
| INT | nfft_log2i (const INT m) |
| void | nfft_next_power_of_2_exp (const INT N, INT *N2, INT *t) |
| void | nfft_next_power_of_2_exp_int (const int N, int *N2, int *t) |
| R | nfft_error_l_infty_double (const R *x, const R *y, const INT n) |
| R | nfft_error_l_infty_1_double (const R *x, const R *y, const INT n, const R *z, const INT m) |
| R | nfft_error_l_2_complex (const C *x, const C *y, const INT n) |
| R | nfft_error_l_2_double (const R *x, const R *y, const INT n) |
| void | nfft_sort_node_indices_radix_msdf (INT n, INT *keys0, INT *keys1, INT rhigh) |
| void | nfft_sort_node_indices_radix_lsdf (INT n, INT *keys0, INT *keys1, INT rhigh) |
| void | nfft_assertion_failed (const char *s, int line, const char *file) |
| R | nfft_dot_double (R *x, INT n) |
| Computes the inner/dot product | |
| R | nfft_dot_w_complex (C *x, R *w, INT n) |
| Computes the weighted inner/dot product | |
| R | nfft_dot_w_double (R *x, R *w, INT n) |
| Computes the weighted inner/dot product | |
| R | nfft_dot_w_w2_complex (C *x, R *w, R *w2, INT n) |
| Computes the weighted inner/dot product | |
| R | nfft_dot_w2_complex (C *x, R *w2, INT n) |
| Computes the weighted inner/dot product | |
| void | nfft_cp_complex (C *x, C *y, INT n) |
| Copies | |
| void | nfft_cp_double (R *x, R *y, INT n) |
| Copies | |
| void | nfft_cp_a_complex (C *x, R a, C *y, INT n) |
| Copies | |
| void | nfft_cp_a_double (R *x, R a, R *y, INT n) |
| Copies | |
| void | nfft_cp_w_complex (C *x, R *w, C *y, INT n) |
| Copies | |
| void | nfft_cp_w_double (R *x, R *w, R *y, INT n) |
| Copies | |
| void | nfft_upd_axpy_double (R *x, R a, R *y, INT n) |
| Updates | |
| void | nfft_upd_xpay_complex (C *x, R a, C *y, INT n) |
| Updates | |
| void | nfft_upd_xpay_double (R *x, R a, R *y, INT n) |
| Updates | |
| void | nfft_upd_axpby_complex (C *x, R a, C *y, R b, INT n) |
| Updates | |
| void | nfft_upd_axpby_double (R *x, R a, R *y, R b, INT n) |
| Updates | |
| void | nfft_upd_xpawy_complex (C *x, R a, R *w, C *y, INT n) |
| Updates | |
| void | nfft_upd_xpawy_double (R *x, R a, R *w, R *y, INT n) |
| Updates | |
| void | nfft_upd_axpwy_complex (C *x, R a, R *w, C *y, INT n) |
| Updates | |
| void | nfft_upd_axpwy_double (R *x, R a, R *w, R *y, INT n) |
| Updates | |
| void | nfft_voronoi_weights_1d (R *w, R *x, const INT M) |
| R | nfft_modified_fejer (const INT N, const INT kk) |
| Compute damping factor for modified Fejer kernel: /f$\frac{2}{N}\left(1-\frac{\left|2k+1\right|}{N}\right)/f$. | |
| R | nfft_modified_jackson2 (const INT N, const INT kk) |
| Compute damping factor for modified Jackson kernel. | |
| R | nfft_modified_jackson4 (const INT N, const INT kk) |
| Compute damping factor for modified generalised Jackson kernel. | |
| R | nfft_modified_sobolev (const R mu, const INT kk) |
| Compute damping factor for modified Sobolev kernel. | |
| R | nfft_modified_multiquadric (const R mu, const R c, const INT kk) |
| Comput damping factor for modified multiquadric kernel. | |
Internal header file for auxiliary definitions and functions.
Definition in file infft.h.