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
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)
29extern "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/** @{ */
126COMPLEX8Sequence *XLALCutCOMPLEX8Sequence ( COMPLEX8Sequence *sequence, size_t first, size_t length );
127COMPLEX16Sequence *XLALCutCOMPLEX16Sequence ( COMPLEX16Sequence *sequence, size_t first, size_t length );
128REAL4Sequence *XLALCutREAL4Sequence ( REAL4Sequence *sequence, size_t first, size_t length );
129REAL8Sequence *XLALCutREAL8Sequence ( REAL8Sequence *sequence, size_t first, size_t length );
130INT2Sequence *XLALCutINT2Sequence ( INT2Sequence *sequence, size_t first, size_t length );
131INT4Sequence *XLALCutINT4Sequence ( INT4Sequence *sequence, size_t first, size_t length );
132INT8Sequence *XLALCutINT8Sequence ( INT8Sequence *sequence, size_t first, size_t length );
133UINT2Sequence *XLALCutUINT2Sequence ( UINT2Sequence *sequence, size_t first, size_t length );
134UINT4Sequence *XLALCutUINT4Sequence ( UINT4Sequence *sequence, size_t first, size_t length );
135UINT8Sequence *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/** @{ */
166void XLALShiftCOMPLEX8Sequence ( COMPLEX8Sequence *sequence, int count );
167void XLALShiftCOMPLEX16Sequence ( COMPLEX16Sequence *sequence, int count );
168void XLALShiftREAL4Sequence ( REAL4Sequence *sequence, int count );
169void XLALShiftREAL8Sequence ( REAL8Sequence *sequence, int count );
170void XLALShiftINT2Sequence ( INT2Sequence *sequence, int count );
171void XLALShiftINT4Sequence ( INT4Sequence *sequence, int count );
172void XLALShiftINT8Sequence ( INT8Sequence *sequence, int count );
173void XLALShiftUINT2Sequence ( UINT2Sequence *sequence, int count );
174void XLALShiftUINT4Sequence ( UINT4Sequence *sequence, int count );
175void 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/** @{ */
206COMPLEX8Sequence *XLALResizeCOMPLEX8Sequence ( COMPLEX8Sequence *sequence, int first, size_t length );
207COMPLEX16Sequence *XLALResizeCOMPLEX16Sequence ( COMPLEX16Sequence *sequence, int first, size_t length );
208REAL4Sequence *XLALResizeREAL4Sequence ( REAL4Sequence *sequence, int first, size_t length );
209REAL8Sequence *XLALResizeREAL8Sequence ( REAL8Sequence *sequence, int first, size_t length );
210INT2Sequence *XLALResizeINT2Sequence ( INT2Sequence *sequence, int first, size_t length );
211INT4Sequence *XLALResizeINT4Sequence ( INT4Sequence *sequence, int first, size_t length );
212INT8Sequence *XLALResizeINT8Sequence ( INT8Sequence *sequence, int first, size_t length );
213UINT2Sequence *XLALResizeUINT2Sequence ( UINT2Sequence *sequence, int first, size_t length );
214UINT4Sequence *XLALResizeUINT4Sequence ( UINT4Sequence *sequence, int first, size_t length );
215UINT8Sequence *XLALResizeUINT8Sequence ( UINT8Sequence *sequence, int first, size_t length );
216
217COMPLEX8Sequence *XLALShrinkCOMPLEX8Sequence ( COMPLEX8Sequence *sequence, size_t first, size_t length );
218COMPLEX16Sequence *XLALShrinkCOMPLEX16Sequence ( COMPLEX16Sequence *sequence, size_t first, size_t length );
219REAL4Sequence *XLALShrinkREAL4Sequence ( REAL4Sequence *sequence, size_t first, size_t length );
220REAL8Sequence *XLALShrinkREAL8Sequence ( REAL8Sequence *sequence, size_t first, size_t length );
221INT2Sequence *XLALShrinkINT2Sequence ( INT2Sequence *sequence, size_t first, size_t length );
222INT4Sequence *XLALShrinkINT4Sequence ( INT4Sequence *sequence, size_t first, size_t length );
223INT8Sequence *XLALShrinkINT8Sequence ( INT8Sequence *sequence, size_t first, size_t length );
224UINT2Sequence *XLALShrinkUINT2Sequence ( UINT2Sequence *sequence, size_t first, size_t length );
225UINT4Sequence *XLALShrinkUINT4Sequence ( UINT4Sequence *sequence, size_t first, size_t length );
226UINT8Sequence *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/** @{ */
266COMPLEX8 XLALCOMPLEX8Sum ( const COMPLEX8 *data, size_t first, size_t count );
267REAL4 XLALCOMPLEX8SumSquares ( const COMPLEX8 *data, size_t first, size_t count );
268COMPLEX8 XLALCOMPLEX8SequenceSum ( const COMPLEX8Sequence *sequence, size_t first, size_t count );
269REAL4 XLALCOMPLEX8SequenceSumSquares ( const COMPLEX8Sequence *sequence, size_t first, size_t count );
270COMPLEX16 XLALCOMPLEX16Sum ( const COMPLEX16 *data, size_t first, size_t count );
271REAL8 XLALCOMPLEX16SumSquares ( const COMPLEX16 *data, size_t first, size_t count );
272COMPLEX16 XLALCOMPLEX16SequenceSum ( const COMPLEX16Sequence *sequence, size_t first, size_t count );
273REAL8 XLALCOMPLEX16SequenceSumSquares ( const COMPLEX16Sequence *sequence, size_t first, size_t count );
274REAL4 XLALREAL4Sum ( const REAL4 *data, size_t first, size_t count );
275REAL4 XLALREAL4SumSquares ( const REAL4 *data, size_t first, size_t count );
276REAL4 XLALREAL4SequenceSum ( const REAL4Sequence *sequence, size_t first, size_t count );
277REAL4 XLALREAL4SequenceSumSquares ( const REAL4Sequence *sequence, size_t first, size_t count );
278REAL8 XLALREAL8Sum ( const REAL8 *data, size_t first, size_t count );
279REAL8 XLALREAL8SumSquares ( const REAL8 *data, size_t first, size_t count );
280REAL8 XLALREAL8SequenceSum ( const REAL8Sequence *sequence, size_t first, size_t count );
281REAL8 XLALREAL8SequenceSumSquares ( const REAL8Sequence *sequence, size_t first, size_t count );
282INT2 XLALINT2Sum ( const INT2 *data, size_t first, size_t count );
283UINT2 XLALINT2SumSquares ( const INT2 *data, size_t first, size_t count );
284INT2 XLALINT2SequenceSum ( const INT2Sequence *sequence, size_t first, size_t count );
285UINT2 XLALINT2SequenceSumSquares ( const INT2Sequence *sequence, size_t first, size_t count );
286INT4 XLALINT4Sum ( const INT4 *data, size_t first, size_t count );
287UINT4 XLALINT4SumSquares ( const INT4 *data, size_t first, size_t count );
288INT4 XLALINT4SequenceSum ( const INT4Sequence *sequence, size_t first, size_t count );
289UINT4 XLALINT4SequenceSumSquares ( const INT4Sequence *sequence, size_t first, size_t count );
290INT8 XLALINT8Sum ( const INT8 *data, size_t first, size_t count );
291UINT8 XLALINT8SumSquares ( const INT8 *data, size_t first, size_t count );
292INT8 XLALINT8SequenceSum ( const INT8Sequence *sequence, size_t first, size_t count );
293UINT8 XLALINT8SequenceSumSquares ( const INT8Sequence *sequence, size_t first, size_t count );
294UINT2 XLALUINT2Sum ( const UINT2 *data, size_t first, size_t count );
295UINT2 XLALUINT2SumSquares ( const UINT2 *data, size_t first, size_t count );
296UINT2 XLALUINT2SequenceSum ( const UINT2Sequence *sequence, size_t first, size_t count );
297UINT2 XLALUINT2SequenceSumSquares ( const UINT2Sequence *sequence, size_t first, size_t count );
298UINT4 XLALUINT4Sum ( const UINT4 *data, size_t first, size_t count );
299UINT4 XLALUINT4SumSquares ( const UINT4 *data, size_t first, size_t count );
300UINT4 XLALUINT4SequenceSum ( const UINT4Sequence *sequence, size_t first, size_t count );
301UINT4 XLALUINT4SequenceSumSquares ( const UINT4Sequence *sequence, size_t first, size_t count );
302UINT8 XLALUINT8Sum ( const UINT8 *data, size_t first, size_t count );
303UINT8 XLALUINT8SumSquares ( const UINT8 *data, size_t first, size_t count );
304UINT8 XLALUINT8SequenceSum ( const UINT8Sequence *sequence, size_t first, size_t count );
305UINT8 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).
INT8Sequence * XLALShrinkINT8Sequence(INT8Sequence *sequence, size_t first, size_t length)
INT8Sequence * XLALResizeINT8Sequence(INT8Sequence *sequence, int first, size_t length)
UINT2 XLALINT2SumSquares(const INT2 *data, size_t first, size_t count)
INT2 XLALINT2SequenceSum(const INT2Sequence *sequence, size_t first, size_t count)
void XLALDestroyUINT2Sequence(UINT2Sequence *sequence)
REAL4Sequence * XLALCreateREAL4Sequence(size_t length)
INT2Sequence * XLALShrinkINT2Sequence(INT2Sequence *sequence, size_t first, size_t length)
REAL4 XLALCOMPLEX8SequenceSumSquares(const COMPLEX8Sequence *sequence, size_t first, size_t count)
REAL4Sequence * XLALCutREAL4Sequence(REAL4Sequence *sequence, size_t first, size_t length)
COMPLEX16Sequence * XLALResizeCOMPLEX16Sequence(COMPLEX16Sequence *sequence, int first, size_t length)
INT4Sequence * XLALResizeINT4Sequence(INT4Sequence *sequence, int first, size_t length)
REAL4 XLALREAL4SumSquares(const REAL4 *data, size_t first, size_t count)
COMPLEX8Sequence * XLALConjugateCOMPLEX8Sequence(COMPLEX8Sequence *series)
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)
void XLALShiftUINT8Sequence(UINT8Sequence *sequence, int count)
UINT8Sequence * XLALShrinkUINT8Sequence(UINT8Sequence *sequence, size_t first, size_t length)
COMPLEX16Sequence * XLALCutCOMPLEX16Sequence(COMPLEX16Sequence *sequence, size_t first, size_t length)
REAL8 XLALREAL8SequenceSum(const REAL8Sequence *sequence, size_t first, size_t count)
COMPLEX16Sequence * XLALShrinkCOMPLEX16Sequence(COMPLEX16Sequence *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)
UINT2Sequence * XLALShrinkUINT2Sequence(UINT2Sequence *sequence, size_t first, size_t length)
INT8 XLALINT8SequenceSum(const INT8Sequence *sequence, size_t first, size_t count)
REAL4Sequence * XLALShrinkREAL4Sequence(REAL4Sequence *sequence, size_t first, size_t length)
UINT2Sequence * XLALCopyUINT2Sequence(UINT2Sequence *sequence)
INT2Sequence * XLALCutINT2Sequence(INT2Sequence *sequence, size_t first, size_t length)
REAL4Sequence * XLALResizeREAL4Sequence(REAL4Sequence *sequence, int first, size_t length)
UINT8 XLALUINT8SequenceSumSquares(const UINT8Sequence *sequence, size_t first, size_t count)
UINT4Sequence * XLALResizeUINT4Sequence(UINT4Sequence *sequence, int first, size_t length)
INT4Sequence * XLALCutINT4Sequence(INT4Sequence *sequence, size_t first, size_t length)
void XLALShiftUINT4Sequence(UINT4Sequence *sequence, int count)
void XLALDestroyINT2Sequence(INT2Sequence *sequence)
UINT2 XLALUINT2Sum(const UINT2 *data, size_t first, size_t count)
void XLALShiftUINT2Sequence(UINT2Sequence *sequence, int count)
UINT8 XLALINT8SequenceSumSquares(const INT8Sequence *sequence, size_t first, size_t count)
REAL8 XLALREAL8SumSquares(const REAL8 *data, size_t first, size_t count)
UINT8Sequence * XLALCreateUINT8Sequence(size_t length)
UINT4 XLALUINT4Sum(const UINT4 *data, size_t first, size_t count)
INT4Sequence * XLALCopyINT4Sequence(INT4Sequence *sequence)
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)
INT8Sequence * XLALCutINT8Sequence(INT8Sequence *sequence, size_t first, size_t length)
UINT8 XLALUINT8SumSquares(const UINT8 *data, size_t first, size_t count)
UINT4Sequence * XLALShrinkUINT4Sequence(UINT4Sequence *sequence, size_t first, size_t length)
COMPLEX8 XLALCOMPLEX8SequenceSum(const COMPLEX8Sequence *sequence, size_t first, size_t count)
UINT4Sequence * XLALCopyUINT4Sequence(UINT4Sequence *sequence)
REAL4 XLALREAL4SequenceSum(const REAL4Sequence *sequence, size_t first, size_t count)
COMPLEX16Sequence * XLALCreateCOMPLEX16Sequence(size_t length)
INT8Sequence * XLALCreateINT8Sequence(size_t length)
COMPLEX8Sequence * XLALShrinkCOMPLEX8Sequence(COMPLEX8Sequence *sequence, size_t first, size_t length)
INT8Sequence * XLALCopyINT8Sequence(INT8Sequence *sequence)
UINT4 XLALUINT4SumSquares(const UINT4 *data, size_t first, size_t count)
UINT8Sequence * XLALCutUINT8Sequence(UINT8Sequence *sequence, size_t first, size_t length)
void XLALShiftREAL8Sequence(REAL8Sequence *sequence, int count)
void XLALDestroyUINT4Sequence(UINT4Sequence *sequence)
COMPLEX8Sequence * XLALCutCOMPLEX8Sequence(COMPLEX8Sequence *sequence, size_t first, size_t length)
COMPLEX8 XLALCOMPLEX8Sum(const COMPLEX8 *data, size_t first, size_t count)
UINT4 XLALINT4SumSquares(const INT4 *data, size_t first, size_t count)
COMPLEX16Sequence * XLALCopyCOMPLEX16Sequence(COMPLEX16Sequence *sequence)
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)
INT2Sequence * XLALResizeINT2Sequence(INT2Sequence *sequence, int first, size_t length)
REAL8 XLALCOMPLEX16SequenceSumSquares(const COMPLEX16Sequence *sequence, size_t first, size_t count)
REAL8Sequence * XLALResizeREAL8Sequence(REAL8Sequence *sequence, int first, size_t length)
void XLALDestroyINT8Sequence(INT8Sequence *sequence)
COMPLEX8Sequence * XLALCopyCOMPLEX8Sequence(COMPLEX8Sequence *sequence)
UINT4Sequence * XLALCutUINT4Sequence(UINT4Sequence *sequence, size_t first, size_t length)
UINT8Sequence * XLALResizeUINT8Sequence(UINT8Sequence *sequence, int first, size_t length)
COMPLEX16 XLALCOMPLEX16Sum(const COMPLEX16 *data, size_t first, size_t count)
INT2Sequence * XLALCopyINT2Sequence(INT2Sequence *sequence)
void XLALDestroyREAL4Sequence(REAL4Sequence *sequence)
INT2 XLALINT2Sum(const INT2 *data, size_t first, size_t count)
void XLALDestroyCOMPLEX16Sequence(COMPLEX16Sequence *sequence)
REAL4Sequence * XLALCopyREAL4Sequence(REAL4Sequence *sequence)
INT4Sequence * XLALShrinkINT4Sequence(INT4Sequence *sequence, size_t first, size_t length)
UINT8Sequence * XLALCopyUINT8Sequence(UINT8Sequence *sequence)
UINT2Sequence * XLALCutUINT2Sequence(UINT2Sequence *sequence, size_t first, size_t length)
UINT2Sequence * XLALResizeUINT2Sequence(UINT2Sequence *sequence, int first, size_t length)
COMPLEX8Sequence * XLALCreateCOMPLEX8Sequence(size_t length)
void XLALShiftINT4Sequence(INT4Sequence *sequence, int count)
INT4Sequence * XLALCreateINT4Sequence(size_t length)
REAL4 XLALCOMPLEX8SumSquares(const COMPLEX8 *data, size_t first, size_t count)
REAL8Sequence * XLALCopyREAL8Sequence(REAL8Sequence *sequence)
REAL8 XLALREAL8SequenceSumSquares(const REAL8Sequence *sequence, size_t first, size_t count)
REAL8 XLALCOMPLEX16SumSquares(const COMPLEX16 *data, size_t first, size_t count)
INT2Sequence * XLALCreateINT2Sequence(size_t length)
REAL8Sequence * XLALCreateREAL8Sequence(size_t length)
UINT2Sequence * XLALCreateUINT2Sequence(size_t length)
COMPLEX16Sequence * XLALConjugateCOMPLEX16Sequence(COMPLEX16Sequence *series)
UINT4Sequence * XLALCreateUINT4Sequence(size_t length)
UINT4 XLALINT4SequenceSumSquares(const INT4Sequence *sequence, size_t first, size_t count)
void XLALShiftCOMPLEX16Sequence(COMPLEX16Sequence *sequence, int count)
UINT2 XLALUINT2SequenceSumSquares(const UINT2Sequence *sequence, size_t first, size_t count)
COMPLEX8Sequence * XLALResizeCOMPLEX8Sequence(COMPLEX8Sequence *sequence, int first, size_t length)
void XLALShiftINT8Sequence(INT8Sequence *sequence, int count)
REAL8Sequence * XLALCutREAL8Sequence(REAL8Sequence *sequence, size_t first, size_t length)
UINT2 XLALUINT2SumSquares(const UINT2 *data, size_t first, size_t count)
UINT4 XLALUINT4SequenceSum(const UINT4Sequence *sequence, size_t first, size_t count)
void XLALShiftREAL4Sequence(REAL4Sequence *sequence, int count)
REAL8Sequence * XLALShrinkREAL8Sequence(REAL8Sequence *sequence, size_t first, size_t length)
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