summaryrefslogtreecommitdiffstats
path: root/Modules/_decimal/tests/bignum.py
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/_decimal/tests/bignum.py')
-rw-r--r--Modules/_decimal/tests/bignum.py42
1 files changed, 0 insertions, 42 deletions
diff --git a/Modules/_decimal/tests/bignum.py b/Modules/_decimal/tests/bignum.py
deleted file mode 100644
index a67e161..0000000
--- a/Modules/_decimal/tests/bignum.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# These tests require gmpy and test the limits of the 32-bit build. The
-# limits of the 64-bit build are so large that they cannot be tested
-# on accessible hardware.
-#
-
-import sys
-from decimal import *
-from gmpy import mpz
-
-
-_PyHASH_MODULUS = sys.hash_info.modulus
-# hash values to use for positive and negative infinities, and nans
-_PyHASH_INF = sys.hash_info.inf
-_PyHASH_NAN = sys.hash_info.nan
-
-# _PyHASH_10INV is the inverse of 10 modulo the prime _PyHASH_MODULUS
-_PyHASH_10INV = pow(10, _PyHASH_MODULUS - 2, _PyHASH_MODULUS)
-
-def xhash(coeff, exp):
- sign = 1
- if coeff < 0:
- sign = -1
- coeff = -coeff
- if exp >= 0:
- exp_hash = pow(10, exp, _PyHASH_MODULUS)
- else:
- exp_hash = pow(_PyHASH_10INV, -exp, _PyHASH_MODULUS)
- hash_ = coeff * exp_hash % _PyHASH_MODULUS
- ans = hash_ if sign == 1 else -hash_
- return -2 if ans == -1 else ans
-
-
-x = mpz(10) ** 425000000 - 1
-coeff = int(x)
-
-d = Decimal('9' * 425000000 + 'e-849999999')
-
-h1 = xhash(coeff, -849999999)
-h2 = hash(d)
-
-assert h2 == h1