indent
This commit is contained in:
parent
54224807f5
commit
90e67e46d2
3 changed files with 40 additions and 40 deletions
|
|
@ -42,57 +42,57 @@ public:
|
||||||
class Variance
|
class Variance
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Variance() : _sumvar(0){}
|
Variance() : _sumvar(0){}
|
||||||
|
|
||||||
void update(AtomType v)
|
void update(AtomType v)
|
||||||
{
|
{
|
||||||
_n++;
|
_n++;
|
||||||
|
|
||||||
AtomType d = v - _mean;
|
AtomType d = v - _mean;
|
||||||
|
|
||||||
_mean += 1 / _n * d;
|
_mean += 1 / _n * d;
|
||||||
_sumvar += (_n - 1) / _n * d * d;
|
_sumvar += (_n - 1) / _n * d * d;
|
||||||
}
|
}
|
||||||
|
|
||||||
AtomType get_mean() const {return _mean;}
|
AtomType get_mean() const {return _mean;}
|
||||||
AtomType get_var() const {return _sumvar / (_n - 1);}
|
AtomType get_var() const {return _sumvar / (_n - 1);}
|
||||||
AtomType get_std() const {return sqrt( get_var() );}
|
AtomType get_std() const {return sqrt( get_var() );}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
AtomType _n;
|
AtomType _n;
|
||||||
AtomType _mean;
|
AtomType _mean;
|
||||||
AtomType _sumvar;
|
AtomType _sumvar;
|
||||||
};
|
};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
edoNormalMono< EOT > operator()(eoPop<EOT>& pop)
|
edoNormalMono< EOT > operator()(eoPop<EOT>& pop)
|
||||||
{
|
{
|
||||||
unsigned int popsize = pop.size();
|
unsigned int popsize = pop.size();
|
||||||
assert(popsize > 0);
|
assert(popsize > 0);
|
||||||
|
|
||||||
unsigned int dimsize = pop[0].size();
|
unsigned int dimsize = pop[0].size();
|
||||||
assert(dimsize > 0);
|
assert(dimsize > 0);
|
||||||
|
|
||||||
std::vector< Variance > var( dimsize );
|
std::vector< Variance > var( dimsize );
|
||||||
|
|
||||||
for (unsigned int i = 0; i < popsize; ++i)
|
for (unsigned int i = 0; i < popsize; ++i)
|
||||||
{
|
{
|
||||||
for (unsigned int d = 0; d < dimsize; ++d)
|
for (unsigned int d = 0; d < dimsize; ++d)
|
||||||
{
|
{
|
||||||
var[d].update( pop[i][d] );
|
var[d].update( pop[i][d] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
EOT mean( dimsize );
|
EOT mean( dimsize );
|
||||||
EOT variance( dimsize );
|
EOT variance( dimsize );
|
||||||
|
|
||||||
for (unsigned int d = 0; d < dimsize; ++d)
|
for (unsigned int d = 0; d < dimsize; ++d)
|
||||||
{
|
{
|
||||||
mean[d] = var[d].get_mean();
|
mean[d] = var[d].get_mean();
|
||||||
variance[d] = var[d].get_var();
|
variance[d] = var[d].get_var();
|
||||||
}
|
}
|
||||||
|
|
||||||
return edoNormalMono< EOT >( mean, variance );
|
return edoNormalMono< EOT >( mean, variance );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ class edoUniform : public edoDistrib< EOT >, public edoVectorBounds< EOT >
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
edoUniform(EOT min, EOT max)
|
edoUniform(EOT min, EOT max)
|
||||||
: edoVectorBounds< EOT >(min, max)
|
: edoVectorBounds< EOT >(min, max)
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,10 +35,10 @@ class edoVectorBounds
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
edoVectorBounds(EOT min, EOT max)
|
edoVectorBounds(EOT min, EOT max)
|
||||||
: _min(min), _max(max)
|
: _min(min), _max(max)
|
||||||
{
|
{
|
||||||
assert(_min.size() > 0);
|
assert(_min.size() > 0);
|
||||||
assert(_min.size() == _max.size());
|
assert(_min.size() == _max.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
EOT min(){return _min;}
|
EOT min(){return _min;}
|
||||||
|
|
@ -46,8 +46,8 @@ public:
|
||||||
|
|
||||||
unsigned int size()
|
unsigned int size()
|
||||||
{
|
{
|
||||||
assert(_min.size() == _max.size());
|
assert(_min.size() == _max.size());
|
||||||
return _min.size();
|
return _min.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
||||||
Reference in a new issue