Util - Auxiliary functions

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

## Macros

#define | CONCAT(prefix, name)
#define | Y(name)
#define | FFTW(name)
#define | NFFT(name)
#define | NFCT(name)
#define | NFST(name)
#define | NFSFT(name)
#define | SOLVER(name)
#define | X(name)
#define | STRINGIZEx(x)
#define | STRINGIZE(x)
#define | K(x)
#define | DK(name, 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)
#define | MIN(a, b)
#define | MAX(a, b)
#define | ABS(x)
#define | SIGN(a)
#define | SIGN(a)
#define | SIGNF(a)
#define | SIZE(x)
#define | CSWAP(x, y)
| Swap two vectors.
#define | RSWAP(x, y)
| Swap two vectors.
#define | PHI_HUT(n, k, d)
#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)
| Dummy use of unused parameters to silence compiler warnings.
#define | UNUSED(x)
| Dummy use of unused parameters to silence compiler warnings.
#define | STACK_MALLOC(T, p, x)
#define | STACK_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)
#define | A(ex)

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

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

Value:
prefix ## name

Definition at line 67 of file infft.h.

## Y

#define Y | ( |  | name | ) |

Value:
CONCAT(nfft_,name)

Definition at line 91 of file infft.h.

## FFTW

#define FFTW | ( |  | name | ) |

Value:
CONCAT(fftw_,name)

Definition at line 92 of file infft.h.

## NFFT

#define NFFT | ( |  | name | ) |

Value:
CONCAT(nfft_,name)

Definition at line 93 of file infft.h.

## NFCT

#define NFCT | ( |  | name | ) |

Value:
CONCAT(nfct_,name)

Definition at line 94 of file infft.h.

## NFST

#define NFST | ( |  | name | ) |

Value:
CONCAT(nfst_,name)

Definition at line 95 of file infft.h.

## NFSFT

#define NFSFT | ( |  | name | ) |

Value:
CONCAT(nfsft_,name)

Definition at line 96 of file infft.h.

## SOLVER

#define SOLVER | ( |  | name | ) |

Value:
CONCAT(solver_,name)

Definition at line 97 of file infft.h.

## X

#define X | ( |  | name | ) |

Value:
Y(name)

Definition at line 99 of file infft.h.

## STRINGIZEx

#define STRINGIZEx | ( |  | x | ) |

Value:
#x

Definition at line 101 of file infft.h.

## STRINGIZE

#define STRINGIZE | ( |  | x | ) |

Value:
STRINGIZEx(x)

Definition at line 102 of file infft.h.

## K

#define K | ( |  | x | ) |

Value:
((R) x)

Definition at line 107 of file infft.h.

## DK

#define DK | ( |  | name,
|  |  | value )

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,
|  |  | b )

Value:
((x)?(a):(b))

Definition at line 127 of file infft.h.

## MIN

#define MIN | ( |  | a,
|  |  | b )

Value:
(((a)<(b))?(a):(b))

Definition at line 128 of file infft.h.

## MAX

#define MAX | ( |  | a,
|  |  | b )

Value:
(((a)>(b))?(a):(b))

Definition at line 129 of file infft.h.

## ABS

#define ABS | ( |  | x | ) |

Value:
(((x)>K(0.0))?(x):(-(x)))

Definition at line 130 of file infft.h.

## SIGN [1/2]

#define SIGN | ( |  | a | ) |

Value:
(((a)>=0)?1:-1)

Definition at line 131 of file infft.h.

## SIGN [2/2]

#define SIGN | ( |  | a | ) |

Value:
(((a)>=0)?1:-1)

Definition at line 131 of file infft.h.

## SIGNF

#define SIGNF | ( |  | a | ) |

Value:
IF((a)<K(0.0),K(-1.0),K(1.0))

Definition at line 133 of file infft.h.

## SIZE

#define SIZE | ( |  | x | ) |

Value:
sizeof(x)/sizeof(x[0])

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

Referenced by main(), solver_loop_one_step_cgnr_complex(), solver_loop_one_step_landweber_complex(), solver_loop_one_step_steepest_descent_complex(), and taylor_time_accuracy().

## 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 143 of file infft.h.

Referenced by solver_loop_one_step_cgnr_double(), solver_loop_one_step_landweber_double(), and solver_loop_one_step_steepest_descent_double().

## PHI_HUT

#define PHI_HUT | ( |  | n,
|  |  | k,
|  |  | d )

Value:
(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,
|  |  | 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 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 | ) |

Value:
(void)x

Dummy use of unused parameters to silence compiler warnings.

Definition at line 1319 of file infft.h.

Referenced by nsfft_init(), and one_over_cube().

## UNUSED [2/2]

#define UNUSED | ( |  | x | ) |

Value:
(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,
|  |  | x )

Value:
p = (T)Y(malloc)(x)

Definition at line 1360 of file infft.h.

## STACK_FREE

#define STACK_FREE | ( |  | x | ) |

Value:
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 | ) |

Value:
(void)((ex) || (Y(assertion_failed)(#ex, __LINE__, __FILE__), 0))

Definition at line 1523 of file infft.h.

## A

#define A | ( |  | ex | ) |

Value:
/* 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.