55 #include <lal/LALStdlib.h>
56 #include <lal/LALConstants.h>
57 #include <lal/AVFactories.h>
58 #include <lal/VectorOps.h>
59 #include <lal/LALgetopt.h>
60 #include <lal/LALString.h>
63 #define CODES(x) CODES_(x)
74 TestStatus(
LALStatus *
status,
const char *expectedCodes,
int exitCode );
77 main (
int argc,
char *argv[] )
96 TestStatus( &
status, CODES(0), 1 );
98 TestStatus( &
status, CODES(0), 1 );
100 TestStatus( &
status, CODES(0), 1 );
102 TestStatus( &
status, CODES(0), 1 );
104 TestStatus( &
status, CODES(0), 1 );
106 TestStatus( &
status, CODES(0), 1 );
108 TestStatus( &
status, CODES(0), 1 );
116 for (i = 0; i < size; ++i)
119 z1->
data[i] += I * (2 + i*i);
120 z2->
data[i] = 3 + i + i*i*i;
121 z2->
data[i] += I * (4 + i*i + i*i*i);
122 x1->
data[i] = 5 + i + i*i;
123 x2->
data[i] = 6 + i + i*i + i*i*i;
128 TestStatus( &
status, CODES(0), 1 );
129 for (i = 0; i < size; ++i)
130 if (
verbose) printf(
"(% 6.0f,% 6.0f) x (% 6.0f,% 6.0f) = (% 6.0f,% 6.0f)\n",
131 crealf(z1->
data[i]), cimagf(z1->
data[i]),
132 crealf(z2->
data[i]), cimagf(z2->
data[i]),
133 crealf(z3->
data[i]), cimagf(z3->
data[i]));
137 TestStatus( &
status, CODES(0), 1 );
138 for (i = 0; i < size; ++i)
139 if (
verbose) printf(
"(% 6.0f,% 6.0f) x (% 6.0f,% 6.0f)* = (% 6.0f,% 6.0f)\n",
140 crealf(z1->
data[i]), cimagf(z1->
data[i]),
141 crealf(z2->
data[i]), cimagf(z2->
data[i]),
142 crealf(z3->
data[i]), cimagf(z3->
data[i]));
146 TestStatus( &
status, CODES(0), 1 );
147 for (i = 0; i < size; ++i)
148 if (
verbose) printf(
"(% 6.0f,% 6.0f) / (% 6.0f,% 6.0f) = (% 9.6f,% 9.6f)\n",
149 crealf(z1->
data[i]), cimagf(z1->
data[i]),
150 crealf(z2->
data[i]), cimagf(z2->
data[i]),
151 crealf(z3->
data[i]), cimagf(z3->
data[i]));
155 TestStatus( &
status, CODES(0), 1 );
156 for (i = 0; i < size; ++i)
157 if (
verbose) printf(
"% 6.0f x (% 6.0f,% 6.0f) = (% 6.0f,% 6.0f)\n",
159 crealf(z1->
data[i]), cimagf(z1->
data[i]),
160 crealf(z3->
data[i]), cimagf(z3->
data[i]));
164 TestStatus( &
status, CODES(0), 1 );
165 for (i = 0; i < size; ++i)
166 if (
verbose) printf(
"% 6.0f x % 6.0f = % 6.0f\n",
180 TestStatus( &
status, CODES(0), 1 );
182 TestStatus( &
status, CODES(0), 1 );
184 TestStatus( &
status, CODES(0), 1 );
186 TestStatus( &
status, CODES(0), 1 );
188 TestStatus( &
status, CODES(0), 1 );
190 TestStatus( &
status, CODES(0), 1 );
192 TestStatus( &
status, CODES(0), 1 );
197 x1 = x2 = x3 = y_1 = y2 = y3 = NULL;
202 TestStatus( &
status, CODES(0), 1 );
205 TestStatus( &
status, CODES(0), 1 );
207 TestStatus( &
status, CODES(0), 1 );
209 TestStatus( &
status, CODES(0), 1 );
212 for (i = 0; i < size; ++i)
215 z1->
data[i] += I * (12.0 + i )*sin(
LAL_PI/3.0*i);
220 TestStatus( &
status, CODES(0), 1 );
221 for (i = 0; i < size; ++i)
222 if (
verbose) printf(
" Abs(% f,%f) = %f \n",
223 crealf(z1->
data[i]), cimagf(z1->
data[i]),
227 TestStatus( &
status, CODES(0), 1 );
228 for (i = 0; i < size; ++i)
229 if (
verbose) printf(
" Angle(%f,%f) = %f \n",
230 crealf(z1->
data[i]), cimagf(z1->
data[i]),
234 TestStatus( &
status, CODES(0), 1 );
235 for (i = 0; i < size; ++i)
236 if (
verbose) printf(
" Unwrap Phase Angle ( %f ) = %f \n",
242 TestStatus( &
status, CODES(0), 1 );
292 TestStatus( &
status, CODES(0), 1 );
295 TestStatus( &
status, CODES(0), 1 );
297 TestStatus( &
status, CODES(0), 1 );
299 TestStatus( &
status, CODES(0), 1 );
302 TestStatus( &
status, CODES(0), 1 );
333 if ( ( tok = strtok( str,
" " ) ) )
337 if (
status->statusCode == atoi( tok ) )
342 while ( ( tok = strtok( NULL,
" " ) ) );
346 if (
status->statusCode == atoi( str ) )
353 fprintf( stderr,
"\nExiting to system with code %d\n", exitcode );
367 fprintf( stderr,
"Options:\n" );
368 fprintf( stderr,
" -h print this message\n" );
369 fprintf( stderr,
" -q quiet: run silently\n" );
370 fprintf( stderr,
" -v verbose: print extra information\n" );
371 fprintf( stderr,
" -d level set lalDebugLevel to level\n" );
406 fp = freopen(
"/dev/null",
"w", stderr );
409 fprintf(stderr,
"Error: Unable to open /dev/null\n");
412 fp = freopen(
"/dev/null",
"w", stdout );
415 fprintf(stderr,
"Error: Unable to open /dev/null\n");
void REPORTSTATUS(LALStatus *status)
void LALCheckMemoryLeaks(void)
int LALgetopt(int argc, char *const *argv, const char *optstring)
static void Usage(const char *program, int exitcode)
static void ParseOptions(int argc, char *argv[])
int main(int argc, char *argv[])
#define LAL_PI
Archimedes's constant, pi.
int32_t INT4
Four-byte signed integer.
float REAL4
Single precision real floating-point number (4 bytes).
size_t XLALStringCopy(char *dst, const char *src, size_t size)
Copy sources string src to destination string dst.
void LALCCreateVector(LALStatus *, COMPLEX8Vector **, UINT4)
void LALCDestroyVector(LALStatus *, COMPLEX8Vector **)
void LALSDestroyVector(LALStatus *, REAL4Vector **)
void LALSCreateVector(LALStatus *, REAL4Vector **, UINT4)
void LALCCVectorDivide(LALStatus *status, COMPLEX8Vector *out, const COMPLEX8Vector *in1, const COMPLEX8Vector *in2)
UNDOCUMENTED.
void LALSSVectorMultiply(LALStatus *status, REAL4Vector *out, const REAL4Vector *in1, const REAL4Vector *in2)
UNDOCUMENTED.
void LALSCVectorMultiply(LALStatus *status, COMPLEX8Vector *out, const REAL4Vector *in1, const COMPLEX8Vector *in2)
UNDOCUMENTED.
void LALCCVectorMultiplyConjugate(LALStatus *status, COMPLEX8Vector *out, const COMPLEX8Vector *in1, const COMPLEX8Vector *in2)
UNDOCUMENTED.
void LALCCVectorMultiply(LALStatus *status, COMPLEX8Vector *out, const COMPLEX8Vector *in1, const COMPLEX8Vector *in2)
UNDOCUMENTED.
#define VECTOROPSH_ESIZE
Invalid input size.
#define VECTOROPSH_ENULL
Null pointer.
#define VECTOROPSH_ESZMM
Size mismatch.
#define VECTOROPSH_ESAME
Input/Output data vectors are the same.
void LALCVectorAngle(LALStatus *, REAL4Vector *, const COMPLEX8Vector *)
UNDOCUMENTED.
void LALCVectorAbs(LALStatus *, REAL4Vector *, const COMPLEX8Vector *)
UNDOCUMENTED.
void LALUnwrapREAL4Angle(LALStatus *, REAL4Vector *, const REAL4Vector *)
UNDOCUMENTED.
Vector of type COMPLEX8, see DATATYPE-Vector types for more details.
COMPLEX8 * data
Pointer to the data array.
LAL status structure, see The LALStatus structure for more details.
Vector of type REAL4, see DATATYPE-Vector types for more details.
REAL4 * data
Pointer to the data array.
UINT4 length
Number of elements in array.