The main changes of this release are:
- Made the library compile (mostly clean) with the Intel 10.1 compiler.
- Made the library compile cleanly with the old GNU g++ 3.4.6 .
- Made the package size produced by the GRandomFactory changeable at run-time.
- Allow for random numbers to be produced locally in each GRandom object, if desired.
This makes possible to assign many more parameters to an individual.
- Moved away from the Boost random number generator for local generation
mode due to its large memory requirements.
- Added possibility to compile the library/executables statically.
- Added Philipp Henkel's threadpool library to the Geneva distribution (with his
kind permission), in order to ease the compilation procedure.
- Added the CMake 2.6.4 FindBoost.cmake macro to the Geneva distribution in
order to ease the compilation procedure. There should be no need to upgrade
older 2.6.x CMake distributions, as their FindBoost.cmake seemed to have had
a problem.
- Removed the former GLogger framework. It was only used in a few places
and hasn't been updated for a while. When the Boost.Logging library will pass
its review, it will be used in Geneva instead.
- Added the ability to GParameterTColletionT to use a common adaptor for all of
its GParameterT objects. Note: Needs some more testing.
- GSeed will now first try to get an initial seed from /dev/urandom, if available,
and will then set the seed to a predefined value upon failure.
- Removed GRandom from GObject, providing individual GRandom objects only
for GAdaptorT and GIndividualSet. This results in a greatly reduced memory
consumption at very little expense to functionality.
- Made the network clients ask the server for a seed for their local random
number genrator, so we are sure that each client uses a different random
number sequence.
- Reworked test suite so that it now uses manual test registration rather than
automatic test cases. Needed in order to let the GRandomFactory tests be
performed in the beginning.
- Renamed the installed library to geneva-opt, so that it doesn't clash with
other, similarly named libraries on the system.
- Improved the check-pointing infrastructure (toFile/fromFile) in GObject.
- Added ability to GBasePopulation to checkpoint the nParents best individuals
in regular intervals.