LAL  7.5.0.1-b72065a
PrintVector.h
Go to the documentation of this file.
1 /*
2 * Copyright (C) 2007 Jolien Creighton, John Whelan
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 _PRINTVECTOR_H
21 #define _PRINTVECTOR_H
22 
23 #ifndef _LALSTDLIB_H
24 #include <lal/LALStdlib.h>
25 #ifndef _LALSTDLIB_H
26 #define _LALSTDLIB_H
27 #endif
28 #endif
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 
35 /**
36  * \defgroup PrintVector_h Header PrintVector.h
37  * \ingroup lal_support
38  * \author Allen, B.; generalized by J. T. Whelan <jtwhelan@loyno.edu>
39  *
40  * \brief This is a simple utility to print vectors into a file.
41  *
42  * ### Synopsis ###
43  *
44  * \code
45  * #include <lal/PrintVector.h>
46  * \endcode
47  *
48  * Contains the prototypes for the LAL <tt><datatype>PrintVector</tt> functions
49  *
50  * ### Description ###
51  *
52  * Each member of this family of functions prints the elements of
53  * \f$\langle\mbox{datatype}\rangle\f$\c Vector into a file. Note: the
54  * file names are <tt><datatype>PrintVector.000</tt>,
55  * <tt><datatype>PrintVector.001</tt>, and so on.
56  * (<tt><datatype></tt> is the abbreviation for the datatype,
57  * included in the function names above.) The file numbers are
58  * incremented with each additional call. This function is for debugging
59  * use only: it uses a static internal variable to keep track of the file
60  * number so it should not be used in any real analysis codes.
61  *
62  * ### Notes ###
63  *
64  * This function uses an internal static variable to keep track of file
65  * numbers. For this reason it should only be used for debugging
66  * purposes in test functions, not in any production code.
67  *
68  * Additionally, since printf cannot handle INT8 as integers, the
69  * functions <tt>LALI8PrintVector()</tt> and <tt>LALU8PrintVector()</tt> use
70  * a typecast to REAL8 and are thus only valid for numbers between around
71  * \f$-10^{15}\f$ and \f$10^{15}\f$.
72  *
73  * The output format is two or three space-separated columns: the first
74  * column is the index of the element; the second is the element itself
75  * for real and integer vectors and the real part of the element for
76  * complex vectors; complex vectors have a third column containing the
77  * imaginary part of the element.
78  *
79  */
80 /** @{ */
82 void LALI2PrintVector( INT2Vector *vector );
83 void LALI4PrintVector( INT4Vector *vector );
84 void LALI8PrintVector( INT8Vector *vector );
85 void LALU2PrintVector( UINT2Vector *vector );
86 void LALU4PrintVector( UINT4Vector *vector );
87 void LALU8PrintVector( UINT8Vector *vector );
88 void LALPrintVector( REAL4Vector *vector );
89 void LALSPrintVector( REAL4Vector *vector );
90 void LALDPrintVector( REAL8Vector *vector );
93 
94 /** @} */
95 
96 #ifdef __cplusplus
97 }
98 #endif
99 
100 #endif /* _PRINTVECTOR_H */
void LALU2PrintVector(UINT2Vector *vector)
void LALU8PrintVector(UINT8Vector *vector)
void LALDPrintVector(REAL8Vector *vector)
void LALI4PrintVector(INT4Vector *vector)
void LALCHARPrintVector(CHARVector *vector)
void LALI8PrintVector(INT8Vector *vector)
void LALCPrintVector(COMPLEX8Vector *vector)
void LALI2PrintVector(INT2Vector *vector)
void LALSPrintVector(REAL4Vector *vector)
void LALU4PrintVector(UINT4Vector *vector)
void LALPrintVector(REAL4Vector *vector)
void LALZPrintVector(COMPLEX16Vector *vector)
Vector of type CHAR, see DATATYPE-Vector types for more details.
Definition: LALDatatypes.h:73
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