OXIESEC PANEL
- Current Dir:
/
/
usr
/
lib
/
python3
/
dist-packages
/
numpy
/
core
/
tests
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
10/28/2024 08:45:52 AM
rwxr-xr-x
📁
__pycache__
-
10/28/2024 08:45:52 AM
rwxr-xr-x
📁
data
-
10/28/2024 08:45:52 AM
rwxr-xr-x
📄
test_abc.py
1.97 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_api.py
18.46 KB
09/17/2017 01:29:38 PM
rw-r--r--
📄
test_arrayprint.py
9.98 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_datetime.py
90.36 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_defchararray.py
25.16 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_deprecations.py
18.36 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_dtype.py
25.59 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_einsum.py
38.67 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_errstate.py
1.55 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_extint128.py
5.64 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_function_base.py
11.16 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_getlimits.py
4.5 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_half.py
18.21 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_indexerrors.py
4.82 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_indexing.py
46.84 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_item_selection.py
3.58 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_longdouble.py
5.83 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_machar.py
1014 bytes
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_mem_overlap.py
28.87 KB
09/17/2017 01:29:38 PM
rw-r--r--
📄
test_memmap.py
6.91 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_multiarray.py
254.69 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_nditer.py
105.75 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_numeric.py
98.49 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_numerictypes.py
14.27 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_print.py
7.9 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_records.py
15.27 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_regression.py
79.31 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_scalarinherit.py
771 bytes
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_scalarmath.py
24.45 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_scalarprint.py
917 bytes
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_shape_base.py
18.11 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_ufunc.py
53.7 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_umath.py
96.47 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_umath_complex.py
19.34 KB
09/29/2017 05:31:46 PM
rw-r--r--
📄
test_unicode.py
13.9 KB
09/29/2017 05:31:46 PM
rw-r--r--
Editing: test_extint128.py
Close
from __future__ import division, absolute_import, print_function import sys import itertools import contextlib import operator import numpy as np import numpy.core.multiarray_tests as mt from numpy.compat import long from numpy.testing import assert_raises, assert_equal, dec INT64_MAX = np.iinfo(np.int64).max INT64_MIN = np.iinfo(np.int64).min INT64_MID = 2**32 # int128 is not two's complement, the sign bit is separate INT128_MAX = 2**128 - 1 INT128_MIN = -INT128_MAX INT128_MID = 2**64 INT64_VALUES = ( [INT64_MIN + j for j in range(20)] + [INT64_MAX - j for j in range(20)] + [INT64_MID + j for j in range(-20, 20)] + [2*INT64_MID + j for j in range(-20, 20)] + [INT64_MID//2 + j for j in range(-20, 20)] + list(range(-70, 70)) ) INT128_VALUES = ( [INT128_MIN + j for j in range(20)] + [INT128_MAX - j for j in range(20)] + [INT128_MID + j for j in range(-20, 20)] + [2*INT128_MID + j for j in range(-20, 20)] + [INT128_MID//2 + j for j in range(-20, 20)] + list(range(-70, 70)) + [False] # negative zero ) INT64_POS_VALUES = [x for x in INT64_VALUES if x > 0] @contextlib.contextmanager def exc_iter(*args): """ Iterate over Cartesian product of *args, and if an exception is raised, add information of the current iterate. """ value = [None] def iterate(): for v in itertools.product(*args): value[0] = v yield v try: yield iterate() except: import traceback msg = "At: %r\n%s" % (repr(value[0]), traceback.format_exc()) raise AssertionError(msg) def test_safe_binop(): # Test checked arithmetic routines ops = [ (operator.add, 1), (operator.sub, 2), (operator.mul, 3) ] with exc_iter(ops, INT64_VALUES, INT64_VALUES) as it: for xop, a, b in it: pyop, op = xop c = pyop(a, b) if not (INT64_MIN <= c <= INT64_MAX): assert_raises(OverflowError, mt.extint_safe_binop, a, b, op) else: d = mt.extint_safe_binop(a, b, op) if c != d: # assert_equal is slow assert_equal(d, c) def test_to_128(): with exc_iter(INT64_VALUES) as it: for a, in it: b = mt.extint_to_128(a) if a != b: assert_equal(b, a) def test_to_64(): with exc_iter(INT128_VALUES) as it: for a, in it: if not (INT64_MIN <= a <= INT64_MAX): assert_raises(OverflowError, mt.extint_to_64, a) else: b = mt.extint_to_64(a) if a != b: assert_equal(b, a) def test_mul_64_64(): with exc_iter(INT64_VALUES, INT64_VALUES) as it: for a, b in it: c = a * b d = mt.extint_mul_64_64(a, b) if c != d: assert_equal(d, c) def test_add_128(): with exc_iter(INT128_VALUES, INT128_VALUES) as it: for a, b in it: c = a + b if not (INT128_MIN <= c <= INT128_MAX): assert_raises(OverflowError, mt.extint_add_128, a, b) else: d = mt.extint_add_128(a, b) if c != d: assert_equal(d, c) def test_sub_128(): with exc_iter(INT128_VALUES, INT128_VALUES) as it: for a, b in it: c = a - b if not (INT128_MIN <= c <= INT128_MAX): assert_raises(OverflowError, mt.extint_sub_128, a, b) else: d = mt.extint_sub_128(a, b) if c != d: assert_equal(d, c) def test_neg_128(): with exc_iter(INT128_VALUES) as it: for a, in it: b = -a c = mt.extint_neg_128(a) if b != c: assert_equal(c, b) def test_shl_128(): with exc_iter(INT128_VALUES) as it: for a, in it: if a < 0: b = -(((-a) << 1) & (2**128-1)) else: b = (a << 1) & (2**128-1) c = mt.extint_shl_128(a) if b != c: assert_equal(c, b) def test_shr_128(): with exc_iter(INT128_VALUES) as it: for a, in it: if a < 0: b = -((-a) >> 1) else: b = a >> 1 c = mt.extint_shr_128(a) if b != c: assert_equal(c, b) def test_gt_128(): with exc_iter(INT128_VALUES, INT128_VALUES) as it: for a, b in it: c = a > b d = mt.extint_gt_128(a, b) if c != d: assert_equal(d, c) @dec.slow def test_divmod_128_64(): with exc_iter(INT128_VALUES, INT64_POS_VALUES) as it: for a, b in it: if a >= 0: c, cr = divmod(a, b) else: c, cr = divmod(-a, b) c = -c cr = -cr d, dr = mt.extint_divmod_128_64(a, b) if c != d or d != dr or b*d + dr != a: assert_equal(d, c) assert_equal(dr, cr) assert_equal(b*d + dr, a) def test_floordiv_128_64(): with exc_iter(INT128_VALUES, INT64_POS_VALUES) as it: for a, b in it: c = a // b d = mt.extint_floordiv_128_64(a, b) if c != d: assert_equal(d, c) def test_ceildiv_128_64(): with exc_iter(INT128_VALUES, INT64_POS_VALUES) as it: for a, b in it: c = (a + b - 1) // b d = mt.extint_ceildiv_128_64(a, b) if c != d: assert_equal(d, c) if __name__ == "__main__": run_module_suite()