LAL  7.5.0.1-08ee4f4
Sequence.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright (C) 2007 Kipp Cannon
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License as published by the
7  * Free Software Foundation; either version 2 of the License, or (at your
8  * option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
13  * Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18  */
19 
20 
21 #ifndef _SEQUENCE_H
22 #define _SEQUENCE_H
23 
24 
25 #include <stddef.h>
26 #include <lal/LALDatatypes.h>
27 
28 #if defined(__cplusplus)
29 extern "C" {
30 #elif 0
31 } /* so that editors will match preceding brace */
32 #endif
33 
34 /**
35  * \defgroup SequenceManipulation Sequence Manipulation
36  * \ingroup lal_tools
37  * \author Kipp Cannon <kipp@gravity.phys.uwm.edu>
38  *
39  * \brief This is a suite of functions for creating, destroying, and manipulating LAL
40  * sequences. For example XLALCreateREAL4Sequence() is available for
41  * creating sequences of \c REAL4 data.
42  */
43 /** @{ */
44 
45 
46 /**
47  * \name Creation Functions
48  *
49  * ### Synopsis ###
50  *
51  * \code
52  * #include <lal/Sequence.h>
53  *
54  * XLALCreate<sequencetype>()
55  * LALCreate<sequencetype>()
56  * \endcode
57  *
58  * ### Description ###
59  *
60  * These functions create LAL sequences. The parameter \c length
61  * specifies the length of the desired sequence. The return value is a
62  * pointer to the newly created sequence or \c NULL on failure.
63  */
64 /** @{ */
75 /** @} */
76 
77 /**
78  * \name Destruction Functions
79  *
80  * ### Synopsis ###
81  *
82  * \code
83  * #include <lal/Sequence.h>
84  *
85  * XLALDestroy<sequencetype>()
86  * \endcode
87  *
88  * ### Description ###
89  *
90  * These functions free all memory associated with a LAL sequence. It is safe
91  * to pass \c NULL to these functions.
92  *
93  */
94 /** @{ */
105 /** @} */
106 
107 /**
108  * \name Cutting Functions
109  *
110  * ### Synopsis ###
111  *
112  * \code
113  * #include <lal/Sequence.h>
114  *
115  * XLALCut<sequencetype>()
116  * XLALCopy<sequencetype>()
117  * \endcode
118  *
119  * ### Description ###
120  *
121  * These functions create a new sequence by extracting a section of an
122  * existing sequence.
123  *
124  */
125 /** @{ */
126 COMPLEX8Sequence *XLALCutCOMPLEX8Sequence ( COMPLEX8Sequence *sequence, size_t first, size_t length );
127 COMPLEX16Sequence *XLALCutCOMPLEX16Sequence ( COMPLEX16Sequence *sequence, size_t first, size_t length );
128 REAL4Sequence *XLALCutREAL4Sequence ( REAL4Sequence *sequence, size_t first, size_t length );
129 REAL8Sequence *XLALCutREAL8Sequence ( REAL8Sequence *sequence, size_t first, size_t length );
130 INT2Sequence *XLALCutINT2Sequence ( INT2Sequence *sequence, size_t first, size_t length );
131 INT4Sequence *XLALCutINT4Sequence ( INT4Sequence *sequence, size_t first, size_t length );
132 INT8Sequence *XLALCutINT8Sequence ( INT8Sequence *sequence, size_t first, size_t length );
133 UINT2Sequence *XLALCutUINT2Sequence ( UINT2Sequence *sequence, size_t first, size_t length );
134 UINT4Sequence *XLALCutUINT4Sequence ( UINT4Sequence *sequence, size_t first, size_t length );
135 UINT8Sequence *XLALCutUINT8Sequence ( UINT8Sequence *sequence, size_t first, size_t length );
136 
147 /** @} */
148 
149 /**
150  * \name Shifting Functions
151  *
152  * ### Synopsis ###
153  *
154  * \code
155  * #include <lal/Sequence.h>
156  *
157  * XLALShift<sequencetype>()
158  * \endcode
159  *
160  * ### Description ###
161  *
162  * These functions shift the samples in a sequence, with zeros being placed in
163  * the space that is freed.
164  */
165 /** @{ */
166 void XLALShiftCOMPLEX8Sequence ( COMPLEX8Sequence *sequence, int count );
167 void XLALShiftCOMPLEX16Sequence ( COMPLEX16Sequence *sequence, int count );
168 void XLALShiftREAL4Sequence ( REAL4Sequence *sequence, int count );
169 void XLALShiftREAL8Sequence ( REAL8Sequence *sequence, int count );
170 void XLALShiftINT2Sequence ( INT2Sequence *sequence, int count );
171 void XLALShiftINT4Sequence ( INT4Sequence *sequence, int count );
172 void XLALShiftINT8Sequence ( INT8Sequence *sequence, int count );
173 void XLALShiftUINT2Sequence ( UINT2Sequence *sequence, int count );
174 void XLALShiftUINT4Sequence ( UINT4Sequence *sequence, int count );
175 void XLALShiftUINT8Sequence ( UINT8Sequence *sequence, int count );
176 /** @} */
177 
178 /**
179  * \name Resizing Functions
180  *
181  * ### Synopsis ###
182  *
183  * \code
184  * #include <lal/Sequence.h>
185  *
186  * XLALResize<sequencetype>()
187  * XLALShrink<sequencetype>()
188  * \endcode
189  *
190  * ### Description ###
191  *
192  * The resize functions alter the size of an existing sequence. The sequence
193  * is adjusted to have the specified length, and that part of the original
194  * sequence starting at sample first is used to fill the new sequence. If
195  * first is negative, then the start of the new sequence is padded by that
196  * many samples. If part of the new sequence does not correspond to some part
197  * of the original sequence, then those samples are set to 0.
198  *
199  * The shrink functions, originally, could only handle the special case in
200  * which the new sequence is wholly contained in the original sequence. Now
201  * the shrink functions are wrappers for the resize functions and are only
202  * retained for backwards compatibility.
203  *
204  */
205 /** @{ */
206 COMPLEX8Sequence *XLALResizeCOMPLEX8Sequence ( COMPLEX8Sequence *sequence, int first, size_t length );
207 COMPLEX16Sequence *XLALResizeCOMPLEX16Sequence ( COMPLEX16Sequence *sequence, int first, size_t length );
208 REAL4Sequence *XLALResizeREAL4Sequence ( REAL4Sequence *sequence, int first, size_t length );
209 REAL8Sequence *XLALResizeREAL8Sequence ( REAL8Sequence *sequence, int first, size_t length );
210 INT2Sequence *XLALResizeINT2Sequence ( INT2Sequence *sequence, int first, size_t length );
211 INT4Sequence *XLALResizeINT4Sequence ( INT4Sequence *sequence, int first, size_t length );
212 INT8Sequence *XLALResizeINT8Sequence ( INT8Sequence *sequence, int first, size_t length );
213 UINT2Sequence *XLALResizeUINT2Sequence ( UINT2Sequence *sequence, int first, size_t length );
214 UINT4Sequence *XLALResizeUINT4Sequence ( UINT4Sequence *sequence, int first, size_t length );
215 UINT8Sequence *XLALResizeUINT8Sequence ( UINT8Sequence *sequence, int first, size_t length );
216 
217 COMPLEX8Sequence *XLALShrinkCOMPLEX8Sequence ( COMPLEX8Sequence *sequence, size_t first, size_t length );
218 COMPLEX16Sequence *XLALShrinkCOMPLEX16Sequence ( COMPLEX16Sequence *sequence, size_t first, size_t length );
219 REAL4Sequence *XLALShrinkREAL4Sequence ( REAL4Sequence *sequence, size_t first, size_t length );
220 REAL8Sequence *XLALShrinkREAL8Sequence ( REAL8Sequence *sequence, size_t first, size_t length );
221 INT2Sequence *XLALShrinkINT2Sequence ( INT2Sequence *sequence, size_t first, size_t length );
222 INT4Sequence *XLALShrinkINT4Sequence ( INT4Sequence *sequence, size_t first, size_t length );
223 INT8Sequence *XLALShrinkINT8Sequence ( INT8Sequence *sequence, size_t first, size_t length );
224 UINT2Sequence *XLALShrinkUINT2Sequence ( UINT2Sequence *sequence, size_t first, size_t length );
225 UINT4Sequence *XLALShrinkUINT4Sequence ( UINT4Sequence *sequence, size_t first, size_t length );
226 UINT8Sequence *XLALShrinkUINT8Sequence ( UINT8Sequence *sequence, size_t first, size_t length );
227 /** @} */
228 
229 /**
230  * \name Summing Functions
231  *
232  * ### Synopsis ###
233  *
234  * \code
235  * #include <lal/Sequence.h>
236  *
237  * XLAL<datatype>Sum()
238  * XLAL<datatype>SumSquares()
239  * XLAL<sequencetype>Sum>()
240  * XLAL<sequencetype>SumSquares()
241  * \endcode
242  *
243  * ### Description ###
244  *
245  * The \c XLAL<datatype>Sum() and
246  * \c XLAL<datatype>SumSquares() functions sum the
247  * elements and squares of the elements, respectively, in an array.
248  *
249  * The \c XLAL<sequencetype>Sum() and
250  * \c XLAL<sequencetype>SumSquares() functions sum the
251  * elements and the squares of the elements, respectively in a sequence.
252  * Bounds checking is performed.
253  *
254  * In all cases, the return value is the sum, and these functions cannot fail.
255  * In the case of the sequence-related functions, if the sum extends beyond
256  * the bounds of the sequence, then the missing values are assumed to be 0.
257  *
258  * ### Bugs ###
259  *
260  * Because the LAL library must conform to the C89 specification, aggregate
261  * data types cannot be returned from functions so the COMPLEX8 and COMPLEX16
262  * versions of the sum functions (not sum-of-squares functions) are commented
263  * out at this time.
264  */
265 /** @{ */
266 COMPLEX8 XLALCOMPLEX8Sum ( const COMPLEX8 *data, size_t first, size_t count );
267 REAL4 XLALCOMPLEX8SumSquares ( const COMPLEX8 *data, size_t first, size_t count );
268 COMPLEX8 XLALCOMPLEX8SequenceSum ( const COMPLEX8Sequence *sequence, size_t first, size_t count );
269 REAL4 XLALCOMPLEX8SequenceSumSquares ( const COMPLEX8Sequence *sequence, size_t first, size_t count );
270 COMPLEX16 XLALCOMPLEX16Sum ( const COMPLEX16 *data, size_t first, size_t count );
271 REAL8 XLALCOMPLEX16SumSquares ( const COMPLEX16 *data, size_t first, size_t count );
272 COMPLEX16 XLALCOMPLEX16SequenceSum ( const COMPLEX16Sequence *sequence, size_t first, size_t count );
273 REAL8 XLALCOMPLEX16SequenceSumSquares ( const COMPLEX16Sequence *sequence, size_t first, size_t count );
274 REAL4 XLALREAL4Sum ( const REAL4 *data, size_t first, size_t count );
275 REAL4 XLALREAL4SumSquares ( const REAL4 *data, size_t first, size_t count );
276 REAL4 XLALREAL4SequenceSum ( const REAL4Sequence *sequence, size_t first, size_t count );
277 REAL4 XLALREAL4SequenceSumSquares ( const REAL4Sequence *sequence, size_t first, size_t count );
278 REAL8 XLALREAL8Sum ( const REAL8 *data, size_t first, size_t count );
279 REAL8 XLALREAL8SumSquares ( const REAL8 *data, size_t first, size_t count );
280 REAL8 XLALREAL8SequenceSum ( const REAL8Sequence *sequence, size_t first, size_t count );
281 REAL8 XLALREAL8SequenceSumSquares ( const REAL8Sequence *sequence, size_t first, size_t count );
282 INT2 XLALINT2Sum ( const INT2 *data, size_t first, size_t count );
283 UINT2 XLALINT2SumSquares ( const INT2 *data, size_t first, size_t count );
284 INT2 XLALINT2SequenceSum ( const INT2Sequence *sequence, size_t first, size_t count );
285 UINT2 XLALINT2SequenceSumSquares ( const INT2Sequence *sequence, size_t first, size_t count );
286 INT4 XLALINT4Sum ( const INT4 *data, size_t first, size_t count );
287 UINT4 XLALINT4SumSquares ( const INT4 *data, size_t first, size_t count );
288 INT4 XLALINT4SequenceSum ( const INT4Sequence *sequence, size_t first, size_t count );
289 UINT4 XLALINT4SequenceSumSquares ( const INT4Sequence *sequence, size_t first, size_t count );
290 INT8 XLALINT8Sum ( const INT8 *data, size_t first, size_t count );
291 UINT8 XLALINT8SumSquares ( const INT8 *data, size_t first, size_t count );
292 INT8 XLALINT8SequenceSum ( const INT8Sequence *sequence, size_t first, size_t count );
293 UINT8 XLALINT8SequenceSumSquares ( const INT8Sequence *sequence, size_t first, size_t count );
294 UINT2 XLALUINT2Sum ( const UINT2 *data, size_t first, size_t count );
295 UINT2 XLALUINT2SumSquares ( const UINT2 *data, size_t first, size_t count );
296 UINT2 XLALUINT2SequenceSum ( const UINT2Sequence *sequence, size_t first, size_t count );
297 UINT2 XLALUINT2SequenceSumSquares ( const UINT2Sequence *sequence, size_t first, size_t count );
298 UINT4 XLALUINT4Sum ( const UINT4 *data, size_t first, size_t count );
299 UINT4 XLALUINT4SumSquares ( const UINT4 *data, size_t first, size_t count );
300 UINT4 XLALUINT4SequenceSum ( const UINT4Sequence *sequence, size_t first, size_t count );
301 UINT4 XLALUINT4SequenceSumSquares ( const UINT4Sequence *sequence, size_t first, size_t count );
302 UINT8 XLALUINT8Sum ( const UINT8 *data, size_t first, size_t count );
303 UINT8 XLALUINT8SumSquares ( const UINT8 *data, size_t first, size_t count );
304 UINT8 XLALUINT8SequenceSum ( const UINT8Sequence *sequence, size_t first, size_t count );
305 UINT8 XLALUINT8SequenceSumSquares ( const UINT8Sequence *sequence, size_t first, size_t count );
306 /** @} */
307 
308 /**
309  * \name Conjugate Functions
310  *
311  * ### Synopsis ###
312  *
313  * \code
314  * #include <lal/Sequence.h>
315  *
316  * XLAL<datatype>Conjugate()
317  * \endcode
318  *
319  * ### Description ###
320  *
321  * These functions replace a sequence with its complex conjugate.
322  *
323  */
324 /** @{ */
327 /** @} */
328 
329 /** @} */
330 
331 #if 0
332 { /* so that editors will match succeeding brace */
333 #elif defined(__cplusplus)
334 }
335 #endif
336 
337 #endif /* _SEQUENCE_H */
uint64_t UINT8
Eight-byte unsigned integer; on some platforms this is equivalent to unsigned long int instead.
double complex COMPLEX16
Double-precision floating-point complex number (16 bytes total)
double REAL8
Double precision real floating-point number (8 bytes).
int16_t INT2
Two-byte signed integer.
int64_t INT8
Eight-byte signed integer; on some platforms this is equivalent to long int instead.
uint16_t UINT2
Two-byte unsigned integer.
uint32_t UINT4
Four-byte unsigned integer.
float complex COMPLEX8
Single-precision floating-point complex number (8 bytes total)
int32_t INT4
Four-byte signed integer.
float REAL4
Single precision real floating-point number (4 bytes).
UINT4Sequence * XLALResizeUINT4Sequence(UINT4Sequence *sequence, int first, size_t length)
INT8Sequence * XLALCutINT8Sequence(INT8Sequence *sequence, size_t first, size_t length)
INT8Sequence * XLALCopyINT8Sequence(INT8Sequence *sequence)
UINT2Sequence * XLALResizeUINT2Sequence(UINT2Sequence *sequence, int first, size_t length)
UINT2 XLALINT2SumSquares(const INT2 *data, size_t first, size_t count)
REAL4Sequence * XLALCutREAL4Sequence(REAL4Sequence *sequence, size_t first, size_t length)
INT2 XLALINT2SequenceSum(const INT2Sequence *sequence, size_t first, size_t count)
void XLALDestroyUINT2Sequence(UINT2Sequence *sequence)
INT2Sequence * XLALCopyINT2Sequence(INT2Sequence *sequence)
REAL4 XLALCOMPLEX8SequenceSumSquares(const COMPLEX8Sequence *sequence, size_t first, size_t count)
COMPLEX8Sequence * XLALCutCOMPLEX8Sequence(COMPLEX8Sequence *sequence, size_t first, size_t length)
UINT4Sequence * XLALCopyUINT4Sequence(UINT4Sequence *sequence)
UINT2Sequence * XLALCopyUINT2Sequence(UINT2Sequence *sequence)
REAL4 XLALREAL4SumSquares(const REAL4 *data, size_t first, size_t count)
COMPLEX8Sequence * XLALShrinkCOMPLEX8Sequence(COMPLEX8Sequence *sequence, size_t first, size_t length)
void XLALDestroyINT4Sequence(INT4Sequence *sequence)
void XLALShiftCOMPLEX8Sequence(COMPLEX8Sequence *sequence, int count)
INT4 XLALINT4Sum(const INT4 *data, size_t first, size_t count)
REAL4 XLALREAL4Sum(const REAL4 *data, size_t first, size_t count)
COMPLEX16Sequence * XLALResizeCOMPLEX16Sequence(COMPLEX16Sequence *sequence, int first, size_t length)
void XLALShiftUINT8Sequence(UINT8Sequence *sequence, int count)
REAL8 XLALREAL8SequenceSum(const REAL8Sequence *sequence, size_t first, size_t count)
REAL8Sequence * XLALCutREAL8Sequence(REAL8Sequence *sequence, size_t first, size_t length)
REAL4Sequence * XLALShrinkREAL4Sequence(REAL4Sequence *sequence, size_t first, size_t length)
UINT2 XLALUINT2SequenceSum(const UINT2Sequence *sequence, size_t first, size_t count)
REAL8 XLALREAL8Sum(const REAL8 *data, size_t first, size_t count)
INT2Sequence * XLALShrinkINT2Sequence(INT2Sequence *sequence, size_t first, size_t length)
INT8 XLALINT8SequenceSum(const INT8Sequence *sequence, size_t first, size_t count)
INT4Sequence * XLALShrinkINT4Sequence(INT4Sequence *sequence, size_t first, size_t length)
INT2Sequence * XLALResizeINT2Sequence(INT2Sequence *sequence, int first, size_t length)
REAL8Sequence * XLALCopyREAL8Sequence(REAL8Sequence *sequence)
UINT8 XLALUINT8SequenceSumSquares(const UINT8Sequence *sequence, size_t first, size_t count)
void XLALShiftUINT4Sequence(UINT4Sequence *sequence, int count)
INT4Sequence * XLALCopyINT4Sequence(INT4Sequence *sequence)
void XLALDestroyINT2Sequence(INT2Sequence *sequence)
UINT2 XLALUINT2Sum(const UINT2 *data, size_t first, size_t count)
COMPLEX16Sequence * XLALConjugateCOMPLEX16Sequence(COMPLEX16Sequence *series)
UINT8Sequence * XLALResizeUINT8Sequence(UINT8Sequence *sequence, int first, size_t length)
void XLALShiftUINT2Sequence(UINT2Sequence *sequence, int count)
UINT4Sequence * XLALCreateUINT4Sequence(size_t length)
UINT8 XLALINT8SequenceSumSquares(const INT8Sequence *sequence, size_t first, size_t count)
INT2Sequence * XLALCreateINT2Sequence(size_t length)
REAL8 XLALREAL8SumSquares(const REAL8 *data, size_t first, size_t count)
UINT4 XLALUINT4Sum(const UINT4 *data, size_t first, size_t count)
UINT8 XLALINT8SumSquares(const INT8 *data, size_t first, size_t count)
UINT4 XLALUINT4SequenceSumSquares(const UINT4Sequence *sequence, size_t first, size_t count)
void XLALDestroyUINT8Sequence(UINT8Sequence *sequence)
INT4 XLALINT4SequenceSum(const INT4Sequence *sequence, size_t first, size_t count)
UINT8 XLALUINT8SumSquares(const UINT8 *data, size_t first, size_t count)
INT8Sequence * XLALResizeINT8Sequence(INT8Sequence *sequence, int first, size_t length)
REAL4Sequence * XLALResizeREAL4Sequence(REAL4Sequence *sequence, int first, size_t length)
UINT8Sequence * XLALCreateUINT8Sequence(size_t length)
COMPLEX8 XLALCOMPLEX8SequenceSum(const COMPLEX8Sequence *sequence, size_t first, size_t count)
INT4Sequence * XLALResizeINT4Sequence(INT4Sequence *sequence, int first, size_t length)
REAL4 XLALREAL4SequenceSum(const REAL4Sequence *sequence, size_t first, size_t count)
INT8Sequence * XLALCreateINT8Sequence(size_t length)
COMPLEX16Sequence * XLALCutCOMPLEX16Sequence(COMPLEX16Sequence *sequence, size_t first, size_t length)
UINT4 XLALUINT4SumSquares(const UINT4 *data, size_t first, size_t count)
void XLALShiftREAL8Sequence(REAL8Sequence *sequence, int count)
void XLALDestroyUINT4Sequence(UINT4Sequence *sequence)
COMPLEX8 XLALCOMPLEX8Sum(const COMPLEX8 *data, size_t first, size_t count)
UINT4 XLALINT4SumSquares(const INT4 *data, size_t first, size_t count)
void XLALDestroyREAL8Sequence(REAL8Sequence *sequence)
REAL4 XLALREAL4SequenceSumSquares(const REAL4Sequence *sequence, size_t first, size_t count)
UINT2 XLALINT2SequenceSumSquares(const INT2Sequence *sequence, size_t first, size_t count)
COMPLEX16 XLALCOMPLEX16SequenceSum(const COMPLEX16Sequence *sequence, size_t first, size_t count)
void XLALDestroyCOMPLEX8Sequence(COMPLEX8Sequence *sequence)
REAL8 XLALCOMPLEX16SequenceSumSquares(const COMPLEX16Sequence *sequence, size_t first, size_t count)
void XLALDestroyINT8Sequence(INT8Sequence *sequence)
UINT8Sequence * XLALCutUINT8Sequence(UINT8Sequence *sequence, size_t first, size_t length)
UINT2Sequence * XLALCutUINT2Sequence(UINT2Sequence *sequence, size_t first, size_t length)
UINT4Sequence * XLALShrinkUINT4Sequence(UINT4Sequence *sequence, size_t first, size_t length)
INT4Sequence * XLALCutINT4Sequence(INT4Sequence *sequence, size_t first, size_t length)
REAL4Sequence * XLALCopyREAL4Sequence(REAL4Sequence *sequence)
COMPLEX8Sequence * XLALCopyCOMPLEX8Sequence(COMPLEX8Sequence *sequence)
COMPLEX16 XLALCOMPLEX16Sum(const COMPLEX16 *data, size_t first, size_t count)
COMPLEX16Sequence * XLALShrinkCOMPLEX16Sequence(COMPLEX16Sequence *sequence, size_t first, size_t length)
void XLALDestroyREAL4Sequence(REAL4Sequence *sequence)
INT4Sequence * XLALCreateINT4Sequence(size_t length)
INT2 XLALINT2Sum(const INT2 *data, size_t first, size_t count)
void XLALDestroyCOMPLEX16Sequence(COMPLEX16Sequence *sequence)
COMPLEX8Sequence * XLALCreateCOMPLEX8Sequence(size_t length)
COMPLEX8Sequence * XLALResizeCOMPLEX8Sequence(COMPLEX8Sequence *sequence, int first, size_t length)
UINT2Sequence * XLALCreateUINT2Sequence(size_t length)
REAL8Sequence * XLALResizeREAL8Sequence(REAL8Sequence *sequence, int first, size_t length)
void XLALShiftINT4Sequence(INT4Sequence *sequence, int count)
REAL4Sequence * XLALCreateREAL4Sequence(size_t length)
UINT4Sequence * XLALCutUINT4Sequence(UINT4Sequence *sequence, size_t first, size_t length)
COMPLEX16Sequence * XLALCopyCOMPLEX16Sequence(COMPLEX16Sequence *sequence)
REAL4 XLALCOMPLEX8SumSquares(const COMPLEX8 *data, size_t first, size_t count)
REAL8 XLALREAL8SequenceSumSquares(const REAL8Sequence *sequence, size_t first, size_t count)
UINT8Sequence * XLALShrinkUINT8Sequence(UINT8Sequence *sequence, size_t first, size_t length)
REAL8 XLALCOMPLEX16SumSquares(const COMPLEX16 *data, size_t first, size_t count)
INT2Sequence * XLALCutINT2Sequence(INT2Sequence *sequence, size_t first, size_t length)
INT8Sequence * XLALShrinkINT8Sequence(INT8Sequence *sequence, size_t first, size_t length)
REAL8Sequence * XLALShrinkREAL8Sequence(REAL8Sequence *sequence, size_t first, size_t length)
COMPLEX8Sequence * XLALConjugateCOMPLEX8Sequence(COMPLEX8Sequence *series)
UINT4 XLALINT4SequenceSumSquares(const INT4Sequence *sequence, size_t first, size_t count)
void XLALShiftCOMPLEX16Sequence(COMPLEX16Sequence *sequence, int count)
REAL8Sequence * XLALCreateREAL8Sequence(size_t length)
UINT2Sequence * XLALShrinkUINT2Sequence(UINT2Sequence *sequence, size_t first, size_t length)
UINT2 XLALUINT2SequenceSumSquares(const UINT2Sequence *sequence, size_t first, size_t count)
COMPLEX16Sequence * XLALCreateCOMPLEX16Sequence(size_t length)
void XLALShiftINT8Sequence(INT8Sequence *sequence, int count)
UINT2 XLALUINT2SumSquares(const UINT2 *data, size_t first, size_t count)
UINT8Sequence * XLALCopyUINT8Sequence(UINT8Sequence *sequence)
UINT4 XLALUINT4SequenceSum(const UINT4Sequence *sequence, size_t first, size_t count)
void XLALShiftREAL4Sequence(REAL4Sequence *sequence, int count)
INT8 XLALINT8Sum(const INT8 *data, size_t first, size_t count)
void XLALShiftINT2Sequence(INT2Sequence *sequence, int count)
UINT8 XLALUINT8SequenceSum(const UINT8Sequence *sequence, size_t first, size_t count)
UINT8 XLALUINT8Sum(const UINT8 *data, size_t first, size_t count)
Vector of type COMPLEX16, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:172
Vector of type COMPLEX8, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:163
Vector of type INT2, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:91
Vector of type INT4, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:109
Vector of type INT8, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:127
Vector of type REAL4, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:145
Vector of type REAL8, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:154
Vector of type UINT2, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:100
Vector of type UINT4, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:118
Vector of type UINT8, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:136