tag:github.com,2008:https://github.com/deftio/fr_math/releasesRelease notes from fr_math2025-08-25T02:06:36Ztag:github.com,2008:Repository/140536435/v1.0.32025-08-25T02:07:06ZFR_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