LAL  7.5.0.1-b72065a
TimeSeriesInterp.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014 Kipp Cannon
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by the
6  * Free Software Foundation; either version 2 of the License, or (at your
7  * option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License along
15  * with with program; see the file COPYING. If not, write to the Free
16  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17  * 02110-1301 USA
18  */
19 
20 
21 #ifndef _TIMESERIESINTERP_H_
22 #define _TIMESERIESINTERP_H_
23 
24 
25 #include <lal/LALDatatypes.h>
26 
27 
28 #if defined(__cplusplus)
29 extern "C" {
30 #elif 0
31 } /* so that editors will match preceding brace */
32 #endif
33 
34 
35 /**
36  * Opaque LALREAL8SequenceInterp structure.
37  */
38 
39 typedef struct tagLALREAL8SequenceInterp LALREAL8SequenceInterp;
40 
41 
42 LALREAL8SequenceInterp *XLALREAL8SequenceInterpCreate(const REAL8Sequence *, int, void (*)(double *, int, double, void *), void *);
43 void XLALREAL8SequenceInterpDestroy(LALREAL8SequenceInterp *);
44 REAL8 XLALREAL8SequenceInterpEval(LALREAL8SequenceInterp *, double, int);
45 
46 
47 /**
48  * Opaque LALREAL8TimeSeriesInterp structure.
49  */
50 
51 typedef struct tagLALREAL8TimeSeriesInterp LALREAL8TimeSeriesInterp;
52 
53 
54 LALREAL8TimeSeriesInterp *XLALREAL8TimeSeriesInterpCreate(const REAL8TimeSeries *, int, void (*)(double *, int, double, void *), void *);
55 void XLALREAL8TimeSeriesInterpDestroy(LALREAL8TimeSeriesInterp *);
56 REAL8 XLALREAL8TimeSeriesInterpEval(LALREAL8TimeSeriesInterp *, const LIGOTimeGPS *, int);
57 
58 
59 #if 0
60 { /* so that editors will match succeeding brace */
61 #elif defined(__cplusplus)
62 }
63 #endif
64 
65 #endif /* _TIMESERIESINTERP_H_ */
LALREAL8SequenceInterp * XLALREAL8SequenceInterpCreate(const REAL8Sequence *, int, void(*)(double *, int, double, void *), void *)
Create a new REAL8Sequence interpolator associated with the given REAL8Sequence object.
REAL8 XLALREAL8TimeSeriesInterpEval(LALREAL8TimeSeriesInterp *, const LIGOTimeGPS *, int)
Evaluate a LALREAL8TimeSeriesInterp at the LIGOTimeGPS t.
LALREAL8TimeSeriesInterp * XLALREAL8TimeSeriesInterpCreate(const REAL8TimeSeries *, int, void(*)(double *, int, double, void *), void *)
Create a new REAL8TimeSeries interpolator associated with the given REAL8TimeSeries object.
void XLALREAL8SequenceInterpDestroy(LALREAL8SequenceInterp *)
Free a LALREAL8SequenceInterp object.
REAL8 XLALREAL8SequenceInterpEval(LALREAL8SequenceInterp *, double, int)
Evaluate a LALREAL8SequenceInterp at the real-valued index x.
void XLALREAL8TimeSeriesInterpDestroy(LALREAL8TimeSeriesInterp *)
Free a LALREAL8TimeSeriesInterp object.
double REAL8
Double precision real floating-point number (8 bytes).
Epoch relative to GPS epoch, see LIGOTimeGPS type for more details.
Definition: LALDatatypes.h:458
Time series of REAL8 data, see DATATYPE-TimeSeries types for more details.
Definition: LALDatatypes.h:580
Vector of type REAL8, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:154
Opaque LALREAL8SequenceInterp instance structure.
Opaque LALREAL8TimeSeriesInterp structure.