Merge pull request #3608 from ethereum/mkalinin-patch-6

Introduce UINT64_MAX_SQRT
This commit is contained in:
Hsiao-Wei Wang
2024-02-19 15:47:39 +08:00
committed by GitHub

View File

@@ -179,6 +179,7 @@ The following values are (non-configurable) constants used throughout the specif
| Name | Value |
| - | - |
| `UINT64_MAX` | `uint64(2**64 - 1)` |
| `UINT64_MAX_SQRT` | `uint64(4294967295)` |
| `GENESIS_SLOT` | `Slot(0)` |
| `GENESIS_EPOCH` | `Epoch(0)` |
| `FAR_FUTURE_EPOCH` | `Epoch(2**64 - 1)` |
@@ -601,7 +602,7 @@ def integer_squareroot(n: uint64) -> uint64:
Return the largest integer ``x`` such that ``x**2 <= n``.
"""
if n == UINT64_MAX:
return uint64(4294967295)
return UINT64_MAX_SQRT
x = n
y = (x + 1) // 2
while y < x: