Modified the comments so that all callses are documented by Doxygen
(a comment starting with // before the class definition is not taken into account) Also updated the initial overall comment - and waouw, doxygen generates links there, too! Cool.
This commit is contained in:
parent
bf0e84fc56
commit
9dbb516d8b
1 changed files with 28 additions and 19 deletions
|
|
@ -46,22 +46,25 @@ Basic class is eoRealBounds, a pure virtual.
|
||||||
The following pure virtual methods are to be used in mutations:
|
The following pure virtual methods are to be used in mutations:
|
||||||
- void foldsInBounds(double &) that folds any value that falls out of
|
- void foldsInBounds(double &) that folds any value that falls out of
|
||||||
the bounds back into the bounds, by bouncing on the limit (if any)
|
the bounds back into the bounds, by bouncing on the limit (if any)
|
||||||
- bool isInBounds(double &) that simply says whether or not the argument
|
- bool isInBounds(double) that simply says whether or not the argument
|
||||||
is in the bounds
|
is in the bounds
|
||||||
|
- void truncate(double &) that set the argument to the bound value it
|
||||||
|
it exceeds it
|
||||||
|
|
||||||
So mutation can choose whetehr they want to iterate trying until
|
So mutation can choose
|
||||||
they fall in bounds, or only try once and "repair" by using
|
- iterate trying until they fall in bounds,
|
||||||
the foldsInBounds method
|
- only try once and "repair" by using the foldsInBounds method
|
||||||
|
- only try once and repair using the truncate method (will create a
|
||||||
|
huge bias toward the bound if the soluiton is not far from the bounds)
|
||||||
|
|
||||||
There is also a uniform() method that generates a uniform value
|
There is also a uniform() method that generates a uniform value
|
||||||
(if possible, i.e. if bounded) in the interval.
|
(if possible, i.e. if bounded) in the interval.
|
||||||
|
|
||||||
Derived class are
|
Derived class are
|
||||||
eoRealInterval, that holds a minimum and maximum value,
|
eoRealInterval that holds a minimum and maximum value,
|
||||||
eoRealNoBounds, that implements the "unbounded bounds"
|
eoRealNoBounds the "unbounded bounds" (-infinity, +infinity)
|
||||||
|
eoRealBelowBound the half-bounded interval [min, +infinity)
|
||||||
TODO: the eoRealMinBound and eoRealMaxBound that implement
|
eoRealAboveBound the half-bounded interval (-infinity, max]
|
||||||
the half-bounded intervals.
|
|
||||||
|
|
||||||
Vector type:
|
Vector type:
|
||||||
------------
|
------------
|
||||||
|
|
@ -69,6 +72,12 @@ Class eoRealVectorBounds implements the vectorized version:
|
||||||
it is basically a vector of eoRealBounds * and forwards all request
|
it is basically a vector of eoRealBounds * and forwards all request
|
||||||
to the elements of the vector.
|
to the elements of the vector.
|
||||||
|
|
||||||
|
This file also contains te 2 global variables eoDummyRealNoBounds and
|
||||||
|
eoDummyVectorNoBounds that are used as defaults in ctors (i.e. when no
|
||||||
|
bounds are given, it is assumed unbounded values)
|
||||||
|
|
||||||
|
TODO: have an eoRealBounds.cpp with the longuish parts of the code
|
||||||
|
(and the 2 global variables).
|
||||||
*/
|
*/
|
||||||
class eoRealBounds
|
class eoRealBounds
|
||||||
{
|
{
|
||||||
|
|
@ -157,9 +166,9 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////
|
/**
|
||||||
// fully bounded == interval
|
* fully bounded eoRealBound == interval
|
||||||
/////////////////////////////////////////////////////////////
|
*/
|
||||||
class eoRealInterval : public eoRealBounds
|
class eoRealInterval : public eoRealBounds
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
|
|
@ -246,9 +255,9 @@ private :
|
||||||
double repRange; // to minimize operations ???
|
double repRange; // to minimize operations ???
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////
|
/**
|
||||||
// bounded from below
|
* an eoRealBound bounded from below only
|
||||||
/////////////////////////////////////////////////////////////
|
*/
|
||||||
class eoRealBelowBound : public eoRealBounds
|
class eoRealBelowBound : public eoRealBounds
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
|
|
@ -312,9 +321,9 @@ private :
|
||||||
double repMinimum;
|
double repMinimum;
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////
|
/**
|
||||||
// bounded from above
|
An eoRealBound bounded from above only
|
||||||
/////////////////////////////////////////////////////////////
|
*/
|
||||||
class eoRealAboveBound : public eoRealBounds
|
class eoRealAboveBound : public eoRealBounds
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
|
|
@ -381,7 +390,7 @@ private :
|
||||||
};
|
};
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
// Vectorized versions
|
// The Vectorized versions
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Reference in a new issue