X7ROOT File Manager
Current Path:
/opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/core/tests
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
numpy
/
core
/
tests
/
📁
..
📄
__init__.py
(0 B)
📁
__pycache__
📄
_locales.py
(2.15 KB)
📁
data
📁
examples
📄
test__exceptions.py
(2.78 KB)
📄
test_abc.py
(2.17 KB)
📄
test_api.py
(22.46 KB)
📄
test_argparse.py
(1.92 KB)
📄
test_array_coercion.py
(33.57 KB)
📄
test_array_interface.py
(7.42 KB)
📄
test_arraymethod.py
(3.17 KB)
📄
test_arrayprint.py
(39.51 KB)
📄
test_casting_floatingpoint_errors.py
(4.94 KB)
📄
test_casting_unittests.py
(33.49 KB)
📄
test_conversion_utils.py
(6.41 KB)
📄
test_cpu_dispatcher.py
(1.49 KB)
📄
test_cpu_features.py
(14.51 KB)
📄
test_custom_dtypes.py
(9.18 KB)
📄
test_cython.py
(3.54 KB)
📄
test_datetime.py
(113.49 KB)
📄
test_defchararray.py
(24.41 KB)
📄
test_deprecations.py
(30.35 KB)
📄
test_dlpack.py
(3.44 KB)
📄
test_dtype.py
(73.52 KB)
📄
test_einsum.py
(51.72 KB)
📄
test_errstate.py
(2.17 KB)
📄
test_extint128.py
(5.51 KB)
📄
test_function_base.py
(15.23 KB)
📄
test_getlimits.py
(6.56 KB)
📄
test_half.py
(23.66 KB)
📄
test_hashtable.py
(1011 B)
📄
test_indexerrors.py
(5.01 KB)
📄
test_indexing.py
(53.04 KB)
📄
test_item_selection.py
(6.31 KB)
📄
test_limited_api.py
(1.14 KB)
📄
test_longdouble.py
(13.58 KB)
📄
test_machar.py
(1.04 KB)
📄
test_mem_overlap.py
(28.4 KB)
📄
test_mem_policy.py
(15.63 KB)
📄
test_memmap.py
(7.3 KB)
📄
test_multiarray.py
(370.43 KB)
📄
test_nditer.py
(127.75 KB)
📄
test_nep50_promotions.py
(8.63 KB)
📄
test_numeric.py
(133.34 KB)
📄
test_numerictypes.py
(21.18 KB)
📄
test_overrides.py
(25.47 KB)
📄
test_print.py
(6.68 KB)
📄
test_protocols.py
(1.14 KB)
📄
test_records.py
(19.79 KB)
📄
test_regression.py
(89.3 KB)
📄
test_scalar_ctors.py
(5.97 KB)
📄
test_scalar_methods.py
(7.36 KB)
📄
test_scalarbuffer.py
(5.45 KB)
📄
test_scalarinherit.py
(2.31 KB)
📄
test_scalarmath.py
(41.88 KB)
📄
test_scalarprint.py
(18.33 KB)
📄
test_shape_base.py
(29.03 KB)
📄
test_simd.py
(47.55 KB)
📄
test_simd_module.py
(3.72 KB)
📄
test_strings.py
(3.75 KB)
📄
test_ufunc.py
(121.24 KB)
📄
test_umath.py
(180.79 KB)
📄
test_umath_accuracy.py
(3.81 KB)
📄
test_umath_complex.py
(22.7 KB)
📄
test_unicode.py
(12.48 KB)
Editing: 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)
Upload File
Create Folder