Created by Scott Robert Ladd at Coyote Gulch Productions.
A toolkit and framework for implementing evolutionary algorithms. More...
Evocosm classes abstract the fundamental components of an evolutionary algorithm. Evolutionary algorithms come in a variety of shapes and flavors, but at their core, they all share certain characteristics: populations that reproduce and mutate through a series of generations, producing future generations based on some measure of fitness. An amazing variety of algorithms can be built on that general framework, which lead me to construct a set of core classes as the basis for future applications.
| string libevocosm::build_location_string | ( | const char * | filename, |
| long | line_no | ||
| ) | [inline] |
This function formats a string from a given file name and line number. If C++ incorporates parts of C99, this function could be extended to support the __func__ macro that names the current function.
| filename | The name of a file, usually the Standard C __FILE__ macro |
| line_no | A line number in the file, usually the Standard C __LINE__ macro |
| void libevocosm::enforce_index | ( | Type & | object, |
| const Type & | array_length | ||
| ) |
If object's value is greater than or equal to array_length, as per the >= operator, object will be set equal to array_length.
| object | Object to undergo enforcement |
| array_length | Length of array that object must address |
| void libevocosm::enforce_lower_limit | ( | Type & | object, |
| const Type & | low_value | ||
| ) |
If object's value is less than low_value, as per the < operator, object will be set equal to low_value.
| object | Object to undergo enforcement |
| low_value | Lower limit on the value of object |
| void libevocosm::enforce_range | ( | Type & | object, |
| const Type & | low_value, | ||
| const Type & | high_value | ||
| ) |
If object's value is less than low_value, as per the < operator, object will be set equal to low_value. If object's value is greater than high_value, as per the > operator, object will be set equal to high_value.
| object | Object to undergo enforcement |
| low_value | Lower limit on the value of object |
| high_value | Upper limit on the value of object |
| void libevocosm::enforce_upper_limit | ( | Type & | object, |
| const Type & | high_value | ||
| ) |
If object's value is greater than high_value, as per the > operator, object will be set equal to high_value.
| object | Object to undergo enforcement |
| high_value | Upper limit on the value of object |
| void libevocosm::validate_equals | ( | const Type & | object, |
| const Type & | constraint, | ||
| const string & | message = string() |
||
| ) |
If value is not equal to constraint, as defined by the appropriate == operator, this function throws a validation_error.
| object | Object to be tested against constraint |
| constraint | Expected value of object |
| message | Additional text to be included in a validation_error |
| void libevocosm::validate_greater | ( | const Type & | object, |
| const Type & | constraint, | ||
| const string & | message = string() |
||
| ) |
If value is less than or equal to constraint (using the <= operator), this function throws a validation_error.
| object | Object to be tested |
| constraint | Object must be > than this value |
| message | Additional text to be included in a validation_error |
| void libevocosm::validate_greater_eq | ( | const Type & | object, |
| const Type & | constraint, | ||
| const string & | message = string() |
||
| ) |
If value is less than or equal to constraint (using the <= operator), this function throws a validation_error.
| object | Object to be tested |
| constraint | Object must be > than this value |
| message | Additional text to be included in a validation_error |
| void libevocosm::validate_less | ( | const Type & | object, |
| const Type & | constraint, | ||
| const string & | message = string() |
||
| ) |
If value is greater than or equal to constraint (using the >= operator), this function throws a validation_error.
| object | Object to be tested |
| constraint | Object must be < than this value |
| message | Additional text to be included in a validation_error |
| void libevocosm::validate_less_eq | ( | const Type & | object, |
| const Type & | constraint, | ||
| const string & | message = string() |
||
| ) |
If value is greater than or equal to constraint (using the >= operator), this function throws a validation_error.
| object | Object to be tested |
| constraint | Object must be < than this value |
| message | Additional text to be included in a validation_error |
| void libevocosm::validate_not | ( | const Type & | object, |
| const Type & | constraint, | ||
| const string & | message = string() |
||
| ) |
If value equals the constraint, as defined by the appropriate == operator, this function throws a validation_error.
| object | Object to be tested against constraint |
| constraint | Value that object should not equal |
| message | Additional text to be included in a validation_error |
| void libevocosm::validate_range | ( | const Type & | object, |
| const Type & | low_bound, | ||
| const Type & | high_bound, | ||
| const string & | message = string() |
||
| ) |
If value is less than low_bound (using the < operator) or greater than high_bound (using the > operator), this function throws a validation_error. The function does not verify that low_bound is less than high_bound.
| object | Object to be tested |
| low_bound | Low boundary (inclusive) on value of object |
| high_bound | High boundary (inclusive) on value of object |
| message | Additional text to be included in a validation_error |
| void libevocosm::validate_with | ( | const Type & | object, |
| const Predicate & | constraint, | ||
| const string & | message = string() |
||
| ) |
If predicate(object) is false -- indicating an invalid object in the context defined by predicate -- this function throws a validation_error.
| object | Object to be tested against the predicate |
| constraint | A function or functor returning true for valid objects and false for an invalid object |
| message | Additional text to be included in a validation_error |
© 1996-2005 Scott Robert Ladd. All rights reserved.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.