57 #include <lal/LALStdlib.h>
58 #include <lal/LALgetopt.h>
59 #include <lal/LALChisq.h>
74 fprintf(stderr,
" -h print this message\n");
75 fprintf(stderr,
" -q quiet: run silently\n");
76 fprintf(stderr,
" -v verbose: print extra information\n");
77 fprintf(stderr,
" -d level set lalDebugLevel to level\n");
106 fp = freopen(
"/dev/null",
"w", stderr);
109 fprintf(stderr,
"Error: Unable to open /dev/null\n");
112 fp = freopen(
"/dev/null",
"w", stdout);
115 fprintf(stderr,
"Error: Unable to open /dev/null\n");
141 #define CHECKOUTPUT(msg, expr, value, acc) do { \
142 double result = expr; \
143 if(fabs((result - value) / value) > acc) { \
144 fprintf(stderr, "%s: expected %.17g, got %.17g (fractional error is %g; upto %g allowed)\n", msg, value, result, fabs((result - value) / value), acc); \
146 } else if(verbose) { \
147 fprintf(stderr, "%s: expected %.17g, got %.17g (fractional error is %g; upto %g allowed)\n", msg, value, result, fabs((result - value) / value), acc); \
149 if(XLALGetBaseErrno()) { \
150 fprintf(stderr, "%s: returned error\n", msg); \
156 #define CHECKXLALLogChisqCCDF(chi2, dof, value, acc) do { \
158 sprintf(msg, "XLALLogChisqCCDF(%.17g, %.17g)", chi2, dof); \
159 CHECKOUTPUT(msg, XLALLogChisqCCDF(chi2, dof), value, acc); \
167 int main(
int argc,
char *argv[])
196 printf(
"PASS: all tests\n");
int LALgetopt(int argc, char *const *argv, const char *optstring)
int main(int argc, char *argv[])
static void Usage(const char *program, int exitcode)
#define CHECKXLALLogChisqCCDF(chi2, dof, value, acc)
static void ParseOptions(int argc, char *argv[])