Loading [MathJax]/extensions/TeX/AMSsymbols.js
LAL 7.7.0.1-5e288d3
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
TriggerInterpolation.c File Reference

Go to the source code of this file.

Macros

#define APPLY_FUNC(NAME, TYPE)
 
#define LEGACY_API(NAME)
 

Macro Definition Documentation

◆ APPLY_FUNC

#define APPLY_FUNC (   NAME,
  TYPE 
)
Value:
int XLAL ## TYPE ## Apply ## NAME ## TriggerInterpolant( \
NAME ## TriggerInterpolant *interp, \
double *tmax, \
TYPE *ymax, \
const TYPE *y) \
{ \
int result; \
double complex ymax_full; \
double complex data_full[2 * interp->window + 1]; \
double complex *const y_full = &data_full[interp->window]; \
for (int i = -(int)interp->window; i <= (int)interp->window; i ++) \
y_full[i] = y[i]; \
result = XLALTriggerInterpolate ## NAME(tmax, &ymax_full, y_full, interp->window); \
if (result == GSL_SUCCESS) \
*ymax = ymax_full; \
return result; \
}
#define TYPE

Definition at line 27 of file TriggerInterpolation.c.

◆ LEGACY_API

#define LEGACY_API (   NAME)
Value:
struct tag ## NAME ## TriggerInterpolant { \
unsigned int window; \
}; \
\
NAME ## TriggerInterpolant *XLALCreate ## NAME ## TriggerInterpolant(unsigned int window) \
{ \
NAME ## TriggerInterpolant *interp = malloc(sizeof(NAME ## TriggerInterpolant)); \
if (!interp) \
GSL_ERROR_NULL("Failed to allocate interpolant", GSL_ENOMEM); \
interp->window = window; \
return interp; \
} \
\
void XLALDestroy ## NAME ## TriggerInterpolant(NAME ## TriggerInterpolant *interp) \
{ \
free(interp); \
} \
APPLY_FUNC(NAME, COMPLEX8) \
APPLY_FUNC(NAME, REAL8) \
APPLY_FUNC(NAME, REAL4)
#define APPLY_FUNC(NAME, TYPE)
double complex COMPLEX16
Double-precision floating-point complex number (16 bytes total)
double REAL8
Double precision real floating-point number (8 bytes).
float complex COMPLEX8
Single-precision floating-point complex number (8 bytes total)
float REAL4
Single precision real floating-point number (4 bytes).

Definition at line 48 of file TriggerInterpolation.c.