CHANGELOG.md
# Changelog
## [v1.1.1] 2025-07-22
- **Code Refactoring**: Improved code organization and readability in the `AKSPrimalityTest` module
- Extracted complex logic from the main `of/1` function into three helper functions: `step1/1`, `step2/1`, and `step3/1`
- Separated concerns: perfect power test, order finding, and GCD verification into distinct functions
- Improved code maintainability while preserving the same algorithmic behavior
- Enhanced readability by flattening nested logic and improving control flow
- Updated version from 1.1.0 to 1.1.1 in mix.exs
## [v1.1.0] 2025-07-21
- **Performance Optimization**: Refactored the `product/4` function in `AKSPrimalityTest` module to use tuples instead of maps for better performance
- Replaced map-based coefficient storage with tuple-based storage
- Simplified the result processing by using `put_elem/3` and `elem/2` operations
- Removed unnecessary map-to-list conversion and sorting operations
- Updated version from 1.0.0 to 1.1.0 in mix.exs
## [v1.0.0] 2025-07-21
- **Initial Release**: Complete implementation of the AKS (Agrawal-Kayal-Saxena) primality test algorithm
- **Core Algorithm**: Pure Elixir implementation of the deterministic polynomial-time primality test
- **Perfect Power Detection**: Efficient detection of perfect powers using the `PerfectPower` module
- **GCD Calculations**: Fast GCD computations using the `LehmerGcd` module
- **Prime Factorization**: Support for prime factorization using the `PrimeFactorization` module
- **Type Safety**: Full type specifications for all functions with `@spec` annotations
- **Comprehensive Documentation**: Detailed mathematical documentation with KaTeX math rendering
- **Mathematical Foundation**: Implementation based on the original AKS paper with proper polynomial arithmetic
- **Deterministic Results**: Always provides correct answers (no probabilistic uncertainty)
- **Polynomial Time Complexity**: Runs in O((log n)¹²) time
- **Well-Tested**: Comprehensive test suite covering various edge cases and known primes/composites