diff --git a/pub/lib/manip.cpp b/pub/lib/manip.cpp index d626e0dac87233dd0404fc80039ebde2022c749a..54590697b4eaa63e3d36cc5c14e5bee53f1892d3 100644 --- a/pub/lib/manip.cpp +++ b/pub/lib/manip.cpp @@ -535,7 +535,7 @@ void NManip::slices_rebin() vm_src += SQR(fd->VS(jj)->dy[i]); vm_grp += SQR(fd->VS(jj)->y[i]-ym); } - double vm = vm_src/mj; + double vm = vm_src/mj/mj; if( mj>1 ) vm += vm_grp / (mj-1); sout->dy[i] = sqrt(vm); diff --git a/pub/lib/slice.cpp b/pub/lib/slice.cpp index 43ea5dd6914318b972e4d879324c718d8b409637..26838f703931771bea4153cac1a95af73488762b 100644 --- a/pub/lib/slice.cpp +++ b/pub/lib/slice.cpp @@ -176,12 +176,12 @@ void CSpec::intpol( const vector<double>& xx, vector<double>* yy, vector<double> } scales_differ: - /* + /* if( strict && ( xx[0]<x[0] || xx[nn-1]>x[n-1] ) ) throw "interpolation to "+S(xx[0])+" .. "+S(xx[nn-1])+ " required, while available data only cover "+S(x[0])+" .. "+S(x[n-1]); */ - + for( int ii=0; ii<nn; ++ii ) { (*yy)[ii] = 0; if(dd) @@ -306,7 +306,7 @@ PSpec CSpec::binned( const vector<int>& breaks ) const vg_src += SQR( dy[i] ); vg_grp += SQR( y[i]-yg ); } - double vg = vg_src/ng; + double vg = vg_src/ng/ng; if( ng>1 ) vg += vg_grp / (ng-1); sout->push_xyd(xg, yg, sqrt(vg) );