5#include "tpcclibConfig.h"
35 int verbose=0;
if(status!=NULL) verbose=status->
verbose;
36 if(verbose>1) printf(
"%s()\n", __func__);
39 if(d1==NULL || d2==NULL) {
47 if(ret>0 && verbose>0) {
77 int verbose=0;
if(status!=NULL) verbose=status->
verbose;
78 if(verbose>1) printf(
"%s()\n", __func__);
81 if(d1==NULL || d2==NULL || d1->
tacNr<1 || d2->
tacNr<1) {
94 if(verbose>0) printf(
"different TAC nr.\n");
100 for(
int ri=0; ri<d1->
tacNr; ri++)
if(i<0 || i==ri) {
101 if(strcmp(d1->
c[ri].
name, d2->
c[ri].
name)!=0) {
103 printf(
"tac1.c[%d].name := '%s'\n", ri, d1->
c[ri].
name);
104 printf(
"tac2.c[%d].name := '%s'\n", ri, d2->
c[ri].
name);
130 const double test_abs,
134 const double test_rel,
138 int verbose=0;
if(status!=NULL) verbose=status->
verbose;
139 if(verbose>1) printf(
"%s()\n", __func__);
142 if(d1==NULL || d2==NULL || d1->
tacNr<1 || d2->
tacNr<1
156 if(verbose>0) printf(
"different TAC nr.\n");
163 if(verbose>0) printf(
"different sample nr.\n");
169 for(
int ri=0; ri<d1->
tacNr; ri++)
if(i<0 || i==ri) {
170 for(
int fi=0; fi<d1->
sampleNr; fi++) {
178 s=fabs(d1->
c[ri].
y[fi]-d2->
c[ri].
y[fi]);
179 printf(
"tac1.c[%d].y[%d] := %g\n", ri, fi, d1->
c[ri].
y[fi]);
180 printf(
"tac2.c[%d].y[%d] := %g\n", ri, fi, d2->
c[ri].
y[fi]);
181 printf(
"|diff| := %g\n", s);
182 printf(
"diff_limit := %g\n", test_abs);
183 if(test_rel>0.0) printf(
"rel_diff_limit := %g\n", test_rel);
207 const double test_abs,
211 const double test_rel,
215 int verbose=0;
if(status!=NULL) verbose=status->
verbose;
216 if(verbose>1) printf(
"%s()\n", __func__);
227 if(verbose>0) printf(
"different sampling type.\n");
234 if(verbose>0) printf(
"different sample nr.\n");
240 for(
int fi=0; fi<d1->
sampleNr; fi++) {
248 s=fabs(d1->
x[fi]-d2->
x[fi]);
249 printf(
"tac1.x[%d] := %g\n", fi, d1->
x[fi]);
250 printf(
"tac2.x[%d] := %g\n", fi, d2->
x[fi]);
251 printf(
"|diff| := %g\n", s);
252 printf(
"diff_limit := %g\n", test_abs);
253 if(test_rel>0.0) printf(
"rel_diff_limit := %g\n", test_rel);
265 printf(
"tac1.x1[%d] := %g\n", fi, d1->
x1[fi]);
266 printf(
"tac2.x1[%d] := %g\n", fi, d2->
x1[fi]);
267 printf(
"|diff| := %g\n", fabs(d1->
x1[fi]-d2->
x1[fi]));
268 printf(
"tac1.x2[%d] := %g\n", fi, d1->
x2[fi]);
269 printf(
"tac2.x2[%d] := %g\n", fi, d2->
x2[fi]);
270 printf(
"|diff| := %g\n", fabs(d1->
x2[fi]-d2->
x2[fi]));
271 printf(
"diff_limit := %g\n", test_abs);
272 if(test_rel>0.0) printf(
"rel_diff_limit := %g\n", test_rel);
295 const double test_abs,
299 const double test_rel,
303 int verbose=0;
if(status!=NULL) verbose=status->
verbose;
304 if(verbose>1) printf(
"%s()\n", __func__);
315 if(verbose>0) printf(
"different weighting setting.\n");
326 if(verbose>0) printf(
"different sample nr.\n");
332 for(
int fi=0; fi<d1->
sampleNr; fi++) {
334 if(test_rel>0.0 &&
doubleMatchRel(d1->
w[fi], d2->
w[fi], test_rel)==1)
continue;
337 s=fabs(d1->
w[fi]-d2->
w[fi]);
338 printf(
"tac1.w[%d] := %g\n", fi, d1->
w[fi]);
339 printf(
"tac2.w[%d] := %g\n", fi, d2->
w[fi]);
340 printf(
"|diff| := %g\n", s);
341 printf(
"diff_limit := %g\n", test_abs);
342 if(test_rel>0.0) printf(
"rel_diff_limit := %g\n", test_rel);
int doubleMatch(const double v1, const double v2, const double lim)
int doubleMatchRel(const double v1, const double v2, const double lim)
void statusSet(TPCSTATUS *s, const char *func, const char *srcfile, int srcline, tpcerror error)
char name[MAX_TACNAME_LEN+1]
int verbose
Verbose level, used by statusPrint() etc.
int tacCompareWeights(TAC *d1, TAC *d2, const double test_abs, const double test_rel, TPCSTATUS *status)
int tacCompareNames(TAC *d1, TAC *d2, const int i, TPCSTATUS *status)
int tacCompareTimes(TAC *d1, TAC *d2, const double test_abs, const double test_rel, TPCSTATUS *status)
int tacCompareConc(TAC *d1, TAC *d2, const int i, const double test_abs, const double test_rel, TPCSTATUS *status)
int tacCompareUnit(TAC *d1, TAC *d2, TPCSTATUS *status)
@ WEIGHTING_OFF
Not weighted or weights not available (weights for all included samples are 1.0).
@ WEIGHTING_UNKNOWN
Not known; usually assumed that not weighted.
@ TPCERROR_FAIL
General error.
@ TPCERROR_NO_DATA
File contains no data.
char * unitName(int unit_code)
Header file for library libtpcift.
Header file for library libtpctac.