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