EASENA 3.0.2
Major improvements in portability, performances and usability. This version also fix a lot of bugs.
Portability
- Creation of a CI pipeline to ensure Easea and all examples compile and run on Windows (latest msvc), Linux (latest gcc on Ubuntu) and MacOS (latest AppleClang version on MacOS).
- Rewritten CMakeLists.txt to install in standard paths while maintaining backward compatibility.
- Easena now generates a portable CMakeLists.txt along with the old deprecated Makefile.
- New Install chapter in the README to simplify installation for all users.
- New UDP layer based on Boost::asio.
Usability
- C++ Templates can now be used inside the genome.
- All types can be used inside the genome as long as the user provides a way to serialize them.
Performance
- New random generator using modern C++.
- Removed lot of slow deep copies in multi-objective and selection operators.
Fix
- Lot of wrong type casts have been fixed.
- There was a few memory leaks inside the compiler.
- Some includes were missing.
- At least 3 buffer overflow
- At least 2 null pointer referencing.
- Floating point selection pressure was not working anymore.
Patches
- Fixed CUDA's version of genetic programming not compiling anymore.
- Fixed statistics header in command line output.