NFFT 3.6.0
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 MANT_DIG   DBL_MANT_DIG
 
#define MIN_EXP   DBL_MIN_EXP
 
#define MAX_EXP   DBL_MAX_EXP
 
#define EPSILON   DBL_EPSILON
 
#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 FLTROUND   0.0
 
#define R_RADIX   FLT_RADIX
 
#define II   _Complex_I
 
#define __FGS__   "lg"
 
#define __FES__   "lE"
 
#define __FI__   "%lf"
 
#define __FIS__   "lf"
 
#define __FR__   "%le"
 
#define __FE__   "% 20.16LE"
 
#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)alloca(x)
 
#define STACK_FREE(x)   /* Nothing. Cleanup done automatically. */
 
#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)
 
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 $x^H x$.
 
R nfft_dot_w_complex (C *x, R *w, INT n)
 Computes the weighted inner/dot product $x^H (w \odot x)$.
 
R nfft_dot_w_double (R *x, R *w, INT n)
 Computes the weighted inner/dot product $x^H (w \odot x)$.
 
R 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)$.
 
R 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)
 
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.
 

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.

◆ MANT_DIG

#define MANT_DIG   DBL_MANT_DIG

Definition at line 133 of file infft.h.

◆ MIN_EXP

#define MIN_EXP   DBL_MIN_EXP

Definition at line 134 of file infft.h.

◆ MAX_EXP

#define MAX_EXP   DBL_MAX_EXP

Definition at line 135 of file infft.h.

◆ EPSILON

#define EPSILON   DBL_EPSILON

Definition at line 136 of file infft.h.

◆ KPI

#define KPI   K(3.1415926535897932384626433832795028841971693993751)

Definition at line 139 of file infft.h.

◆ K2PI

#define K2PI   K(6.2831853071795864769252867665590057683943387987502)

Definition at line 140 of file infft.h.

◆ K4PI

#define K4PI   K(12.5663706143591729538505735331180115367886775975004)

Definition at line 141 of file infft.h.

◆ KE

#define KE   K(2.7182818284590452353602874713526624977572470937000)

Definition at line 142 of file infft.h.

◆ IF

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

Definition at line 144 of file infft.h.

◆ MIN

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

Definition at line 145 of file infft.h.

◆ MAX

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

Definition at line 146 of file infft.h.

◆ ABS

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

Definition at line 147 of file infft.h.

◆ SIGN [1/2]

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

Definition at line 148 of file infft.h.

◆ SIGN [2/2]

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

Definition at line 148 of file infft.h.

◆ SIGNF

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

Definition at line 150 of file infft.h.

◆ SIZE

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

Definition at line 153 of file infft.h.

◆ CSWAP

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

Swap two vectors.

Definition at line 156 of file infft.h.

◆ RSWAP

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

Swap two vectors.

Definition at line 160 of file infft.h.

◆ PHI_HUT

#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)))))

Definition at line 258 of file infft.h.

◆ PHI

#define PHI (   n,
  x,
  d 
)
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 259 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 266 of file infft.h.

◆ WINDOW_HELP_FINALIZE

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

Definition at line 273 of file infft.h.

◆ WINDOW_HELP_ESTIMATE_m

#define WINDOW_HELP_ESTIMATE_m   8

Definition at line 289 of file infft.h.

◆ COPYSIGN

#define COPYSIGN   copysign

Definition at line 1223 of file infft.h.

◆ NEXTAFTER

#define NEXTAFTER   nextafter

Definition at line 1224 of file infft.h.

◆ MKNAN

#define MKNAN   nan

Definition at line 1225 of file infft.h.

◆ CEIL

#define CEIL   ceil

Definition at line 1226 of file infft.h.

◆ FLOOR

#define FLOOR   floor

Definition at line 1227 of file infft.h.

◆ NEARBYINT

#define NEARBYINT   nearbyint

Definition at line 1228 of file infft.h.

◆ RINT

#define RINT   rint

Definition at line 1229 of file infft.h.

◆ ROUND

#define ROUND   round

Definition at line 1230 of file infft.h.

◆ LRINT

#define LRINT   lrint

Definition at line 1231 of file infft.h.

◆ LROUND

#define LROUND   lround

Definition at line 1232 of file infft.h.

◆ LLRINT

#define LLRINT   llrint

Definition at line 1233 of file infft.h.

◆ LLROUND

#define LLROUND   llround

Definition at line 1234 of file infft.h.

◆ TRUNC

#define TRUNC   trunc

Definition at line 1235 of file infft.h.

◆ FMOD

#define FMOD   fmod

Definition at line 1236 of file infft.h.

◆ REMAINDER

#define REMAINDER   remainder

Definition at line 1237 of file infft.h.

◆ REMQUO

#define REMQUO   remquo

Definition at line 1238 of file infft.h.

◆ FDIM

#define FDIM   fdim

Definition at line 1239 of file infft.h.

◆ FMAX

#define FMAX   fmax

Definition at line 1240 of file infft.h.

◆ FMIN

#define FMIN   fmin

Definition at line 1241 of file infft.h.

◆ FFMA

#define FFMA   fma

Definition at line 1242 of file infft.h.

◆ FABS

#define FABS   fabs

Definition at line 1243 of file infft.h.

◆ SQRT

#define SQRT   sqrt

Definition at line 1244 of file infft.h.

◆ CBRT

#define CBRT   cbrt

Definition at line 1245 of file infft.h.

◆ HYPOT

#define HYPOT   hypot

Definition at line 1246 of file infft.h.

◆ EXP

#define EXP   exp

Definition at line 1247 of file infft.h.

◆ EXP2

#define EXP2   exp2

Definition at line 1248 of file infft.h.

◆ EXPM1

#define EXPM1   expm1

Definition at line 1249 of file infft.h.

◆ LOG

#define LOG   log

Definition at line 1250 of file infft.h.

◆ LOG2

#define LOG2   log2

Definition at line 1251 of file infft.h.

◆ LOG10

#define LOG10   log10

Definition at line 1252 of file infft.h.

◆ LOG1P

#define LOG1P   log1p

Definition at line 1253 of file infft.h.

◆ LOGB

#define LOGB   logb

Definition at line 1254 of file infft.h.

◆ ILOGB

#define ILOGB   ilogb

Definition at line 1255 of file infft.h.

◆ MODF

#define MODF   modf

Definition at line 1256 of file infft.h.

◆ FREXP

#define FREXP   frexp

Definition at line 1257 of file infft.h.

◆ LDEXP

#define LDEXP   ldexp

Definition at line 1258 of file infft.h.

◆ SCALBN

#define SCALBN   scalbn

Definition at line 1259 of file infft.h.

◆ SCALBLN

#define SCALBLN   scalbln

Definition at line 1260 of file infft.h.

◆ POW

#define POW   pow

Definition at line 1261 of file infft.h.

◆ COS

#define COS   cos

Definition at line 1262 of file infft.h.

◆ SIN

#define SIN   sin

Definition at line 1263 of file infft.h.

◆ TAN

#define TAN   tan

Definition at line 1264 of file infft.h.

◆ COSH

#define COSH   cosh

Definition at line 1265 of file infft.h.

◆ SINH

#define SINH   sinh

Definition at line 1266 of file infft.h.

◆ TANH

#define TANH   tanh

Definition at line 1267 of file infft.h.

◆ ACOS

#define ACOS   acos

Definition at line 1268 of file infft.h.

◆ ASIN

#define ASIN   asin

Definition at line 1269 of file infft.h.

◆ ATAN

#define ATAN   atan

Definition at line 1270 of file infft.h.

◆ ATAN2

#define ATAN2   atan2

Definition at line 1271 of file infft.h.

◆ ACOSH

#define ACOSH   acosh

Definition at line 1272 of file infft.h.

◆ ASINH

#define ASINH   asinh

Definition at line 1273 of file infft.h.

◆ ATANH

#define ATANH   atanh

Definition at line 1274 of file infft.h.

◆ TGAMMA

#define TGAMMA   tgamma

Definition at line 1275 of file infft.h.

◆ LGAMMA

#define LGAMMA   lgamma

Definition at line 1276 of file infft.h.

◆ J0

#define J0   j0

Definition at line 1277 of file infft.h.

◆ J1

#define J1   j1

Definition at line 1278 of file infft.h.

◆ JN

#define JN   jn

Definition at line 1279 of file infft.h.

◆ Y0

#define Y0   y0

Definition at line 1280 of file infft.h.

◆ Y1

#define Y1   y1

Definition at line 1281 of file infft.h.

◆ YN

#define YN   yn

Definition at line 1282 of file infft.h.

◆ ERF

#define ERF   erf

Definition at line 1283 of file infft.h.

◆ ERFC

#define ERFC   erfc

Definition at line 1284 of file infft.h.

◆ CREAL

#define CREAL   creal

Definition at line 1285 of file infft.h.

◆ CIMAG

#define CIMAG   cimag

Definition at line 1286 of file infft.h.

◆ CABS

#define CABS   cabs

Definition at line 1287 of file infft.h.

◆ CARG

#define CARG   carg

Definition at line 1288 of file infft.h.

◆ CONJ

#define CONJ   conj

Definition at line 1289 of file infft.h.

◆ CPROJ

#define CPROJ   cproj

Definition at line 1290 of file infft.h.

◆ CSQRT

#define CSQRT   csqrt

Definition at line 1291 of file infft.h.

◆ CEXP

#define CEXP   cexp

Definition at line 1292 of file infft.h.

◆ CLOG

#define CLOG   clog

Definition at line 1293 of file infft.h.

◆ CPOW

#define CPOW   cpow

Definition at line 1294 of file infft.h.

◆ CSIN

#define CSIN   csin

Definition at line 1295 of file infft.h.

◆ CCOS

#define CCOS   ccos

Definition at line 1296 of file infft.h.

◆ CTAN

#define CTAN   ctan

Definition at line 1297 of file infft.h.

◆ CASIN

#define CASIN   casin

Definition at line 1298 of file infft.h.

◆ CACOS

#define CACOS   cacos

Definition at line 1299 of file infft.h.

◆ CATAN

#define CATAN   catan

Definition at line 1300 of file infft.h.

◆ CSINH

#define CSINH   csinh

Definition at line 1301 of file infft.h.

◆ CCOSH

#define CCOSH   ccosh

Definition at line 1302 of file infft.h.

◆ CTANH

#define CTANH   ctanh

Definition at line 1303 of file infft.h.

◆ CASINH

#define CASINH   casinh

Definition at line 1304 of file infft.h.

◆ CACOSH

#define CACOSH   cacosh

Definition at line 1305 of file infft.h.

◆ CATANH

#define CATANH   catanh

Definition at line 1306 of file infft.h.

◆ FLTROUND

#define FLTROUND   0.0

Definition at line 1316 of file infft.h.

◆ R_RADIX

#define R_RADIX   FLT_RADIX

Definition at line 1325 of file infft.h.

◆ II

#define II   _Complex_I

Definition at line 1326 of file infft.h.

◆ __FGS__

#define __FGS__   "lg"

Definition at line 1342 of file infft.h.

◆ __FES__

#define __FES__   "lE"

Definition at line 1343 of file infft.h.

◆ __FI__

#define __FI__   "%lf"

Definition at line 1344 of file infft.h.

◆ __FIS__

#define __FIS__   "lf"

Definition at line 1345 of file infft.h.

◆ __FR__

#define __FR__   "%le"

Definition at line 1346 of file infft.h.

◆ __FE__

#define __FE__   "% 20.16LE"

Definition at line 1363 of file infft.h.

◆ TRUE

#define TRUE   1

Definition at line 1366 of file infft.h.

◆ FALSE

#define FALSE   0

Definition at line 1367 of file infft.h.

◆ __D__

#define __D__   "%td"

Definition at line 1372 of file infft.h.

◆ UNUSED [1/2]

#define UNUSED (   x)    (void)x

Dummy use of unused parameters to silence compiler warnings.

Definition at line 1376 of file infft.h.

◆ UNUSED [2/2]

#define UNUSED (   x)    (void)x

Dummy use of unused parameters to silence compiler warnings.

Definition at line 1376 of file infft.h.

◆ STACK_MALLOC

#define STACK_MALLOC (   T,
  p,
  x 
)    p = (T)alloca(x)

Definition at line 1412 of file infft.h.

◆ STACK_FREE

#define STACK_FREE (   x)    /* Nothing. Cleanup done automatically. */

Definition at line 1413 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 1457 of file infft.h.

◆ TOC

#define TOC (   a)

Definition at line 1458 of file infft.h.

◆ TIC_FFTW

#define TIC_FFTW (   a)

Definition at line 1465 of file infft.h.

◆ TOC_FFTW

#define TOC_FFTW (   a)

Definition at line 1466 of file infft.h.

◆ CK

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

Definition at line 1580 of file infft.h.

◆ A

#define A (   ex)    /* nothing */

Definition at line 1588 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 1489 of file infft.h.