$25 GRAYBYTE WORDPRESS FILE MANAGER $43

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/alt/python37/lib64/python3.7/site-packages/numpy/core/tests/

HOME
Current File : /opt/alt/python37/lib64/python3.7/site-packages/numpy/core/tests//test_getlimits.py
""" Test functions for limits module.

"""
from __future__ import division, absolute_import, print_function

import numpy as np
from numpy.core import finfo, iinfo
from numpy import half, single, double, longdouble
from numpy.testing import (
    TestCase, run_module_suite, assert_equal, assert_
)
from numpy.core.getlimits import (_discovered_machar, _float16_ma, _float32_ma,
                                  _float64_ma, _float128_ma, _float80_ma)

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

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

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

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

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

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

class TestFinfo(TestCase):
    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:
            for attr in ('bits', 'eps', 'epsneg', 'iexp', 'machar', 'machep',
                         'max', 'maxexp', 'min', 'minexp', 'negep', 'nexp',
                         'nmant', 'precision', 'resolution', 'tiny'):
                assert_equal(getattr(finfo(dt1), attr),
                             getattr(finfo(dt2), attr), attr)
        self.assertRaises(ValueError, finfo, 'i4')

class TestIinfo(TestCase):
    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:
            for attr in ('bits', 'min', 'max'):
                assert_equal(getattr(iinfo(dt1), attr),
                             getattr(iinfo(dt2), attr), attr)
        self.assertRaises(ValueError, iinfo, 'f4')

    def test_unsigned_max(self):
        types = np.sctypes['uint']
        for T in types:
            assert_equal(iinfo(T).max, T(-1))

class TestRepr(TestCase):
    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():
    iinfo(10)
    finfo(3.0)


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, _float16_ma),
                           (np.float32, _float32_ma),
                           (np.float64, _float64_ma)):
        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, _float80_ma)
    elif (ld_ma.it, ld_ma.maxexp) == (112, 16384) and bytes == 16:
        # IEE 754 128-bit
        assert_ma_equal(ld_ma, _float128_ma)


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)


if __name__ == "__main__":
    run_module_suite()

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
31 Aug 2024 3.40 AM
root / root
0755
__pycache__
--
31 Aug 2024 3.40 AM
root / root
0755
data
--
31 Aug 2024 3.40 AM
root / root
0755
test_abc.py
1.967 KB
25 Apr 2023 2.30 AM
root / root
0644
test_api.py
18.463 KB
25 Apr 2023 2.30 AM
root / root
0644
test_arrayprint.py
9.976 KB
25 Apr 2023 2.30 AM
root / root
0644
test_datetime.py
90.358 KB
25 Apr 2023 2.30 AM
root / root
0644
test_defchararray.py
25.16 KB
25 Apr 2023 2.30 AM
root / root
0644
test_deprecations.py
18.361 KB
25 Apr 2023 2.30 AM
root / root
0644
test_dtype.py
25.588 KB
25 Apr 2023 2.30 AM
root / root
0644
test_einsum.py
38.67 KB
25 Apr 2023 2.30 AM
root / root
0644
test_errstate.py
1.551 KB
25 Apr 2023 2.30 AM
root / root
0644
test_extint128.py
5.639 KB
25 Apr 2023 2.30 AM
root / root
0644
test_function_base.py
11.161 KB
25 Apr 2023 2.30 AM
root / root
0644
test_getlimits.py
4.505 KB
25 Apr 2023 2.30 AM
root / root
0644
test_half.py
18.211 KB
25 Apr 2023 2.30 AM
root / root
0644
test_indexerrors.py
4.822 KB
25 Apr 2023 2.30 AM
root / root
0644
test_indexing.py
46.842 KB
25 Apr 2023 2.30 AM
root / root
0644
test_item_selection.py
3.579 KB
25 Apr 2023 2.30 AM
root / root
0644
test_longdouble.py
5.827 KB
25 Apr 2023 2.30 AM
root / root
0644
test_machar.py
0.99 KB
25 Apr 2023 2.30 AM
root / root
0644
test_mem_overlap.py
28.871 KB
25 Apr 2023 2.30 AM
root / root
0644
test_memmap.py
6.909 KB
25 Apr 2023 2.30 AM
root / root
0644
test_multiarray.py
254.692 KB
25 Apr 2023 2.30 AM
root / root
0644
test_nditer.py
105.745 KB
25 Apr 2023 2.30 AM
root / root
0644
test_numeric.py
98.49 KB
25 Apr 2023 2.30 AM
root / root
0644
test_numerictypes.py
14.268 KB
25 Apr 2023 2.30 AM
root / root
0644
test_print.py
7.899 KB
25 Apr 2023 2.30 AM
root / root
0644
test_records.py
15.269 KB
25 Apr 2023 2.30 AM
root / root
0644
test_regression.py
79.308 KB
25 Apr 2023 2.30 AM
root / root
0644
test_scalarinherit.py
0.753 KB
25 Apr 2023 2.30 AM
root / root
0644
test_scalarmath.py
24.446 KB
25 Apr 2023 2.30 AM
root / root
0644
test_scalarprint.py
0.896 KB
25 Apr 2023 2.30 AM
root / root
0644
test_shape_base.py
18.109 KB
25 Apr 2023 2.30 AM
root / root
0644
test_ufunc.py
53.696 KB
25 Apr 2023 2.30 AM
root / root
0644
test_umath.py
96.47 KB
25 Apr 2023 2.30 AM
root / root
0644
test_umath_complex.py
19.336 KB
25 Apr 2023 2.30 AM
root / root
0644
test_unicode.py
13.904 KB
25 Apr 2023 2.30 AM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF