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_item_selection.py
Close
from __future__ import division, absolute_import, print_function import sys import numpy as np from numpy.testing import ( TestCase, run_module_suite, assert_, assert_raises, assert_array_equal, HAS_REFCOUNT ) class TestTake(TestCase): 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. types = np.int, np.object, np.dtype([('', 'i', 2)]) 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]) 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]) 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) if __name__ == "__main__": run_module_suite()