%description: merging two cStdDev objects %global: void print(cStdDev& s) { EV << s.getName() << " n=" << s.getCount() << " w=" << s.getSumWeights() << " S=" << s.getSum() << " SS=" << s.getSqrSum() << " min=" << s.getMin() << " max=" << s.getMax() << " mean=" << s.getMean() << " stddev=" << s.getStddev() << " var=" << s.getVariance() << endl; } void collect(cModule *mod, int na, int nb) { cStdDev a("a"); cStdDev b("b"); cStdDev s("ref"); for (int i=0; idblrand()+8; s.collect(d); a.collect(d); } for (int i=0; idblrand()*10; s.collect(d); b.collect(d); } print(a); print(b); a.merge(&b); a.setName("a+b"); print(a); print(s); EV << "---\n"; } %activity: collect(this,10,20); // corner cases collect(this,0,0); collect(this,0,1); collect(this,0,5); collect(this,1,0); collect(this,5,0); %subst: /-?1\.#INF/inf/ %subst: /-?1\.#IND/nan/ %subst: /-?1\.#QNAN/nan/ %subst: /-?NaN/nan/ %subst: /-?\-nan/nan/ %contains: stdout a n=10 w=10 S=113.006 SS=1282.08 min=10.1183 max=12.2897 mean=11.3006 stddev=0.748762 var=0.560645 b n=20 w=20 S=105.55 SS=696.974 min=0.56713 max=9.63663 mean=5.27751 stddev=2.71383 var=7.36487 a+b n=30 w=30 S=218.556 SS=1979.05 min=0.56713 max=12.2897 mean=7.2852 stddev=3.65225 var=13.3389 ref n=30 w=30 S=218.556 SS=1979.05 min=0.56713 max=12.2897 mean=7.2852 stddev=3.65225 var=13.3389 --- a n=0 w=0 S=0 SS=0 min=nan max=nan mean=nan stddev=nan var=nan b n=0 w=0 S=0 SS=0 min=nan max=nan mean=nan stddev=nan var=nan a+b n=0 w=0 S=0 SS=0 min=nan max=nan mean=nan stddev=nan var=nan ref n=0 w=0 S=0 SS=0 min=nan max=nan mean=nan stddev=nan var=nan --- a n=0 w=0 S=0 SS=0 min=nan max=nan mean=nan stddev=nan var=nan b n=1 w=1 S=0.871293 SS=0.759151 min=0.871293 max=0.871293 mean=0.871293 stddev=nan var=nan a+b n=1 w=1 S=0.871293 SS=0.759151 min=0.871293 max=0.871293 mean=0.871293 stddev=nan var=nan ref n=1 w=1 S=0.871293 SS=0.759151 min=0.871293 max=0.871293 mean=0.871293 stddev=nan var=nan --- a n=0 w=0 S=0 SS=0 min=nan max=nan mean=nan stddev=nan var=nan b n=5 w=5 S=28.2641 SS=216.554 min=0.202184 max=9.57155 mean=5.65281 stddev=3.76771 var=14.1956 a+b n=5 w=5 S=28.2641 SS=216.554 min=0.202184 max=9.57155 mean=5.65281 stddev=3.76771 var=14.1956 ref n=5 w=5 S=28.2641 SS=216.554 min=0.202184 max=9.57155 mean=5.65281 stddev=3.76771 var=14.1956 --- a n=1 w=1 S=11.8908 SS=141.391 min=11.8908 max=11.8908 mean=11.8908 stddev=nan var=nan b n=0 w=0 S=0 SS=0 min=nan max=nan mean=nan stddev=nan var=nan a+b n=1 w=1 S=11.8908 SS=141.391 min=11.8908 max=11.8908 mean=11.8908 stddev=nan var=nan ref n=1 w=1 S=11.8908 SS=141.391 min=11.8908 max=11.8908 mean=11.8908 stddev=nan var=nan --- a n=5 w=5 S=56.6634 SS=654.506 min=8.70175 max=12.8931 mean=11.3327 stddev=1.7577 var=3.08952 b n=0 w=0 S=0 SS=0 min=nan max=nan mean=nan stddev=nan var=nan a+b n=5 w=5 S=56.6634 SS=654.506 min=8.70175 max=12.8931 mean=11.3327 stddev=1.7577 var=3.08952 ref n=5 w=5 S=56.6634 SS=654.506 min=8.70175 max=12.8931 mean=11.3327 stddev=1.7577 var=3.08952 ---