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.h
Go to the documentation of this file.
1/*
2 * Interpolation of time and SNR of triggers
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with with program; see the file COPYING. If not, write to the
16 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17 * MA 02110-1301 USA
18 *
19 * Copyright (C) 2012-2020 Leo Singer
20 */
21
22#ifndef _TRIGGERINTERPOLATION_H
23#define _TRIGGERINTERPOLATION_H
24
25#include <lal/LALAtomicDatatypes.h>
26
27#if defined(__cplusplus)
28extern "C" {
29#elif 0
30} /* so that editors will match preceding brace */
31#endif
32
33#ifdef SWIG
34#define TRIGGER_INTERPOLATION_DEPRECATED
35#else
36#define TRIGGER_INTERPOLATION_DEPRECATED __attribute__ ((deprecated("TriggerInterpolation.h is deprecated. Use TriggerInterpolate.h instead.")));
37#endif
38
39#define LEGACY_API(NAME) \
40struct tag ## NAME ## TriggerInterpolant; \
41typedef struct tag ## NAME ## TriggerInterpolant NAME ## TriggerInterpolant; \
42NAME ## TriggerInterpolant *XLALCreate ## NAME ## TriggerInterpolant(unsigned int window) TRIGGER_INTERPOLATION_DEPRECATED; \
43void XLALDestroy ## NAME ## TriggerInterpolant(NAME ## TriggerInterpolant *) TRIGGER_INTERPOLATION_DEPRECATED; \
44int XLALCOMPLEX16Apply ## NAME ## TriggerInterpolant(NAME ## TriggerInterpolant *, double *tmax, COMPLEX16 *ymax, const COMPLEX16 *y) TRIGGER_INTERPOLATION_DEPRECATED; \
45int XLALCOMPLEX8Apply ## NAME ## TriggerInterpolant(NAME ## TriggerInterpolant *, double *tmax, COMPLEX8 *ymax, const COMPLEX8 *y) TRIGGER_INTERPOLATION_DEPRECATED; \
46int XLALREAL8Apply ## NAME ## TriggerInterpolant(NAME ## TriggerInterpolant *, double *tmax, REAL8 *ymax, const REAL8 *y) TRIGGER_INTERPOLATION_DEPRECATED; \
47int XLALREAL4Apply ## NAME ## TriggerInterpolant(NAME ## TriggerInterpolant *, double *tmax, REAL4 *ymax, const REAL4 *y) TRIGGER_INTERPOLATION_DEPRECATED;
48
49LEGACY_API(CubicSpline)
50LEGACY_API(CubicSplineAmpPhase)
51LEGACY_API(Lanczos)
52LEGACY_API(NearestNeighbor)
53LEGACY_API(QuadraticFit)
54
55#undef LEGACY_API
56#undef TRIGGER_INTERPOLATION_DEPRECATED
57
58#if 0
59{ /* so that editors will match succeeding brace */
60#elif defined(__cplusplus)
61} /* extern "C" */
62#endif
63
64#endif /* _TRIGGERINTERPOLATION_h */
#define LEGACY_API(NAME)