Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.0.0] - 2025-07-21
Added
- Initial implementation of
PerfectPower.exponential_form?/1
function - Mathematical algorithm for detecting perfect powers
- Edge case handling for 0, 1, 2, and 3
- Type specifications for function parameters and return values
- Comprehensive documentation with mathematical background
- Project configuration with development tooling
- Apache 2.0 license
- Development dependencies for code quality and documentation
- Comprehensive test suite with 386 test cases
- Support for huge numbers (2^256, 2^512)
- Mathematical documentation and examples
- Performance optimizations for large numbers
Changed
- Enhanced module documentation with detailed mathematical background
- Improved README with comprehensive usage examples
- Added type specifications for better code clarity
Features
- Efficient perfect power detection using logarithmic bounds
- Support for all perfect powers: squares, cubes, and higher powers
- Mathematical optimization for large numbers
- Comprehensive test coverage including edge cases and large numbers
Technical Details
- Algorithm time complexity: O(log n) for most numbers
- Space complexity: O(1)
- Uses mathematical bounds to limit search space
- Handles numbers up to 2^512 and beyond efficiently