SILENT KILLERPanel

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 ]

Files and Folders in: //opt/cloudlinux/venv/lib//python3.11/site-packages/numpy/core//tests

NameTypeSizeLast ModifiedActions
__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.

Reading File: //opt/cloudlinux/venv/lib//python3.11/site-packages/numpy/core//tests/test_item_selection.py

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