tag:github.com,2008:https://github.com/deftio/fr_math/releases Release notes from fr_math 2025-08-25T02:06:36Z tag:github.com,2008:Repository/140536435/v1.0.3 2025-08-25T02:07:06Z FR_Math v1.0.3 <h1>FR_Math Release Notes</h1> <h2>Version 1.0.3 (2025)</h2> <h3>Test Coverage Improvements</h3> <ul> <li><strong>Increased overall test coverage from 4% to 72%</strong> <ul> <li>FR_math.c: 60% coverage</li> <li>FR_math_2D.cpp: 98% coverage</li> </ul> </li> <li>Added comprehensive test suite with multiple test files: <ul> <li><code>test_comprehensive.c</code> - Comprehensive tests for core math functions</li> <li><code>test_overflow_saturation.c</code> - Edge case and overflow behavior tests</li> <li><code>test_full_coverage.c</code> - Tests for previously uncovered functions</li> <li><code>test_2d_complete.cpp</code> - Complete 2D transformation matrix tests</li> </ul> </li> <li>Fixed test failures in 2D transformation tests (XFormPtI now correctly expects integer inputs)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>Fixed FR_atan function</strong> - Was incorrectly calling FR_atan2 with wrong arguments, now properly calls FR_atanI</li> <li><strong>Fixed constant declarations</strong> - Changed FR_PI, FR_2PI, FR_E from non-const to proper const declarations</li> <li><strong>Fixed XFormPtI test assumptions</strong> - Tests were incorrectly passing fixed-point values instead of integers</li> </ul> <h3>Build System Enhancements</h3> <ul> <li><strong>Added comprehensive Makefile targets</strong>: <ul> <li><code>make lib</code> - Build static library</li> <li><code>make test</code> - Run all tests</li> <li><code>make coverage</code> - Generate coverage reports with lcov</li> <li><code>make examples</code> - Build example programs</li> <li><code>make clean</code> - Clean build artifacts</li> </ul> </li> <li><strong>Added GitHub Actions CI/CD</strong>: <ul> <li>Multi-platform testing (Ubuntu, macOS)</li> <li>Multi-compiler support (gcc, clang)</li> <li>Cross-compilation testing (ARM, RISC-V)</li> <li>32-bit compatibility testing</li> <li>Automated coverage reporting to Codecov</li> <li>Overflow and saturation testing with sanitizers</li> </ul> </li> </ul> <h3>Documentation Improvements</h3> <ul> <li><strong>Cleaned up README.md</strong>: <ul> <li>Fixed grammar and spelling throughout</li> <li>Added "Building and Testing" section with clear instructions</li> <li>Improved formatting with consistent markdown usage</li> <li>Added supported platforms list</li> <li>Better code examples with syntax highlighting</li> <li>Clearer mathematical notation and explanations</li> </ul> </li> <li><strong>Added CLAUDE.md</strong> - Assistant-friendly documentation with: <ul> <li>Project structure overview</li> <li>Key concepts and math notation explained</li> <li>Testing and linting commands</li> <li>Common pitfalls and tips</li> </ul> </li> <li><strong>Added inline documentation</strong> for test files explaining coverage goals</li> </ul> <h3>Code Quality</h3> <ul> <li><strong>Removed unused/unimplemented functions</strong>: <ul> <li>Removed FR_atan declaration (was declared but never implemented)</li> <li>Cleaned up test code to remove references to non-existent functions</li> </ul> </li> <li><strong>Fixed compiler warnings</strong>: <ul> <li>Resolved deprecated C++ warnings</li> <li>Fixed format string warnings in tests</li> <li>Addressed unused variable warnings</li> </ul> </li> <li><strong>Improved code organization</strong>: <ul> <li>Better separation of test types</li> <li>Clearer test naming conventions</li> <li>More maintainable test structure</li> </ul> </li> </ul> <h3>Platform Support</h3> <ul> <li>Verified compilation and testing on: <ul> <li>x86/x64 (Linux, macOS)</li> <li>ARM (32-bit and 64-bit)</li> <li>RISC-V</li> <li>32-bit x86 targets</li> </ul> </li> <li>Added cross-compilation support in CI</li> </ul> <h3>Version Updates</h3> <ul> <li>Updated all source file headers to version 1.0.3</li> <li>Added version section to README.md</li> </ul> <h2>Previous Versions</h2> <h3>Version 1.02</h3> <ul> <li>Initial public release</li> <li>Basic fixed-point math operations</li> <li>2D transformation matrices</li> <li>Core trigonometric functions</li> </ul> <h3>Version 1.01</h3> <ul> <li>Internal development version</li> <li>Cleaned up naming conventions</li> <li>Initial test framework</li> </ul> <hr> <p><em>Note: FR_Math has been in development since 2000, originally used in embedded systems for Palm Pilots and later ARM cores. This is the first version with comprehensive testing and CI/CD integration.</em></p> deftio