This is an automated email from the git hooks/post-receive script. sebastic-guest pushed a commit to branch upstream-master in repository pktools.
commit 3d78193d2900fe4613449e1231c54d6b86fb88f2 Author: Default Seadas User <seadas-user@localhost> Date: Tue Feb 25 17:30:35 2014 +0100 error in hist in StatFactory --- src/algorithms/StatFactory.h | 2 +- src/apps/pkstatascii.cc | 56 +------------------------------------------- 2 files changed, 2 insertions(+), 56 deletions(-) diff --git a/src/algorithms/StatFactory.h b/src/algorithms/StatFactory.h index e59b192..b8e3e3d 100644 --- a/src/algorithms/StatFactory.h +++ b/src/algorithms/StatFactory.h @@ -619,7 +619,7 @@ template<class T> void StatFactory::distribution(const std::vector<T>& input, t if(*it==maximum) theBin=nbin-1; else if(*it>minimum && *it<maximum) - theBin=static_cast<int>(static_cast<double>((nbin-1)*(*it)-minimum)/(maximum-minimum)); + theBin=static_cast<int>(static_cast<double>((nbin-1)*(*it-minimum)/(maximum-minimum))); ++output[theBin]; // if(*it==maximum) // ++output[nbin-1]; diff --git a/src/apps/pkstatascii.cc b/src/apps/pkstatascii.cc index 787607e..fd9c832 100644 --- a/src/apps/pkstatascii.cc +++ b/src/apps/pkstatascii.cc @@ -201,6 +201,7 @@ int main(int argc, char *argv[]) cout << "min value column " << col_opt[icol] << ": " << stat.min(dataVector[icol]) << endl; if(max_opt[0]) cout << "max value column " << col_opt[icol] << ": " << stat.max(dataVector[icol]) << endl; + if(histogram_opt[0]){ //todo: support kernel density function and estimate sigma as in practical estimate of the bandwith in http://en.wikipedia.org/wiki/Kernel_density_estimation double sigma=0; @@ -217,62 +218,8 @@ int main(int argc, char *argv[]) else std::cout << "calculating histogram for col " << icol << std::endl; } - //test - // cout << "debug0" << endl; - // cout << "dataVector.size(): " << dataVector.size() << endl; - // cout << "statVector.size(): " << statVector.size() << endl; - - // double theMinValue=0; - // double theMaxValue=0; - - // stat.minmax(dataVector[icol],dataVector[icol].begin(),dataVector[icol].end(),theMinValue,theMaxValue); - // if(minValue<maxValue&&minValue>theMinValue) - // theMinValue=minValue; - // if(minValue<maxValue&&maxValue<theMaxValue) - // theMaxValue=maxValue; - - // //todo: check... - // minValue=theMinValue; - // maxValue=theMaxValue; - - // if(maxValue<=minValue){ - // std::ostringstream s; - // s<<"Error: could not calculate distribution (min>=max)"; - // throw(s.str()); - // } - // assert(nbin); - // assert(dataVector[icol].size()); - // if(statVector[icol].size()!=nbin){ - // statVector[icol].resize(nbin); - // for(int i=0;i<nbin;statVector[icol][i++]=0); - // } - // typename std::vector<double>::const_iterator it; - // for(it=dataVector[icol].begin();it!=dataVector[icol].end();++it){ - // if(*it<minValue) - // continue; - // if(*it>maxValue) - // continue; - // if(stat.isNoData(*it)) - // continue; - // int theBin=0; - // if(*it==maxValue) - // theBin=nbin-1; - // else if(*it>minValue && *it<maxValue) - // theBin=static_cast<int>(static_cast<double>((nbin-1)*(*it)-minValue)/(maxValue-minValue)); - // assert(theBin<statVector[icol].size()); - // ++statVector[icol][theBin]; - // // if(*it==maxValue) - // // ++statVector[icol][nbin-1]; - // // else if(*it>=minValue && *it<maxValue) - // // ++statVector[icol][static_cast<int>(static_cast<double>((*it)-minValue)/(maxValue-minValue)*nbin)]; - // } - // exit(0); - //end test - stat.distribution(dataVector[icol],dataVector[icol].begin(),dataVector[icol].end(),statVector[icol],nbin,minValue,maxValue,sigma); - //test - cout << "debug1" << endl; if(verbose_opt[0]) std::cout << "min and max values: " << minValue << ", " << maxValue << std::endl; } @@ -300,7 +247,6 @@ int main(int argc, char *argv[]) else binValue=minValue+static_cast<double>(maxValue-minValue)*(irow+0.5)/nbin; std::cout << binValue << " "; - // std::cout << minValue+static_cast<double>(maxValue-minValue)*(irow+0.5)/nbin << " "; for(int icol=0;icol<col_opt.size();++icol){ if(relative_opt[0]) std::cout << 100.0*static_cast<double>(statVector[icol][irow])/static_cast<double>(dataVector[icol].size()); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/pktools.git _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel