/opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/core/tests
NameSizeModeActions
data/-0755rm
examples/-0755rm
__pycache__/-0755rm
test_abc.py22200644editdlrm
test_api.py229950644editdlrm
test_argparse.py19690644editdlrm
test_arraymethod.py32440644editdlrm
test_arrayprint.py404620644editdlrm
test_array_coercion.py343790644editdlrm
test_array_interface.py75960644editdlrm
test_casting_floatingpoint_errors.py50630644editdlrm
test_casting_unittests.py342980644editdlrm
test_conversion_utils.py65590644editdlrm
test_cpu_dispatcher.py15210644editdlrm
test_cpu_features.py148580644editdlrm
test_custom_dtypes.py94010644editdlrm
test_cython.py36230644editdlrm
test_datetime.py1162110644editdlrm
test_defchararray.py249970644editdlrm
test_deprecations.py310760644editdlrm
test_dlpack.py35220644editdlrm
test_dtype.py752880644editdlrm
test_einsum.py529600644editdlrm
test_errstate.py22190644editdlrm
test_extint128.py56430644editdlrm
test_function_base.py155950644editdlrm
test_getlimits.py67180644editdlrm
test_half.py242260644editdlrm
test_hashtable.py10110644editdlrm
test_indexerrors.py51300644editdlrm
test_indexing.py543140644editdlrm
test_item_selection.py64580644editdlrm
test_limited_api.py11720644editdlrm
test_longdouble.py139050644editdlrm
test_machar.py10670644editdlrm
test_memmap.py74770644editdlrm
test_mem_overlap.py290860644editdlrm
test_mem_policy.py160040644editdlrm
test_multiarray.py3793200644editdlrm
test_nditer.py1308180644editdlrm
test_nep50_promotions.py88400644editdlrm
test_numeric.py1365430644editdlrm
test_numerictypes.py216870644editdlrm
test_overrides.py260800644editdlrm
test_print.py68370644editdlrm
test_protocols.py11680644editdlrm
test_records.py202690644editdlrm
test_regression.py914470644editdlrm
test_scalarbuffer.py55800644editdlrm
test_scalarinherit.py23680644editdlrm
test_scalarmath.py428850644editdlrm
test_scalarprint.py187710644editdlrm
test_scalar_ctors.py61150644editdlrm
test_scalar_methods.py75410644editdlrm
test_shape_base.py297230644editdlrm
test_simd.py486960644editdlrm
test_simd_module.py38050644editdlrm
test_strings.py38350644editdlrm
test_ufunc.py1241450644editdlrm
test_umath.py1851290644editdlrm
test_umath_accuracy.py38970644editdlrm
test_umath_complex.py232430644editdlrm
test_unicode.py127750644editdlrm
test__exceptions.py28460644editdlrm
_locales.py22060644editdlrm
__init__.py00644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/core/tests/test_scalar_ctors.py (6115B)
""" Test the scalar constructors, which also do type-coercion """ import pytest import numpy as np from numpy.testing import ( assert_equal, assert_almost_equal, assert_warns, ) class TestFromString: def test_floating(self): # Ticket #640, floats from string fsingle = np.single('1.234') fdouble = np.double('1.234') flongdouble = np.longdouble('1.234') assert_almost_equal(fsingle, 1.234) assert_almost_equal(fdouble, 1.234) assert_almost_equal(flongdouble, 1.234) def test_floating_overflow(self): """ Strings containing an unrepresentable float overflow """ fhalf = np.half('1e10000') assert_equal(fhalf, np.inf) fsingle = np.single('1e10000') assert_equal(fsingle, np.inf) fdouble = np.double('1e10000') assert_equal(fdouble, np.inf) flongdouble = assert_warns(RuntimeWarning, np.longdouble, '1e10000') assert_equal(flongdouble, np.inf) fhalf = np.half('-1e10000') assert_equal(fhalf, -np.inf) fsingle = np.single('-1e10000') assert_equal(fsingle, -np.inf) fdouble = np.double('-1e10000') assert_equal(fdouble, -np.inf) flongdouble = assert_warns(RuntimeWarning, np.longdouble, '-1e10000') assert_equal(flongdouble, -np.inf) class TestExtraArgs: def test_superclass(self): # try both positional and keyword arguments s = np.str_(b'\\x61', encoding='unicode-escape') assert s == 'a' s = np.str_(b'\\x61', 'unicode-escape') assert s == 'a' # previously this would return '\\xx' with pytest.raises(UnicodeDecodeError): np.str_(b'\\xx', encoding='unicode-escape') with pytest.raises(UnicodeDecodeError): np.str_(b'\\xx', 'unicode-escape') # superclass fails, but numpy succeeds assert np.bytes_(-2) == b'-2' def test_datetime(self): dt = np.datetime64('2000-01', ('M', 2)) assert np.datetime_data(dt) == ('M', 2) with pytest.raises(TypeError): np.datetime64('2000', garbage=True) def test_bool(self): with pytest.raises(TypeError): np.bool_(False, garbage=True) def test_void(self): with pytest.raises(TypeError): np.void(b'test', garbage=True) class TestFromInt: def test_intp(self): # Ticket #99 assert_equal(1024, np.intp(1024)) def test_uint64_from_negative(self): with pytest.warns(DeprecationWarning): assert_equal(np.uint64(-2), np.uint64(18446744073709551614)) int_types = [np.byte, np.short, np.intc, np.int_, np.longlong] uint_types = [np.ubyte, np.ushort, np.uintc, np.uint, np.ulonglong] float_types = [np.half, np.single, np.double, np.longdouble] cfloat_types = [np.csingle, np.cdouble, np.clongdouble] class TestArrayFromScalar: """ gh-15467 """ def _do_test(self, t1, t2): x = t1(2) arr = np.array(x, dtype=t2) # type should be preserved exactly if t2 is None: assert arr.dtype.type is t1 else: assert arr.dtype.type is t2 @pytest.mark.parametrize('t1', int_types + uint_types) @pytest.mark.parametrize('t2', int_types + uint_types + [None]) def test_integers(self, t1, t2): return self._do_test(t1, t2) @pytest.mark.parametrize('t1', float_types) @pytest.mark.parametrize('t2', float_types + [None]) def test_reals(self, t1, t2): return self._do_test(t1, t2) @pytest.mark.parametrize('t1', cfloat_types) @pytest.mark.parametrize('t2', cfloat_types + [None]) def test_complex(self, t1, t2): return self._do_test(t1, t2) @pytest.mark.parametrize("length", [5, np.int8(5), np.array(5, dtype=np.uint16)]) def test_void_via_length(length): res = np.void(length) assert type(res) is np.void assert res.item() == b"\0" * 5 assert res.dtype == "V5" @pytest.mark.parametrize("bytes_", [b"spam", np.array(567.)]) def test_void_from_byteslike(bytes_): res = np.void(bytes_) expected = bytes(bytes_) assert type(res) is np.void assert res.item() == expected # Passing dtype can extend it (this is how filling works) res = np.void(bytes_, dtype="V100") assert type(res) is np.void assert res.item()[:len(expected)] == expected assert res.item()[len(expected):] == b"\0" * (res.nbytes - len(expected)) # As well as shorten: res = np.void(bytes_, dtype="V4") assert type(res) is np.void assert res.item() == expected[:4] def test_void_arraylike_trumps_byteslike(): # The memoryview is converted as an array-like of shape (18,) # rather than a single bytes-like of that length. m = memoryview(b"just one mintleaf?") res = np.void(m) assert type(res) is np.ndarray assert res.dtype == "V1" assert res.shape == (18,) def test_void_dtype_arg(): # Basic test for the dtype argument (positional and keyword) res = np.void((1, 2), dtype="i,i") assert res.item() == (1, 2) res = np.void((2, 3), "i,i") assert res.item() == (2, 3) @pytest.mark.parametrize("data", [5, np.int8(5), np.array(5, dtype=np.uint16)]) def test_void_from_integer_with_dtype(data): # The "length" meaning is ignored, rather data is used: res = np.void(data, dtype="i,i") assert type(res) is np.void assert res.dtype == "i,i" assert res["f0"] == 5 and res["f1"] == 5 def test_void_from_structure(): dtype = np.dtype([('s', [('f', 'f8'), ('u', 'U1')]), ('i', 'i2')]) data = np.array(((1., 'a'), 2), dtype=dtype) res = np.void(data[()], dtype=dtype) assert type(res) is np.void assert res.dtype == dtype assert res == data[()] def test_void_bad_dtype(): with pytest.raises(TypeError, match="void: descr must be a `void.*int64"): np.void(4, dtype="i8") # Subarray dtype (with shape `(4,)` is rejected): with pytest.raises(TypeError, match=r"void: descr must be a `void.*\(4,\)"): np.void(4, dtype="4i")