SILENT KILLERPanel

Current Path: > > opt > cloudlinux > venv > lib64 > 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/lib64/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/lib64/python3.11//site-packages/numpy/core/tests/test_getlimits.py

""" Test functions for limits module.

"""
import warnings
import numpy as np
import pytest
from numpy.core import finfo, iinfo
from numpy import half, single, double, longdouble
from numpy.testing import assert_equal, assert_, assert_raises
from numpy.core.getlimits import _discovered_machar, _float_ma

##################################################

class TestPythonFloat:
    def test_singleton(self):
        ftype = finfo(float)
        ftype2 = finfo(float)
        assert_equal(id(ftype), id(ftype2))

class TestHalf:
    def test_singleton(self):
        ftype = finfo(half)
        ftype2 = finfo(half)
        assert_equal(id(ftype), id(ftype2))

class TestSingle:
    def test_singleton(self):
        ftype = finfo(single)
        ftype2 = finfo(single)
        assert_equal(id(ftype), id(ftype2))

class TestDouble:
    def test_singleton(self):
        ftype = finfo(double)
        ftype2 = finfo(double)
        assert_equal(id(ftype), id(ftype2))

class TestLongdouble:
    def test_singleton(self):
        ftype = finfo(longdouble)
        ftype2 = finfo(longdouble)
        assert_equal(id(ftype), id(ftype2))

def assert_finfo_equal(f1, f2):
    # assert two finfo instances have the same attributes
    for attr in ('bits', 'eps', 'epsneg', 'iexp', 'machep',
                 'max', 'maxexp', 'min', 'minexp', 'negep', 'nexp',
                 'nmant', 'precision', 'resolution', 'tiny',
                 'smallest_normal', 'smallest_subnormal'):
        assert_equal(getattr(f1, attr), getattr(f2, attr),
                     f'finfo instances {f1} and {f2} differ on {attr}')

def assert_iinfo_equal(i1, i2):
    # assert two iinfo instances have the same attributes
    for attr in ('bits', 'min', 'max'):
        assert_equal(getattr(i1, attr), getattr(i2, attr),
                     f'iinfo instances {i1} and {i2} differ on {attr}')

class TestFinfo:
    def test_basic(self):
        dts = list(zip(['f2', 'f4', 'f8', 'c8', 'c16'],
                       [np.float16, np.float32, np.float64, np.complex64,
                        np.complex128]))
        for dt1, dt2 in dts:
            assert_finfo_equal(finfo(dt1), finfo(dt2))

        assert_raises(ValueError, finfo, 'i4')

    def test_regression_gh23108(self):
        # np.float32(1.0) and np.float64(1.0) have the same hash and are
        # equal under the == operator
        f1 = np.finfo(np.float32(1.0))
        f2 = np.finfo(np.float64(1.0))
        assert f1 != f2

    def test_regression_gh23867(self):
        class NonHashableWithDtype:
            __hash__ = None
            dtype = np.dtype('float32')
  
        x = NonHashableWithDtype()
        assert np.finfo(x) == np.finfo(x.dtype)
        

class TestIinfo:
    def test_basic(self):
        dts = list(zip(['i1', 'i2', 'i4', 'i8',
                   'u1', 'u2', 'u4', 'u8'],
                  [np.int8, np.int16, np.int32, np.int64,
                   np.uint8, np.uint16, np.uint32, np.uint64]))
        for dt1, dt2 in dts:
            assert_iinfo_equal(iinfo(dt1), iinfo(dt2))

        assert_raises(ValueError, iinfo, 'f4')

    def test_unsigned_max(self):
        types = np.sctypes['uint']
        for T in types:
            with np.errstate(over="ignore"):
                max_calculated = T(0) - T(1)
            assert_equal(iinfo(T).max, max_calculated)

class TestRepr:
    def test_iinfo_repr(self):
        expected = "iinfo(min=-32768, max=32767, dtype=int16)"
        assert_equal(repr(np.iinfo(np.int16)), expected)

    def test_finfo_repr(self):
        expected = "finfo(resolution=1e-06, min=-3.4028235e+38," + \
                   " max=3.4028235e+38, dtype=float32)"
        assert_equal(repr(np.finfo(np.float32)), expected)


def test_instances():
    # Test the finfo and iinfo results on numeric instances agree with
    # the results on the corresponding types

    for c in [int, np.int16, np.int32, np.int64]:
        class_iinfo = iinfo(c)
        instance_iinfo = iinfo(c(12))

        assert_iinfo_equal(class_iinfo, instance_iinfo)

    for c in [float, np.float16, np.float32, np.float64]:
        class_finfo = finfo(c)
        instance_finfo = finfo(c(1.2))
        assert_finfo_equal(class_finfo, instance_finfo)

    with pytest.raises(ValueError):
        iinfo(10.)

    with pytest.raises(ValueError):
        iinfo('hi')

    with pytest.raises(ValueError):
        finfo(np.int64(1))


def assert_ma_equal(discovered, ma_like):
    # Check MachAr-like objects same as calculated MachAr instances
    for key, value in discovered.__dict__.items():
        assert_equal(value, getattr(ma_like, key))
        if hasattr(value, 'shape'):
            assert_equal(value.shape, getattr(ma_like, key).shape)
            assert_equal(value.dtype, getattr(ma_like, key).dtype)


def test_known_types():
    # Test we are correctly compiling parameters for known types
    for ftype, ma_like in ((np.float16, _float_ma[16]),
                           (np.float32, _float_ma[32]),
                           (np.float64, _float_ma[64])):
        assert_ma_equal(_discovered_machar(ftype), ma_like)
    # Suppress warning for broken discovery of double double on PPC
    with np.errstate(all='ignore'):
        ld_ma = _discovered_machar(np.longdouble)
    bytes = np.dtype(np.longdouble).itemsize
    if (ld_ma.it, ld_ma.maxexp) == (63, 16384) and bytes in (12, 16):
        # 80-bit extended precision
        assert_ma_equal(ld_ma, _float_ma[80])
    elif (ld_ma.it, ld_ma.maxexp) == (112, 16384) and bytes == 16:
        # IEE 754 128-bit
        assert_ma_equal(ld_ma, _float_ma[128])


def test_subnormal_warning():
    """Test that the subnormal is zero warning is not being raised."""
    with np.errstate(all='ignore'):
        ld_ma = _discovered_machar(np.longdouble)
    bytes = np.dtype(np.longdouble).itemsize
    with warnings.catch_warnings(record=True) as w:
        warnings.simplefilter('always')
        if (ld_ma.it, ld_ma.maxexp) == (63, 16384) and bytes in (12, 16):
            # 80-bit extended precision
            ld_ma.smallest_subnormal
            assert len(w) == 0
        elif (ld_ma.it, ld_ma.maxexp) == (112, 16384) and bytes == 16:
            # IEE 754 128-bit
            ld_ma.smallest_subnormal
            assert len(w) == 0
        else:
            # Double double
            ld_ma.smallest_subnormal
            # This test may fail on some platforms
            assert len(w) == 0


def test_plausible_finfo():
    # Assert that finfo returns reasonable results for all types
    for ftype in np.sctypes['float'] + np.sctypes['complex']:
        info = np.finfo(ftype)
        assert_(info.nmant > 1)
        assert_(info.minexp < -1)
        assert_(info.maxexp > 1)

SILENT KILLER Tool