NFFT 3.5.3alpha
Macros | Typedefs | Enumerations | Functions
Util - Auxiliary functions

This module implements frequently used utility functions. More...

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.
 
#define RSWAP(x, y)
 Swap two vectors.
 
#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 UNUSED(x)   (void)x
 Dummy use of unused parameters to silence compiler warnings.
 
#define STACK_MALLOC(T, p, x)   p = (T)Y(malloc)(x)
 
#define STACK_FREE(x)   Y(free)(x)
 
#define TIC(a)
 Timing, method works since the inaccurate timer is updated mostly in the measured function.
 
#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
 

Enumerations

enum  float_property {
  NFFT_EPSILON = 0 , NFFT_SAFE__MIN = 1 , NFFT_BASE = 2 , NFFT_PRECISION = 3 ,
  NFFT_MANT_DIG = 4 , NFFT_FLTROUND = 5 , NFFT_E_MIN = 6 , NFFT_R_MIN = 7 ,
  NFFT_E_MAX = 8 , NFFT_R_MAX = 9
}
 

Functions

INT nfft_m2K (const INT m)
 
double copysign (double, double)
 
double nextafter (double, double)
 
double nan (const char *tag)
 
double ceil (double)
 
double floor (double)
 
double nearbyint (double)
 
double rint (double)
 
double round (double)
 
long int lrint (double)
 
long int lround (double)
 
long long int llrint (double)
 
long long int llround (double)
 
double trunc (double)
 
double fmod (double, double)
 
double remainder (double, double)
 
double remquo (double x, double y, int *)
 
double fdim (double, double)
 
double fmax (double, double)
 
double fmin (double, double)
 
double fma (double x, double y, double z)
 
double fabs (double)
 
double sqrt (double)
 
double cbrt (double)
 
double hypot (double, double)
 
double exp (double)
 
double exp2 (double)
 
double expm1 (double)
 
double log (double)
 
double log2 (double)
 
double log10 (double)
 
double log1p (double)
 
double logb (double)
 
int ilogb (double)
 
double modf (double, double *)
 
double frexp (double, int *)
 
double ldexp (double, int)
 
double scalbn (double, int)
 
double scalbln (double, long int)
 
double pow (double, double)
 
double cos (double)
 
double sin (double)
 
double tan (double)
 
double cosh (double)
 
double sinh (double)
 
double tanh (double)
 
double acos (double)
 
double asin (double)
 
double atan (double)
 
double atan2 (double, double)
 
double acosh (double)
 
double asinh (double)
 
double atanh (double)
 
double tgamma (double)
 
double lgamma (double)
 
double j0 (double)
 
double j1 (double)
 
double jn (int, double)
 
double y0 (double)
 
double y1 (double)
 
double yn (int, double)
 
double erf (double)
 
double erfc (double)
 
double creal (double _Complex z)
 
double cimag (double _Complex z)
 
double cabs (double _Complex z)
 
double carg (double _Complex z)
 
double _Complex conj (double _Complex z)
 
double _Complex cproj (double _Complex z)
 
double _Complex csqrt (double _Complex z)
 
double _Complex cexp (double _Complex z)
 
double _Complex clog (double _Complex z)
 
double _Complex cpow (double _Complex z, double _Complex w)
 
double _Complex csin (double _Complex z)
 
double _Complex ccos (double _Complex z)
 
double _Complex ctan (double _Complex z)
 
double _Complex casin (double _Complex z)
 
double _Complex cacos (double _Complex z)
 
double _Complex catan (double _Complex z)
 
double _Complex csinh (double _Complex z)
 
double _Complex ccosh (double _Complex z)
 
double _Complex ctanh (double _Complex z)
 
double _Complex casinh (double _Complex z)
 
double _Complex cacosh (double _Complex z)
 
double _Complex catanh (double _Complex z)
 
double drand48 (void)
 
void srand48 (long int)
 
nfft_elapsed_seconds (ticks t1, ticks t0)
 Return number of elapsed seconds between two time points.
 
nfft_sinc (R x)
 
nfft_lambda (R z, R eps)
 
nfft_lambda2 (R mu, R nu)
 
nfft_bessel_i0 (R x)
 
nfft_bsplines (const INT, const R x)
 
nfft_float_property (float_property)
 
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)
 
nfft_error_l_infty_double (const R *x, const R *y, const INT n)
 
nfft_error_l_infty_1_double (const R *x, const R *y, const INT n, const R *z, const INT m)
 
nfft_error_l_2_complex (const C *x, const C *y, const INT n)
 
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)
 
nfft_dot_double (R *x, INT n)
 Computes the inner/dot product $x^H x$.
 
nfft_dot_w_complex (C *x, R *w, INT n)
 Computes the weighted inner/dot product $x^H (w \odot x)$.
 
nfft_dot_w_double (R *x, R *w, INT n)
 Computes the weighted inner/dot product $x^H (w \odot x)$.
 
nfft_dot_w_w2_complex (C *x, R *w, R *w2, INT n)
 Computes the weighted inner/dot product $x^H (w\odot w2\odot w2 \odot x)$.
 
nfft_dot_w2_complex (C *x, R *w2, INT n)
 Computes the weighted inner/dot product $x^H (w2\odot w2 \odot x)$.
 
void nfft_cp_complex (C *x, C *y, INT n)
 Copies $x \leftarrow y$.
 
void nfft_cp_double (R *x, R *y, INT n)
 Copies $x \leftarrow y$.
 
void nfft_cp_a_complex (C *x, R a, C *y, INT n)
 Copies $x \leftarrow a y$.
 
void nfft_cp_a_double (R *x, R a, R *y, INT n)
 Copies $x \leftarrow a y$.
 
void nfft_cp_w_complex (C *x, R *w, C *y, INT n)
 Copies $x \leftarrow w\odot y$.
 
void nfft_cp_w_double (R *x, R *w, R *y, INT n)
 Copies $x \leftarrow w\odot y$.
 
void nfft_upd_axpy_double (R *x, R a, R *y, INT n)
 Updates $x \leftarrow a x + y$.
 
void nfft_upd_xpay_complex (C *x, R a, C *y, INT n)
 Updates $x \leftarrow x + a y$.
 
void nfft_upd_xpay_double (R *x, R a, R *y, INT n)
 Updates $x \leftarrow x + a y$.
 
void nfft_upd_axpby_complex (C *x, R a, C *y, R b, INT n)
 Updates $x \leftarrow a x + b y$.
 
void nfft_upd_axpby_double (R *x, R a, R *y, R b, INT n)
 Updates $x \leftarrow a x + b y$.
 
void nfft_upd_xpawy_complex (C *x, R a, R *w, C *y, INT n)
 Updates $x \leftarrow x + a w\odot y$.
 
void nfft_upd_xpawy_double (R *x, R a, R *w, R *y, INT n)
 Updates $x \leftarrow x + a w\odot y$.
 
void nfft_upd_axpwy_complex (C *x, R a, R *w, C *y, INT n)
 Updates $x \leftarrow a x +  w\odot y$.
 
void nfft_upd_axpwy_double (R *x, R a, R *w, R *y, INT n)
 Updates $x \leftarrow a x +  w\odot y$.
 
void nfft_voronoi_weights_1d (R *w, R *x, const INT M)
 
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$.
 
nfft_modified_jackson2 (const INT N, const INT kk)
 Compute damping factor for modified Jackson kernel.
 
nfft_modified_jackson4 (const INT N, const INT kk)
 Compute damping factor for modified generalised Jackson kernel.
 
nfft_modified_sobolev (const R mu, const INT kk)
 Compute damping factor for modified Sobolev kernel.
 
nfft_modified_multiquadric (const R mu, const R c, const INT kk)
 Comput damping factor for modified multiquadric kernel.
 

Detailed Description

This module implements frequently used utility functions.

In particular, this includes simple measurement of resources, evaluation of window functions, vector routines for basic linear algebra tasks, and computation of weights for the inverse transforms.

Macro Definition Documentation

◆ CONCAT

#define CONCAT (   prefix,
  name 
)    prefix ## name

Definition at line 67 of file infft.h.

◆ Y

#define Y (   name)    CONCAT(nfft_,name)

Definition at line 91 of file infft.h.

◆ FFTW

#define FFTW (   name)    CONCAT(fftw_,name)

Definition at line 92 of file infft.h.

◆ NFFT

#define NFFT (   name)    CONCAT(nfft_,name)

Definition at line 93 of file infft.h.

◆ NFCT

#define NFCT (   name)    CONCAT(nfct_,name)

Definition at line 94 of file infft.h.

◆ NFST

#define NFST (   name)    CONCAT(nfst_,name)

Definition at line 95 of file infft.h.

◆ NFSFT

#define NFSFT (   name)    CONCAT(nfsft_,name)

Definition at line 96 of file infft.h.

◆ SOLVER

#define SOLVER (   name)    CONCAT(solver_,name)

Definition at line 97 of file infft.h.

◆ X

#define X (   name)    Y(name)

Definition at line 99 of file infft.h.

◆ STRINGIZEx

#define STRINGIZEx (   x)    #x

Definition at line 101 of file infft.h.

◆ STRINGIZE

#define STRINGIZE (   x)    STRINGIZEx(x)

Definition at line 102 of file infft.h.

◆ K

#define K (   x)    ((R) x)

Definition at line 107 of file infft.h.

◆ DK

#define DK (   name,
  value 
)    const R name = K(value)

Definition at line 109 of file infft.h.

◆ KPI

#define KPI   K(3.1415926535897932384626433832795028841971693993751)

Definition at line 122 of file infft.h.

◆ K2PI

#define K2PI   K(6.2831853071795864769252867665590057683943387987502)

Definition at line 123 of file infft.h.

◆ K4PI

#define K4PI   K(12.5663706143591729538505735331180115367886775975004)

Definition at line 124 of file infft.h.

◆ KE

#define KE   K(2.7182818284590452353602874713526624977572470937000)

Definition at line 125 of file infft.h.

◆ IF

#define IF (   x,
  a,
 
)    ((x)?(a):(b))

Definition at line 127 of file infft.h.

◆ MIN

#define MIN (   a,
 
)    (((a)<(b))?(a):(b))

Definition at line 128 of file infft.h.

◆ MAX

#define MAX (   a,
 
)    (((a)>(b))?(a):(b))

Definition at line 129 of file infft.h.

◆ ABS

#define ABS (   x)    (((x)>K(0.0))?(x):(-(x)))

Definition at line 130 of file infft.h.

◆ SIGN [1/2]

#define SIGN (   a)    (((a)>=0)?1:-1)

Definition at line 131 of file infft.h.

◆ SIGN [2/2]

#define SIGN (   a)    (((a)>=0)?1:-1)

Definition at line 131 of file infft.h.

◆ SIGNF

#define SIGNF (   a)    IF((a)<K(0.0),K(-1.0),K(1.0))

Definition at line 133 of file infft.h.

◆ SIZE

#define SIZE (   x)    sizeof(x)/sizeof(x[0])

Definition at line 136 of file infft.h.

◆ CSWAP

#define CSWAP (   x,
 
)
Value:
{C* NFFT_SWAP_temp__; \
NFFT_SWAP_temp__=(x); (x)=(y); (y)=NFFT_SWAP_temp__;}

Swap two vectors.

Definition at line 139 of file infft.h.

◆ RSWAP

#define RSWAP (   x,
 
)
Value:
{R* NFFT_SWAP_temp__; NFFT_SWAP_temp__=(x); \
(x)=(y); (y)=NFFT_SWAP_temp__;}

Swap two vectors.

Definition at line 143 of file infft.h.

◆ PHI_HUT

#define PHI_HUT (   n,
  k,
 
)    (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)))))

Definition at line 208 of file infft.h.

◆ PHI

#define PHI (   n,
  x,
 
)
Value:
( (((R)(ths->m) * (R)(ths->m) - (x) * (R)(n) * (x) * (R)(n)) > K(0.0)) \
? SINH(ths->b[d] * SQRT((R)(ths->m) * (R)(ths->m) - (x) * (R)(n) * (x) * (R)(n))) \
/ (KPI * SQRT((R)(ths->m) * (R)(ths->m) - (x) * (R)(n) * (x) * (R)(n))) \
: ((((R)(ths->m) * (R)(ths->m) - (x) * (R)(n) * (x) * (R)(n)) < K(0.0)) \
? SIN(ths->b[d] * SQRT((x) * (R)(n) * (x) * (R)(n) - (R)(ths->m) * (R)(ths->m))) \
/ (KPI * SQRT((x) * (R)(n) * (x) * (R)(n) - (R)(ths->m) * (R)(ths->m))) \
: ths->b[d] / KPI))

Definition at line 209 of file infft.h.

◆ WINDOW_HELP_INIT

#define WINDOW_HELP_INIT
Value:
{ \
int WINDOW_idx; \
ths->b = (R*) Y(malloc)((size_t)(ths->d) * sizeof(R)); \
for (WINDOW_idx = 0; WINDOW_idx < ths->d; WINDOW_idx++) \
ths->b[WINDOW_idx] = (KPI * (K(2.0) - K(1.0) / ths->sigma[WINDOW_idx])); \
}

Definition at line 216 of file infft.h.

◆ WINDOW_HELP_FINALIZE

#define WINDOW_HELP_FINALIZE   {Y(free)(ths->b);}

Definition at line 223 of file infft.h.

◆ WINDOW_HELP_ESTIMATE_m

#define WINDOW_HELP_ESTIMATE_m   8

Definition at line 229 of file infft.h.

◆ COPYSIGN

#define COPYSIGN   copysign

Definition at line 1163 of file infft.h.

◆ NEXTAFTER

#define NEXTAFTER   nextafter

Definition at line 1164 of file infft.h.

◆ MKNAN

#define MKNAN   nan

Definition at line 1165 of file infft.h.

◆ CEIL

#define CEIL   ceil

Definition at line 1166 of file infft.h.

◆ FLOOR

#define FLOOR   floor

Definition at line 1167 of file infft.h.

◆ NEARBYINT

#define NEARBYINT   nearbyint

Definition at line 1168 of file infft.h.

◆ RINT

#define RINT   rint

Definition at line 1169 of file infft.h.

◆ ROUND

#define ROUND   round

Definition at line 1170 of file infft.h.

◆ LRINT

#define LRINT   lrint

Definition at line 1171 of file infft.h.

◆ LROUND

#define LROUND   lround

Definition at line 1172 of file infft.h.

◆ LLRINT

#define LLRINT   llrint

Definition at line 1173 of file infft.h.

◆ LLROUND

#define LLROUND   llround

Definition at line 1174 of file infft.h.

◆ TRUNC

#define TRUNC   trunc

Definition at line 1175 of file infft.h.

◆ FMOD

#define FMOD   fmod

Definition at line 1176 of file infft.h.

◆ REMAINDER

#define REMAINDER   remainder

Definition at line 1177 of file infft.h.

◆ REMQUO

#define REMQUO   remquo

Definition at line 1178 of file infft.h.

◆ FDIM

#define FDIM   fdim

Definition at line 1179 of file infft.h.

◆ FMAX

#define FMAX   fmax

Definition at line 1180 of file infft.h.

◆ FMIN

#define FMIN   fmin

Definition at line 1181 of file infft.h.

◆ FFMA

#define FFMA   fma

Definition at line 1182 of file infft.h.

◆ FABS

#define FABS   fabs

Definition at line 1183 of file infft.h.

◆ SQRT

#define SQRT   sqrt

Definition at line 1184 of file infft.h.

◆ CBRT

#define CBRT   cbrt

Definition at line 1185 of file infft.h.

◆ HYPOT

#define HYPOT   hypot

Definition at line 1186 of file infft.h.

◆ EXP

#define EXP   exp

Definition at line 1187 of file infft.h.

◆ EXP2

#define EXP2   exp2

Definition at line 1188 of file infft.h.

◆ EXPM1

#define EXPM1   expm1

Definition at line 1189 of file infft.h.

◆ LOG

#define LOG   log

Definition at line 1190 of file infft.h.

◆ LOG2

#define LOG2   log2

Definition at line 1191 of file infft.h.

◆ LOG10

#define LOG10   log10

Definition at line 1192 of file infft.h.

◆ LOG1P

#define LOG1P   log1p

Definition at line 1193 of file infft.h.

◆ LOGB

#define LOGB   logb

Definition at line 1194 of file infft.h.

◆ ILOGB

#define ILOGB   ilogb

Definition at line 1195 of file infft.h.

◆ MODF

#define MODF   modf

Definition at line 1196 of file infft.h.

◆ FREXP

#define FREXP   frexp

Definition at line 1197 of file infft.h.

◆ LDEXP

#define LDEXP   ldexp

Definition at line 1198 of file infft.h.

◆ SCALBN

#define SCALBN   scalbn

Definition at line 1199 of file infft.h.

◆ SCALBLN

#define SCALBLN   scalbln

Definition at line 1200 of file infft.h.

◆ POW

#define POW   pow

Definition at line 1201 of file infft.h.

◆ COS

#define COS   cos

Definition at line 1202 of file infft.h.

◆ SIN

#define SIN   sin

Definition at line 1203 of file infft.h.

◆ TAN

#define TAN   tan

Definition at line 1204 of file infft.h.

◆ COSH

#define COSH   cosh

Definition at line 1205 of file infft.h.

◆ SINH

#define SINH   sinh

Definition at line 1206 of file infft.h.

◆ TANH

#define TANH   tanh

Definition at line 1207 of file infft.h.

◆ ACOS

#define ACOS   acos

Definition at line 1208 of file infft.h.

◆ ASIN

#define ASIN   asin

Definition at line 1209 of file infft.h.

◆ ATAN

#define ATAN   atan

Definition at line 1210 of file infft.h.

◆ ATAN2

#define ATAN2   atan2

Definition at line 1211 of file infft.h.

◆ ACOSH

#define ACOSH   acosh

Definition at line 1212 of file infft.h.

◆ ASINH

#define ASINH   asinh

Definition at line 1213 of file infft.h.

◆ ATANH

#define ATANH   atanh

Definition at line 1214 of file infft.h.

◆ TGAMMA

#define TGAMMA   tgamma

Definition at line 1215 of file infft.h.

◆ LGAMMA

#define LGAMMA   lgamma

Definition at line 1216 of file infft.h.

◆ J0

#define J0   j0

Definition at line 1217 of file infft.h.

◆ J1

#define J1   j1

Definition at line 1218 of file infft.h.

◆ JN

#define JN   jn

Definition at line 1219 of file infft.h.

◆ Y0

#define Y0   y0

Definition at line 1220 of file infft.h.

◆ Y1

#define Y1   y1

Definition at line 1221 of file infft.h.

◆ YN

#define YN   yn

Definition at line 1222 of file infft.h.

◆ ERF

#define ERF   erf

Definition at line 1223 of file infft.h.

◆ ERFC

#define ERFC   erfc

Definition at line 1224 of file infft.h.

◆ CREAL

#define CREAL   creal

Definition at line 1225 of file infft.h.

◆ CIMAG

#define CIMAG   cimag

Definition at line 1226 of file infft.h.

◆ CABS

#define CABS   cabs

Definition at line 1227 of file infft.h.

◆ CARG

#define CARG   carg

Definition at line 1228 of file infft.h.

◆ CONJ

#define CONJ   conj

Definition at line 1229 of file infft.h.

◆ CPROJ

#define CPROJ   cproj

Definition at line 1230 of file infft.h.

◆ CSQRT

#define CSQRT   csqrt

Definition at line 1231 of file infft.h.

◆ CEXP

#define CEXP   cexp

Definition at line 1232 of file infft.h.

◆ CLOG

#define CLOG   clog

Definition at line 1233 of file infft.h.

◆ CPOW

#define CPOW   cpow

Definition at line 1234 of file infft.h.

◆ CSIN

#define CSIN   csin

Definition at line 1235 of file infft.h.

◆ CCOS

#define CCOS   ccos

Definition at line 1236 of file infft.h.

◆ CTAN

#define CTAN   ctan

Definition at line 1237 of file infft.h.

◆ CASIN

#define CASIN   casin

Definition at line 1238 of file infft.h.

◆ CACOS

#define CACOS   cacos

Definition at line 1239 of file infft.h.

◆ CATAN

#define CATAN   catan

Definition at line 1240 of file infft.h.

◆ CSINH

#define CSINH   csinh

Definition at line 1241 of file infft.h.

◆ CCOSH

#define CCOSH   ccosh

Definition at line 1242 of file infft.h.

◆ CTANH

#define CTANH   ctanh

Definition at line 1243 of file infft.h.

◆ CASINH

#define CASINH   casinh

Definition at line 1244 of file infft.h.

◆ CACOSH

#define CACOSH   cacosh

Definition at line 1245 of file infft.h.

◆ CATANH

#define CATANH   catanh

Definition at line 1246 of file infft.h.

◆ MANT_DIG

#define MANT_DIG   DBL_MANT_DIG

Definition at line 1260 of file infft.h.

◆ MIN_EXP

#define MIN_EXP   DBL_MIN_EXP

Definition at line 1261 of file infft.h.

◆ MAX_EXP

#define MAX_EXP   DBL_MAX_EXP

Definition at line 1262 of file infft.h.

◆ EPSILON

#define EPSILON   DBL_EPSILON

Definition at line 1263 of file infft.h.

◆ FLTROUND

#define FLTROUND   0.0

Definition at line 1273 of file infft.h.

◆ R_RADIX

#define R_RADIX   FLT_RADIX

Definition at line 1282 of file infft.h.

◆ II

#define II   _Complex_I

Definition at line 1283 of file infft.h.

◆ __FGS__

#define __FGS__   "lg"

Definition at line 1301 of file infft.h.

◆ __FES__

#define __FES__   "lE"

Definition at line 1302 of file infft.h.

◆ __FE__

#define __FE__   "% 20.16lE"

Definition at line 1303 of file infft.h.

◆ __FI__

#define __FI__   "%lf"

Definition at line 1304 of file infft.h.

◆ __FIS__

#define __FIS__   "lf"

Definition at line 1305 of file infft.h.

◆ __FR__

#define __FR__   "%le"

Definition at line 1306 of file infft.h.

◆ TRUE

#define TRUE   1

Definition at line 1309 of file infft.h.

◆ FALSE

#define FALSE   0

Definition at line 1310 of file infft.h.

◆ __D__

#define __D__   "%td"

Definition at line 1315 of file infft.h.

◆ UNUSED [1/2]

#define UNUSED (   x)    (void)x

Dummy use of unused parameters to silence compiler warnings.

Definition at line 1319 of file infft.h.

◆ UNUSED [2/2]

#define UNUSED (   x)    (void)x

Dummy use of unused parameters to silence compiler warnings.

Definition at line 1319 of file infft.h.

◆ STACK_MALLOC

#define STACK_MALLOC (   T,
  p,
 
)    p = (T)Y(malloc)(x)

Definition at line 1360 of file infft.h.

◆ STACK_FREE

#define STACK_FREE (   x)    Y(free)(x)

Definition at line 1361 of file infft.h.

◆ TIC

#define TIC (   a)

Timing, method works since the inaccurate timer is updated mostly in the measured function.

For small times not every call of the measured function will also produce a 'unit' time step. Measuring the fftw might cause a wrong output vector due to the repeated ffts.

Definition at line 1400 of file infft.h.

◆ TOC

#define TOC (   a)

Definition at line 1401 of file infft.h.

◆ TIC_FFTW

#define TIC_FFTW (   a)

Definition at line 1408 of file infft.h.

◆ TOC_FFTW

#define TOC_FFTW (   a)

Definition at line 1409 of file infft.h.

◆ CK

#define CK (   ex)     (void)((ex) || (Y(assertion_failed)(#ex, __LINE__, __FILE__), 0))

Definition at line 1523 of file infft.h.

◆ A

#define A (   ex)    /* nothing */

Definition at line 1531 of file infft.h.

Typedef Documentation

◆ R

typedef double R

Definition at line 89 of file infft.h.

◆ C

typedef double _Complex C

Definition at line 90 of file infft.h.

◆ INT

typedef ptrdiff_t INT

Definition at line 120 of file infft.h.

Enumeration Type Documentation

◆ float_property

enum float_property

Definition at line 1432 of file infft.h.

Function Documentation

◆ drand48()

double drand48 ( void  )
extern

Definition at line 21 of file rand.c.

◆ srand48()

void srand48 ( long int  seed)
extern

Definition at line 30 of file rand.c.