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 File Reference

Prototypes

Creation Functions

Synopsis

#include <lal/Sequence.h>
XLALCreate<sequencetype>()
LALCreate<sequencetype>()

Description

These functions create LAL sequences. The parameter length specifies the length of the desired sequence. The return value is a pointer to the newly created sequence or NULL on failure.

COMPLEX8SequenceXLALCreateCOMPLEX8Sequence (size_t length)
 
COMPLEX16SequenceXLALCreateCOMPLEX16Sequence (size_t length)
 
REAL4SequenceXLALCreateREAL4Sequence (size_t length)
 
REAL8SequenceXLALCreateREAL8Sequence (size_t length)
 
INT2SequenceXLALCreateINT2Sequence (size_t length)
 
INT4SequenceXLALCreateINT4Sequence (size_t length)
 
INT8SequenceXLALCreateINT8Sequence (size_t length)
 
UINT2SequenceXLALCreateUINT2Sequence (size_t length)
 
UINT4SequenceXLALCreateUINT4Sequence (size_t length)
 
UINT8SequenceXLALCreateUINT8Sequence (size_t length)
 
Destruction Functions

Synopsis

#include <lal/Sequence.h>
XLALDestroy<sequencetype>()

Description

These functions free all memory associated with a LAL sequence. It is safe to pass NULL to these functions.

void XLALDestroyCOMPLEX8Sequence (COMPLEX8Sequence *sequence)
 
void XLALDestroyCOMPLEX16Sequence (COMPLEX16Sequence *sequence)
 
void XLALDestroyREAL4Sequence (REAL4Sequence *sequence)
 
void XLALDestroyREAL8Sequence (REAL8Sequence *sequence)
 
void XLALDestroyINT2Sequence (INT2Sequence *sequence)
 
void XLALDestroyINT4Sequence (INT4Sequence *sequence)
 
void XLALDestroyINT8Sequence (INT8Sequence *sequence)
 
void XLALDestroyUINT2Sequence (UINT2Sequence *sequence)
 
void XLALDestroyUINT4Sequence (UINT4Sequence *sequence)
 
void XLALDestroyUINT8Sequence (UINT8Sequence *sequence)
 
Cutting Functions

Synopsis

#include <lal/Sequence.h>
XLALCut<sequencetype>()
XLALCopy<sequencetype>()

Description

These functions create a new sequence by extracting a section of an existing sequence.

COMPLEX8SequenceXLALCutCOMPLEX8Sequence (COMPLEX8Sequence *sequence, size_t first, size_t length)
 
COMPLEX16SequenceXLALCutCOMPLEX16Sequence (COMPLEX16Sequence *sequence, size_t first, size_t length)
 
REAL4SequenceXLALCutREAL4Sequence (REAL4Sequence *sequence, size_t first, size_t length)
 
REAL8SequenceXLALCutREAL8Sequence (REAL8Sequence *sequence, size_t first, size_t length)
 
INT2SequenceXLALCutINT2Sequence (INT2Sequence *sequence, size_t first, size_t length)
 
INT4SequenceXLALCutINT4Sequence (INT4Sequence *sequence, size_t first, size_t length)
 
INT8SequenceXLALCutINT8Sequence (INT8Sequence *sequence, size_t first, size_t length)
 
UINT2SequenceXLALCutUINT2Sequence (UINT2Sequence *sequence, size_t first, size_t length)
 
UINT4SequenceXLALCutUINT4Sequence (UINT4Sequence *sequence, size_t first, size_t length)
 
UINT8SequenceXLALCutUINT8Sequence (UINT8Sequence *sequence, size_t first, size_t length)
 
COMPLEX8SequenceXLALCopyCOMPLEX8Sequence (COMPLEX8Sequence *sequence)
 
COMPLEX16SequenceXLALCopyCOMPLEX16Sequence (COMPLEX16Sequence *sequence)
 
REAL4SequenceXLALCopyREAL4Sequence (REAL4Sequence *sequence)
 
REAL8SequenceXLALCopyREAL8Sequence (REAL8Sequence *sequence)
 
INT2SequenceXLALCopyINT2Sequence (INT2Sequence *sequence)
 
INT4SequenceXLALCopyINT4Sequence (INT4Sequence *sequence)
 
INT8SequenceXLALCopyINT8Sequence (INT8Sequence *sequence)
 
UINT2SequenceXLALCopyUINT2Sequence (UINT2Sequence *sequence)
 
UINT4SequenceXLALCopyUINT4Sequence (UINT4Sequence *sequence)
 
UINT8SequenceXLALCopyUINT8Sequence (UINT8Sequence *sequence)
 
Shifting Functions

Synopsis

#include <lal/Sequence.h>
XLALShift<sequencetype>()

Description

These functions shift the samples in a sequence, with zeros being placed in the space that is freed.

void XLALShiftCOMPLEX8Sequence (COMPLEX8Sequence *sequence, int count)
 
void XLALShiftCOMPLEX16Sequence (COMPLEX16Sequence *sequence, int count)
 
void XLALShiftREAL4Sequence (REAL4Sequence *sequence, int count)
 
void XLALShiftREAL8Sequence (REAL8Sequence *sequence, int count)
 
void XLALShiftINT2Sequence (INT2Sequence *sequence, int count)
 
void XLALShiftINT4Sequence (INT4Sequence *sequence, int count)
 
void XLALShiftINT8Sequence (INT8Sequence *sequence, int count)
 
void XLALShiftUINT2Sequence (UINT2Sequence *sequence, int count)
 
void XLALShiftUINT4Sequence (UINT4Sequence *sequence, int count)
 
void XLALShiftUINT8Sequence (UINT8Sequence *sequence, int count)
 
Resizing Functions

Synopsis

#include <lal/Sequence.h>
XLALResize<sequencetype>()
XLALShrink<sequencetype>()

Description

The resize functions alter the size of an existing sequence. The sequence is adjusted to have the specified length, and that part of the original sequence starting at sample first is used to fill the new sequence. If first is negative, then the start of the new sequence is padded by that many samples. If part of the new sequence does not correspond to some part of the original sequence, then those samples are set to 0.

The shrink functions, originally, could only handle the special case in which the new sequence is wholly contained in the original sequence. Now the shrink functions are wrappers for the resize functions and are only retained for backwards compatibility.

COMPLEX8SequenceXLALResizeCOMPLEX8Sequence (COMPLEX8Sequence *sequence, int first, size_t length)
 
COMPLEX16SequenceXLALResizeCOMPLEX16Sequence (COMPLEX16Sequence *sequence, int first, size_t length)
 
REAL4SequenceXLALResizeREAL4Sequence (REAL4Sequence *sequence, int first, size_t length)
 
REAL8SequenceXLALResizeREAL8Sequence (REAL8Sequence *sequence, int first, size_t length)
 
INT2SequenceXLALResizeINT2Sequence (INT2Sequence *sequence, int first, size_t length)
 
INT4SequenceXLALResizeINT4Sequence (INT4Sequence *sequence, int first, size_t length)
 
INT8SequenceXLALResizeINT8Sequence (INT8Sequence *sequence, int first, size_t length)
 
UINT2SequenceXLALResizeUINT2Sequence (UINT2Sequence *sequence, int first, size_t length)
 
UINT4SequenceXLALResizeUINT4Sequence (UINT4Sequence *sequence, int first, size_t length)
 
UINT8SequenceXLALResizeUINT8Sequence (UINT8Sequence *sequence, int first, size_t length)
 
COMPLEX8SequenceXLALShrinkCOMPLEX8Sequence (COMPLEX8Sequence *sequence, size_t first, size_t length)
 
COMPLEX16SequenceXLALShrinkCOMPLEX16Sequence (COMPLEX16Sequence *sequence, size_t first, size_t length)
 
REAL4SequenceXLALShrinkREAL4Sequence (REAL4Sequence *sequence, size_t first, size_t length)
 
REAL8SequenceXLALShrinkREAL8Sequence (REAL8Sequence *sequence, size_t first, size_t length)
 
INT2SequenceXLALShrinkINT2Sequence (INT2Sequence *sequence, size_t first, size_t length)
 
INT4SequenceXLALShrinkINT4Sequence (INT4Sequence *sequence, size_t first, size_t length)
 
INT8SequenceXLALShrinkINT8Sequence (INT8Sequence *sequence, size_t first, size_t length)
 
UINT2SequenceXLALShrinkUINT2Sequence (UINT2Sequence *sequence, size_t first, size_t length)
 
UINT4SequenceXLALShrinkUINT4Sequence (UINT4Sequence *sequence, size_t first, size_t length)
 
UINT8SequenceXLALShrinkUINT8Sequence (UINT8Sequence *sequence, size_t first, size_t length)
 
Summing Functions

Synopsis

#include <lal/Sequence.h>
XLAL<datatype>Sum()
XLAL<datatype>SumSquares()
XLAL<sequencetype>Sum>()
XLAL<sequencetype>SumSquares()

Description

The XLAL<datatype>Sum() and XLAL<datatype>SumSquares() functions sum the elements and squares of the elements, respectively, in an array.

The XLAL<sequencetype>Sum() and XLAL<sequencetype>SumSquares() functions sum the elements and the squares of the elements, respectively in a sequence. Bounds checking is performed.

In all cases, the return value is the sum, and these functions cannot fail. In the case of the sequence-related functions, if the sum extends beyond the bounds of the sequence, then the missing values are assumed to be 0.

Bugs

Because the LAL library must conform to the C89 specification, aggregate data types cannot be returned from functions so the COMPLEX8 and COMPLEX16 versions of the sum functions (not sum-of-squares functions) are commented out at this time.

COMPLEX8 XLALCOMPLEX8Sum (const COMPLEX8 *data, size_t first, size_t count)
 
REAL4 XLALCOMPLEX8SumSquares (const COMPLEX8 *data, size_t first, size_t count)
 
COMPLEX8 XLALCOMPLEX8SequenceSum (const COMPLEX8Sequence *sequence, size_t first, size_t count)
 
REAL4 XLALCOMPLEX8SequenceSumSquares (const COMPLEX8Sequence *sequence, size_t first, size_t count)
 
COMPLEX16 XLALCOMPLEX16Sum (const COMPLEX16 *data, size_t first, size_t count)
 
REAL8 XLALCOMPLEX16SumSquares (const COMPLEX16 *data, size_t first, size_t count)
 
COMPLEX16 XLALCOMPLEX16SequenceSum (const COMPLEX16Sequence *sequence, size_t first, size_t count)
 
REAL8 XLALCOMPLEX16SequenceSumSquares (const COMPLEX16Sequence *sequence, size_t first, size_t count)
 
REAL4 XLALREAL4Sum (const REAL4 *data, size_t first, size_t count)
 
REAL4 XLALREAL4SumSquares (const REAL4 *data, size_t first, size_t count)
 
REAL4 XLALREAL4SequenceSum (const REAL4Sequence *sequence, size_t first, size_t count)
 
REAL4 XLALREAL4SequenceSumSquares (const REAL4Sequence *sequence, size_t first, size_t count)
 
REAL8 XLALREAL8Sum (const REAL8 *data, size_t first, size_t count)
 
REAL8 XLALREAL8SumSquares (const REAL8 *data, size_t first, size_t count)
 
REAL8 XLALREAL8SequenceSum (const REAL8Sequence *sequence, size_t first, size_t count)
 
REAL8 XLALREAL8SequenceSumSquares (const REAL8Sequence *sequence, size_t first, size_t count)
 
INT2 XLALINT2Sum (const INT2 *data, size_t first, size_t count)
 
UINT2 XLALINT2SumSquares (const INT2 *data, size_t first, size_t count)
 
INT2 XLALINT2SequenceSum (const INT2Sequence *sequence, size_t first, size_t count)
 
UINT2 XLALINT2SequenceSumSquares (const INT2Sequence *sequence, size_t first, size_t count)
 
INT4 XLALINT4Sum (const INT4 *data, size_t first, size_t count)
 
UINT4 XLALINT4SumSquares (const INT4 *data, size_t first, size_t count)
 
INT4 XLALINT4SequenceSum (const INT4Sequence *sequence, size_t first, size_t count)
 
UINT4 XLALINT4SequenceSumSquares (const INT4Sequence *sequence, size_t first, size_t count)
 
INT8 XLALINT8Sum (const INT8 *data, size_t first, size_t count)
 
UINT8 XLALINT8SumSquares (const INT8 *data, size_t first, size_t count)
 
INT8 XLALINT8SequenceSum (const INT8Sequence *sequence, size_t first, size_t count)
 
UINT8 XLALINT8SequenceSumSquares (const INT8Sequence *sequence, size_t first, size_t count)
 
UINT2 XLALUINT2Sum (const UINT2 *data, size_t first, size_t count)
 
UINT2 XLALUINT2SumSquares (const UINT2 *data, size_t first, size_t count)
 
UINT2 XLALUINT2SequenceSum (const UINT2Sequence *sequence, size_t first, size_t count)
 
UINT2 XLALUINT2SequenceSumSquares (const UINT2Sequence *sequence, size_t first, size_t count)
 
UINT4 XLALUINT4Sum (const UINT4 *data, size_t first, size_t count)
 
UINT4 XLALUINT4SumSquares (const UINT4 *data, size_t first, size_t count)
 
UINT4 XLALUINT4SequenceSum (const UINT4Sequence *sequence, size_t first, size_t count)
 
UINT4 XLALUINT4SequenceSumSquares (const UINT4Sequence *sequence, size_t first, size_t count)
 
UINT8 XLALUINT8Sum (const UINT8 *data, size_t first, size_t count)
 
UINT8 XLALUINT8SumSquares (const UINT8 *data, size_t first, size_t count)
 
UINT8 XLALUINT8SequenceSum (const UINT8Sequence *sequence, size_t first, size_t count)
 
UINT8 XLALUINT8SequenceSumSquares (const UINT8Sequence *sequence, size_t first, size_t count)
 
Conjugate Functions

Synopsis

#include <lal/Sequence.h>
XLAL<datatype>Conjugate()

Description

These functions replace a sequence with its complex conjugate.

COMPLEX8SequenceXLALConjugateCOMPLEX8Sequence (COMPLEX8Sequence *series)
 
COMPLEX16SequenceXLALConjugateCOMPLEX16Sequence (COMPLEX16Sequence *series)
 

Go to the source code of this file.