Efficient native Python implementation of the integer square root function.
Project description
Efficient Python implementation of the integer square root function.
Purpose
Given an arbitrarily large non-negative integer n
, finds the largest integer r
such that r**2 <= n
and (r+1)**2 > n
. The running time is linear time in the bit length of the integer.
Package Installation and Usage
The package is available on PyPI:
python -m pip install isqrt
The library can be imported in the usual way:
from isqrt import isqrt
Acknowledgments
The initial version of this function was posted on Stack Overflow. A more efficient version was implemented by Alexander Gosselin here. The implementation in this package is adapted almost directly from these previous implementations.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.