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.
Source Distribution
File details
Details for the file isqrt-0.9.2.0.tar.gz.
File metadata
- Download URL: isqrt-0.9.2.0.tar.gz
- Upload date:
- Size: 2.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9cb4b55027efca4613e923f6e6b905be1a1f4719ef8e53cb395566021df4f61
|
|
| MD5 |
12370c96312bb8ec884be23d99c8ec7d
|
|
| BLAKE2b-256 |
b82d7eaabee57402656463ade4a0ebc9613f97da6430ab5186902ef052f75f13
|