Repository navigation
1.6
Full Changelog: 1.5.3...1.6
Release Notes: ellalgo-cpp v1.6
Overview
This release includes performance improvements, expanded unit test coverage, build system fixes, and documentation updates. The changes enhance the stability, portability, and correctness of the Ellipsoid Algorithm implementation for linear programming.
π New Features & Improvements
- Performance tuning: Fine-tuned the core ellipsoid calculation algorithms for better efficiency.
- Enhanced unit tests: Added comprehensive tests for edge cases, including handling of
omega == 0.0. - Code formatting: Applied consistent formatting across the codebase using
clang-format. - Documentation: Added
GEMINI.mdwith build instructions and project overview.
π Build System Updates
- CMake policy enforcement: Added
-DCMAKE_POLICY_VERSION_MINIMUM=3.5to ensure compatibility across platforms. - Windows build fixes: Resolved Windows-specific build issues.
- macOS support: Fixed macOS build configurations.
- Xmake support: Updated
xmake.luawith improved flags and include paths.
β Testing
- Reactivated tests: Uncommented and restored multiple test cases in
test_calc.cpp. - New test cases: Added tests for parallel cuts, bias cuts, and central cuts.
- Matrix tests: Enhanced matrix operation tests with explicit value checks.
π§ Code Refactoring
noexceptspecifiers: Addednoexceptto move and copy constructors and calculation methods for better optimization.- Parameter passing: Changed function parameters from
const double&todoublefor primitive types where appropriate. - Code clarity: Improved variable naming and intermediate value computation.
π Documentation
- New
GEMINT.md: Includes:- Project overview
- Build instructions for both CMake and Xmake
- Development conventions (coding style, testing, CI)
π Bug Fixes
- Parallel cut logic: Fixed conditional checks in
calc_parallel_bias_cut. - Matrix row and diagonal access: Corrected assertions in matrix unit tests.
- LDLT factorization: Added a new test case for 5x5 symmetric positive definite matrices.
π¦ Dependencies
- Continued use of
CPM.cmakefor dependency management. - Main dependencies:
fmtanddoctest.
π Continuous Integration
- GitHub Actions workflows updated for better cross-platform support (Windows, macOS, Linux).
Contributors
- luk036 (all commits)
Full Change Summary
- 6 commits
- 20 files changed
- 1,372 additions and 1,127 deletions
For detailed code changes, refer to the full diff between tags 1.5.3 and 1.6.