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
VectorOps.h
Go to the documentation of this file.
1/*
2* Copyright (C) 2007 Jolien Creighton
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
20#ifndef _VECTOROPS_H
21#define _VECTOROPS_H
22
23#include <lal/LALDatatypes.h>
24
25#if defined(__cplusplus)
26extern "C" {
27#elif 0
28} /* so that editors will match preceding brace */
29#endif
30
31/**
32 * \defgroup VectorOps_h Header VectorOps.h
33 * \ingroup lal_vectorops
34 * \author J. D. E. Creighton, T. D. Creighton, A. M. Sintes
35 *
36 * \brief Basic vector manipulation operations.
37 *
38 * ### Synopsis ###
39 *
40 * \code
41 * #include <lal/VectorOps.h>
42 * \endcode
43 *
44 * @{
45 * \defgroup VectorMultiply_c Module VectorMultiply.c
46 * \defgroup VectorPolar_c Module VectorPolar.c
47 */
48
49/** \name Error Codes */
50/** @{ */
51#define VECTOROPSH_ENULL 1 /**< Null pointer */
52#define VECTOROPSH_ESIZE 2 /**< Invalid input size */
53#define VECTOROPSH_ESZMM 4 /**< Size mismatch */
54#define VECTOROPSH_ESAME 8 /**< Input/Output data vectors are the same */
55/** @} */
56/** @} */
57
58#define VECTOROPSH_MSGENULL "Null pointer"
59#define VECTOROPSH_MSGESIZE "Invalid input size"
60#define VECTOROPSH_MSGESZMM "Size mismatch"
61#define VECTOROPSH_MSGESAME "Input/Output data vectors are the same"
62
63/* ---------- Function prototypes ---------- */
64
65/*
66 *
67 * XLAL Routines.
68 *
69 */
70
71/* sigle precision */
77
81
82
83/* double precision */
89
93
94/*
95 *
96 * LAL Routines.
97 *
98 */
99
100void
102 LALStatus *,
104 const COMPLEX8Vector *,
105 const COMPLEX8Vector *
106 );
107
108void
110 LALStatus *,
112 const COMPLEX8Vector *,
113 const COMPLEX8Vector *
114 );
115
116void
118 LALStatus *,
120 const COMPLEX8Vector *,
121 const COMPLEX8Vector *
122 );
123
124void
126 LALStatus *,
127 REAL4Vector *,
128 const COMPLEX8Vector *
129 );
130
131void
133 LALStatus *,
134 REAL4Vector *,
135 const COMPLEX8Vector *
136 );
137
138void
140 LALStatus *,
141 REAL4Vector *,
142 const REAL4Vector *
143 );
144
145void
147 LALStatus *,
149 const COMPLEX16Vector *,
150 const COMPLEX16Vector *
151 );
152
153void
155 LALStatus *,
157 const COMPLEX16Vector *,
158 const COMPLEX16Vector *
159 );
160
161void
163 LALStatus *,
165 const COMPLEX16Vector *,
166 const COMPLEX16Vector *
167 );
168
169void
171 LALStatus *,
172 REAL8Vector *,
173 const COMPLEX16Vector *
174 );
175
176void
178 LALStatus *,
179 REAL8Vector *,
180 const COMPLEX16Vector *
181 );
182
183void
185 LALStatus *,
186 REAL8Vector *,
187 const REAL8Vector *
188 );
189
190void
192 LALStatus *,
194 const REAL4Vector *,
195 const COMPLEX8Vector *
196 );
197
198void
200 LALStatus *,
201 REAL4Vector *,
202 const REAL4Vector *,
203 const REAL4Vector *
204 );
205
206void
208 LALStatus *,
210 const REAL8Vector *,
211 const COMPLEX16Vector *
212 );
213
214void
216 LALStatus *,
217 REAL8Vector *,
218 const REAL8Vector *,
219 const REAL8Vector *
220 );
221
222
223#if 0
224{ /* so that editors will match succeeding brace */
225#elif defined(__cplusplus)
226}
227#endif
228
229#endif /* _VECTOROPS_H */
void LALZZVectorMultiply(LALStatus *, COMPLEX16Vector *, const COMPLEX16Vector *, const COMPLEX16Vector *)
void LALCCVectorDivide(LALStatus *, COMPLEX8Vector *, const COMPLEX8Vector *, const COMPLEX8Vector *)
UNDOCUMENTED.
void LALDZVectorMultiply(LALStatus *, COMPLEX16Vector *, const REAL8Vector *, const COMPLEX16Vector *)
COMPLEX8Vector * XLALSCVectorMultiply(COMPLEX8Vector *out, const REAL4Vector *in1, const COMPLEX8Vector *in2)
void LALZZVectorDivide(LALStatus *, COMPLEX16Vector *, const COMPLEX16Vector *, const COMPLEX16Vector *)
REAL8Vector * XLALDDVectorMultiply(REAL8Vector *out, const REAL8Vector *in1, const REAL8Vector *in2)
COMPLEX16Vector * XLALZZVectorDivide(COMPLEX16Vector *out, const COMPLEX16Vector *in1, const COMPLEX16Vector *in2)
void LALSSVectorMultiply(LALStatus *, REAL4Vector *, const REAL4Vector *, const REAL4Vector *)
UNDOCUMENTED.
COMPLEX8Vector * XLALCCVectorMultiply(COMPLEX8Vector *out, const COMPLEX8Vector *in1, const COMPLEX8Vector *in2)
void LALSCVectorMultiply(LALStatus *, COMPLEX8Vector *, const REAL4Vector *, const COMPLEX8Vector *)
UNDOCUMENTED.
void LALCCVectorMultiplyConjugate(LALStatus *, COMPLEX8Vector *, const COMPLEX8Vector *, const COMPLEX8Vector *)
UNDOCUMENTED.
COMPLEX16Vector * XLALZZVectorMultiplyConjugate(COMPLEX16Vector *out, const COMPLEX16Vector *in1, const COMPLEX16Vector *in2)
REAL4Vector * XLALSSVectorMultiply(REAL4Vector *out, const REAL4Vector *in1, const REAL4Vector *in2)
COMPLEX8Vector * XLALCCVectorDivide(COMPLEX8Vector *out, const COMPLEX8Vector *in1, const COMPLEX8Vector *in2)
COMPLEX16Vector * XLALDZVectorMultiply(COMPLEX16Vector *out, const REAL8Vector *in1, const COMPLEX16Vector *in2)
void LALZZVectorMultiplyConjugate(LALStatus *, COMPLEX16Vector *, const COMPLEX16Vector *, const COMPLEX16Vector *)
void LALCCVectorMultiply(LALStatus *, COMPLEX8Vector *, const COMPLEX8Vector *, const COMPLEX8Vector *)
UNDOCUMENTED.
COMPLEX16Vector * XLALZZVectorMultiply(COMPLEX16Vector *out, const COMPLEX16Vector *in1, const COMPLEX16Vector *in2)
COMPLEX8Vector * XLALCCVectorMultiplyConjugate(COMPLEX8Vector *out, const COMPLEX8Vector *in1, const COMPLEX8Vector *in2)
void LALDDVectorMultiply(LALStatus *, REAL8Vector *, const REAL8Vector *, const REAL8Vector *)
int XLALREAL8VectorUnwrapAngle(REAL8Vector *out, const REAL8Vector *in)
corrects the radian phase angles of a real vector by adding multiples of pi when the absolute jumps b...
Definition: VectorPolar.c:186
void LALCVectorAngle(LALStatus *, REAL4Vector *, const COMPLEX8Vector *)
UNDOCUMENTED.
Definition: VectorPolar.c:274
int XLALCOMPLEX16VectorArg(REAL8Vector *out, const COMPLEX16Vector *in)
computes the arguments of a vector of complex numbers
Definition: VectorPolar.c:138
void LALZVectorAngle(LALStatus *, REAL8Vector *, const COMPLEX16Vector *)
UNDOCUMENTED.
Definition: VectorPolar.c:305
int XLALCOMPLEX8VectorArg(REAL4Vector *out, const COMPLEX8Vector *in)
computes the arguments of a vector of complex numbers
Definition: VectorPolar.c:123
void LALUnwrapREAL8Angle(LALStatus *, REAL8Vector *, const REAL8Vector *)
UNDOCUMENTED.
Definition: VectorPolar.c:368
void LALZVectorAbs(LALStatus *, REAL8Vector *, const COMPLEX16Vector *)
UNDOCUMENTED.
Definition: VectorPolar.c:243
int XLALREAL4VectorUnwrapAngle(REAL4Vector *out, const REAL4Vector *in)
corrects the radian phase angles of a real vector by adding multiples of pi when the absolute jumps b...
Definition: VectorPolar.c:158
int XLALCOMPLEX16VectorAbs(REAL8Vector *out, const COMPLEX16Vector *in)
computes the magnitudes of a vector of complex numbers
Definition: VectorPolar.c:107
int XLALCOMPLEX8VectorAbs(REAL4Vector *out, const COMPLEX8Vector *in)
computes the magnitudes of a vector of complex numbers
Definition: VectorPolar.c:92
void LALCVectorAbs(LALStatus *, REAL4Vector *, const COMPLEX8Vector *)
UNDOCUMENTED.
Definition: VectorPolar.c:212
void LALUnwrapREAL4Angle(LALStatus *, REAL4Vector *, const REAL4Vector *)
UNDOCUMENTED.
Definition: VectorPolar.c:335
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
LAL status structure, see The LALStatus structure for more details.
Definition: LALDatatypes.h:947
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