verify that pop is not empty before attempting to compute the IQR

This commit is contained in:
Johann Dreo 2010-11-15 09:13:39 +01:00
commit fb8a8d79fd

View file

@ -38,7 +38,7 @@ Contact: http://eodev.sourceforge.net
#include <utils/eoParam.h> #include <utils/eoParam.h>
#include <eoPop.h> #include <eoPop.h>
#include <utils/eoMonitor.h> #include <utils/eoMonitor.h>
#include <utils/eoCheckPoint.h> //#include <utils/eoCheckPoint.h>
/** @defgroup Stats Statistics computation /** @defgroup Stats Statistics computation
* *
@ -435,6 +435,10 @@ public:
virtual void operator()( const eoPop<EOT> & _pop ) virtual void operator()( const eoPop<EOT> & _pop )
{ {
if( _pop.size() == 0 ) {
// how to implement value() = 0 ?
} else {
eoPop<EOT> pop = _pop; eoPop<EOT> pop = _pop;
unsigned int quartile = pop.size()/4; unsigned int quartile = pop.size()/4;
@ -446,6 +450,7 @@ public:
value() = Q1 - Q3; value() = Q1 - Q3;
} }
}
virtual std::string className(void) const { return "eoInterquartileRangeStat"; } virtual std::string className(void) const { return "eoInterquartileRangeStat"; }
}; };