Current Path: > > opt > cloudlinux > venv > lib > > python3.11 > site-packages > numpy > core > tests
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
__pycache__ | Directory | - | - | |
data | Directory | - | - | |
examples | Directory | - | - | |
__init__.py | File | 0 bytes | April 17 2025 13:10:58. | |
_locales.py | File | 2206 bytes | April 17 2025 13:10:58. | |
test__exceptions.py | File | 2846 bytes | April 17 2025 13:10:58. | |
test_abc.py | File | 2220 bytes | April 17 2025 13:10:58. | |
test_api.py | File | 22995 bytes | April 17 2025 13:10:58. | |
test_argparse.py | File | 1969 bytes | April 17 2025 13:10:58. | |
test_array_coercion.py | File | 34379 bytes | April 17 2025 13:10:58. | |
test_array_interface.py | File | 7596 bytes | April 17 2025 13:10:58. | |
test_arraymethod.py | File | 3244 bytes | April 17 2025 13:10:58. | |
test_arrayprint.py | File | 40462 bytes | April 17 2025 13:10:58. | |
test_casting_floatingpoint_errors.py | File | 5063 bytes | April 17 2025 13:10:58. | |
test_casting_unittests.py | File | 34298 bytes | April 17 2025 13:10:58. | |
test_conversion_utils.py | File | 6559 bytes | April 17 2025 13:10:58. | |
test_cpu_dispatcher.py | File | 1521 bytes | April 17 2025 13:10:58. | |
test_cpu_features.py | File | 14858 bytes | April 17 2025 13:10:58. | |
test_custom_dtypes.py | File | 9401 bytes | April 17 2025 13:10:58. | |
test_cython.py | File | 3623 bytes | April 17 2025 13:10:58. | |
test_datetime.py | File | 116211 bytes | April 17 2025 13:10:58. | |
test_defchararray.py | File | 24997 bytes | April 17 2025 13:10:58. | |
test_deprecations.py | File | 31076 bytes | April 17 2025 13:10:58. | |
test_dlpack.py | File | 3522 bytes | April 17 2025 13:10:58. | |
test_dtype.py | File | 75288 bytes | April 17 2025 13:10:58. | |
test_einsum.py | File | 52960 bytes | April 17 2025 13:10:58. | |
test_errstate.py | File | 2219 bytes | April 17 2025 13:10:58. | |
test_extint128.py | File | 5643 bytes | April 17 2025 13:10:58. | |
test_function_base.py | File | 15595 bytes | April 17 2025 13:10:58. | |
test_getlimits.py | File | 6718 bytes | April 17 2025 13:10:58. | |
test_half.py | File | 24226 bytes | April 17 2025 13:10:58. | |
test_hashtable.py | File | 1011 bytes | April 17 2025 13:10:58. | |
test_indexerrors.py | File | 5130 bytes | April 17 2025 13:10:58. | |
test_indexing.py | File | 54314 bytes | April 17 2025 13:10:58. | |
test_item_selection.py | File | 6458 bytes | April 17 2025 13:10:58. | |
test_limited_api.py | File | 1172 bytes | April 17 2025 13:10:58. | |
test_longdouble.py | File | 13905 bytes | April 17 2025 13:10:58. | |
test_machar.py | File | 1067 bytes | April 17 2025 13:10:58. | |
test_mem_overlap.py | File | 29086 bytes | April 17 2025 13:10:58. | |
test_mem_policy.py | File | 16004 bytes | April 17 2025 13:10:58. | |
test_memmap.py | File | 7477 bytes | April 17 2025 13:10:58. | |
test_multiarray.py | File | 379320 bytes | April 17 2025 13:10:58. | |
test_nditer.py | File | 130818 bytes | April 17 2025 13:10:58. | |
test_nep50_promotions.py | File | 8840 bytes | April 17 2025 13:10:58. | |
test_numeric.py | File | 136543 bytes | April 17 2025 13:10:58. | |
test_numerictypes.py | File | 21687 bytes | April 17 2025 13:10:58. | |
test_overrides.py | File | 26080 bytes | April 17 2025 13:10:58. | |
test_print.py | File | 6837 bytes | April 17 2025 13:10:58. | |
test_protocols.py | File | 1168 bytes | April 17 2025 13:10:58. | |
test_records.py | File | 20269 bytes | April 17 2025 13:10:58. | |
test_regression.py | File | 91447 bytes | April 17 2025 13:10:58. | |
test_scalar_ctors.py | File | 6115 bytes | April 17 2025 13:10:58. | |
test_scalar_methods.py | File | 7541 bytes | April 17 2025 13:10:58. | |
test_scalarbuffer.py | File | 5580 bytes | April 17 2025 13:10:58. | |
test_scalarinherit.py | File | 2368 bytes | April 17 2025 13:10:58. | |
test_scalarmath.py | File | 42885 bytes | April 17 2025 13:10:58. | |
test_scalarprint.py | File | 18771 bytes | April 17 2025 13:10:58. | |
test_shape_base.py | File | 29723 bytes | April 17 2025 13:10:58. | |
test_simd.py | File | 48696 bytes | April 17 2025 13:10:58. | |
test_simd_module.py | File | 3805 bytes | April 17 2025 13:10:58. | |
test_strings.py | File | 3835 bytes | April 17 2025 13:10:58. | |
test_ufunc.py | File | 124145 bytes | April 17 2025 13:10:58. | |
test_umath.py | File | 185129 bytes | April 17 2025 13:10:58. | |
test_umath_accuracy.py | File | 3897 bytes | April 17 2025 13:10:58. | |
test_umath_complex.py | File | 23243 bytes | April 17 2025 13:10:58. | |
test_unicode.py | File | 12775 bytes | April 17 2025 13:10:58. |
import sys import pytest import numpy as np from numpy.testing import ( assert_, assert_raises, assert_array_equal, HAS_REFCOUNT ) class TestTake: def test_simple(self): a = [[1, 2], [3, 4]] a_str = [[b'1', b'2'], [b'3', b'4']] modes = ['raise', 'wrap', 'clip'] indices = [-1, 4] index_arrays = [np.empty(0, dtype=np.intp), np.empty(tuple(), dtype=np.intp), np.empty((1, 1), dtype=np.intp)] real_indices = {'raise': {-1: 1, 4: IndexError}, 'wrap': {-1: 1, 4: 0}, 'clip': {-1: 0, 4: 1}} # Currently all types but object, use the same function generation. # So it should not be necessary to test all. However test also a non # refcounted struct on top of object, which has a size that hits the # default (non-specialized) path. types = int, object, np.dtype([('', 'i2', 3)]) for t in types: # ta works, even if the array may be odd if buffer interface is used ta = np.array(a if np.issubdtype(t, np.number) else a_str, dtype=t) tresult = list(ta.T.copy()) for index_array in index_arrays: if index_array.size != 0: tresult[0].shape = (2,) + index_array.shape tresult[1].shape = (2,) + index_array.shape for mode in modes: for index in indices: real_index = real_indices[mode][index] if real_index is IndexError and index_array.size != 0: index_array.put(0, index) assert_raises(IndexError, ta.take, index_array, mode=mode, axis=1) elif index_array.size != 0: index_array.put(0, index) res = ta.take(index_array, mode=mode, axis=1) assert_array_equal(res, tresult[real_index]) else: res = ta.take(index_array, mode=mode, axis=1) assert_(res.shape == (2,) + index_array.shape) def test_refcounting(self): objects = [object() for i in range(10)] for mode in ('raise', 'clip', 'wrap'): a = np.array(objects) b = np.array([2, 2, 4, 5, 3, 5]) a.take(b, out=a[:6], mode=mode) del a if HAS_REFCOUNT: assert_(all(sys.getrefcount(o) == 3 for o in objects)) # not contiguous, example: a = np.array(objects * 2)[::2] a.take(b, out=a[:6], mode=mode) del a if HAS_REFCOUNT: assert_(all(sys.getrefcount(o) == 3 for o in objects)) def test_unicode_mode(self): d = np.arange(10) k = b'\xc3\xa4'.decode("UTF8") assert_raises(ValueError, d.take, 5, mode=k) def test_empty_partition(self): # In reference to github issue #6530 a_original = np.array([0, 2, 4, 6, 8, 10]) a = a_original.copy() # An empty partition should be a successful no-op a.partition(np.array([], dtype=np.int16)) assert_array_equal(a, a_original) def test_empty_argpartition(self): # In reference to github issue #6530 a = np.array([0, 2, 4, 6, 8, 10]) a = a.argpartition(np.array([], dtype=np.int16)) b = np.array([0, 1, 2, 3, 4, 5]) assert_array_equal(a, b) class TestPutMask: @pytest.mark.parametrize("dtype", list(np.typecodes["All"]) + ["i,O"]) def test_simple(self, dtype): if dtype.lower() == "m": dtype += "8[ns]" # putmask is weird and doesn't care about value length (even shorter) vals = np.arange(1001).astype(dtype=dtype) mask = np.random.randint(2, size=1000).astype(bool) # Use vals.dtype in case of flexible dtype (i.e. string) arr = np.zeros(1000, dtype=vals.dtype) zeros = arr.copy() np.putmask(arr, mask, vals) assert_array_equal(arr[mask], vals[:len(mask)][mask]) assert_array_equal(arr[~mask], zeros[~mask]) @pytest.mark.parametrize("dtype", list(np.typecodes["All"])[1:] + ["i,O"]) @pytest.mark.parametrize("mode", ["raise", "wrap", "clip"]) def test_empty(self, dtype, mode): arr = np.zeros(1000, dtype=dtype) arr_copy = arr.copy() mask = np.random.randint(2, size=1000).astype(bool) # Allowing empty values like this is weird... np.put(arr, mask, []) assert_array_equal(arr, arr_copy) class TestPut: @pytest.mark.parametrize("dtype", list(np.typecodes["All"])[1:] + ["i,O"]) @pytest.mark.parametrize("mode", ["raise", "wrap", "clip"]) def test_simple(self, dtype, mode): if dtype.lower() == "m": dtype += "8[ns]" # put is weird and doesn't care about value length (even shorter) vals = np.arange(1001).astype(dtype=dtype) # Use vals.dtype in case of flexible dtype (i.e. string) arr = np.zeros(1000, dtype=vals.dtype) zeros = arr.copy() if mode == "clip": # Special because 0 and -1 value are "reserved" for clip test indx = np.random.permutation(len(arr) - 2)[:-500] + 1 indx[-1] = 0 indx[-2] = len(arr) - 1 indx_put = indx.copy() indx_put[-1] = -1389 indx_put[-2] = 1321 else: # Avoid duplicates (for simplicity) and fill half only indx = np.random.permutation(len(arr) - 3)[:-500] indx_put = indx if mode == "wrap": indx_put = indx_put + len(arr) np.put(arr, indx_put, vals, mode=mode) assert_array_equal(arr[indx], vals[:len(indx)]) untouched = np.ones(len(arr), dtype=bool) untouched[indx] = False assert_array_equal(arr[untouched], zeros[:untouched.sum()]) @pytest.mark.parametrize("dtype", list(np.typecodes["All"])[1:] + ["i,O"]) @pytest.mark.parametrize("mode", ["raise", "wrap", "clip"]) def test_empty(self, dtype, mode): arr = np.zeros(1000, dtype=dtype) arr_copy = arr.copy() # Allowing empty values like this is weird... np.put(arr, [1, 2, 3], []) assert_array_equal(arr, arr_copy)
SILENT KILLER Tool