%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib64/python3.9/site-packages/numpy/lib/tests/__pycache__/
Upload File :
Create Path :
Current File : //lib64/python3.9/site-packages/numpy/lib/tests/__pycache__/test_format.cpython-39.opt-1.pyc

a

z[yc˛�@spdZddlZddlZddlZddlZddlmZddlZddl	m
Z
mZmZm
Z
mZmZddlmZddlmZejejejejejejejejejejejeje g
Z!gZ"e!D]�Z#dD]vZ$e�%e#��&e$�Z%e�'d��(e%�Z)e"�*ej+ge%d	�ej+d
e%d	�e)e)�,d�e)�,d�j-e)�,d�ddd�ddd
�fg�q�q�gd�Z.dd
gddgddggdfddgddgddggdfgZ/dddddgd�fddgfdd d!d"gfd#d$gZ0dd
gd%dd&d%d'gddgd(d
gfd)d*fd+d,ddgddggdfddgd-dd.d-d/gddgd
d(gfd0d1fd2d3ddgddggdfgZ1ej+e/e�%e.��&d4�d	�ej+e1e�%e0��&d4�d	�ej+e/e�%e.��&d5�d	�ej+e1e�%e0��&d5�d	�ej2d(d6gd	�gZ3Gd7d8�d8e�Z4d9d:�Z5d;d<�Z6d=d>�Z7d?d@�Z8dAdB�Z9dCdD�Z:dEdF�Z;dGdH�Z<ej=j>dIdJ��Z?dKdL�Z@ej%dMd*dN�ZAe�%dOdPgdQdQgd(dRgdS��ZBe�%dTdUgdQeBgdV��ZCe�%gdW�dQgddV��ZDe�%dOdPgdQdQgd(dRgdXdYgdZ��ZEe�%ggdd[��ZFej=�Gd\eAeBeCeDeEeFg�d]d^��ZHd_d`�ZIdadb�ZJdcdd�ZKej=�Gd\e�%ej%dOejfdPejfdTejfgd*dN�de�e�%dfe�%dOdPgdgdggddgddh�de�difg�e�%djg�e�%dfe�%e�%e�%dOdPgdgdggddgddh��def�dif�fg�e�%dOe�%e�%e�%e�%dOeLfdPe�%dOdPgdgdggddgddh��fg�def�dif�dkf�fg�g�dldm��ZMdndo�ZNdpdq�ZOej=�Gdrdsdg�dtdu��ZPdvdw�ZQdxdy�ZRgdz�ZSgd{�ZTd|d}�ZUd~d�ZVd�d��ZWd�d��ZXd�d��ZYd�d��ZZd�d��Z[d�d��Z\d�d��Z]ej=j^e�%ej_�j`dkd�d��ej=j>ed�d��d�d�����Zad�d��Zbd�d��Zcej=�Gd�e�%dOdPgedej%d�d�d�id��gdV��d*fej%eLd�d�id��d1fej%d�eLd�ffgd�d�id��d1fe�%dOdPgede�%dTgej%eLid��gdV��gdV��d1fg�ej=j^e�oZejejfd�kd�d��d�d����ZgdS)�a�D Test the .npy file format.

Set up:

    >>> import sys
    >>> from io import BytesIO
    >>> from numpy.lib import format
    >>>
    >>> scalars = [
    ...     np.uint8,
    ...     np.int8,
    ...     np.uint16,
    ...     np.int16,
    ...     np.uint32,
    ...     np.int32,
    ...     np.uint64,
    ...     np.int64,
    ...     np.float32,
    ...     np.float64,
    ...     np.complex64,
    ...     np.complex128,
    ...     object,
    ... ]
    >>>
    >>> basic_arrays = []
    >>>
    >>> for scalar in scalars:
    ...     for endian in '<>':
    ...         dtype = np.dtype(scalar).newbyteorder(endian)
    ...         basic = np.arange(15).astype(dtype)
    ...         basic_arrays.extend([
    ...             np.array([], dtype=dtype),
    ...             np.array(10, dtype=dtype),
    ...             basic,
    ...             basic.reshape((3,5)),
    ...             basic.reshape((3,5)).T,
    ...             basic.reshape((3,5))[::-1,::2],
    ...         ])
    ...
    >>>
    >>> Pdescr = [
    ...     ('x', 'i4', (2,)),
    ...     ('y', 'f8', (2, 2)),
    ...     ('z', 'u1')]
    >>>
    >>>
    >>> PbufferT = [
    ...     ([3,2], [[6.,4.],[6.,4.]], 8),
    ...     ([4,3], [[7.,5.],[7.,5.]], 9),
    ...     ]
    >>>
    >>>
    >>> Ndescr = [
    ...     ('x', 'i4', (2,)),
    ...     ('Info', [
    ...         ('value', 'c16'),
    ...         ('y2', 'f8'),
    ...         ('Info2', [
    ...             ('name', 'S2'),
    ...             ('value', 'c16', (2,)),
    ...             ('y3', 'f8', (2,)),
    ...             ('z3', 'u4', (2,))]),
    ...         ('name', 'S2'),
    ...         ('z2', 'b1')]),
    ...     ('color', 'S2'),
    ...     ('info', [
    ...         ('Name', 'U8'),
    ...         ('Value', 'c16')]),
    ...     ('y', 'f8', (2, 2)),
    ...     ('z', 'u1')]
    >>>
    >>>
    >>> NbufferT = [
    ...     ([3,2], (6j, 6., ('nn', [6j,4j], [6.,4.], [1,2]), 'NN', True), 'cc', ('NN', 6j), [[6.,4.],[6.,4.]], 8),
    ...     ([4,3], (7j, 7., ('oo', [7j,5j], [7.,5.], [2,1]), 'OO', False), 'dd', ('OO', 7j), [[7.,5.],[7.,5.]], 9),
    ...     ]
    >>>
    >>>
    >>> record_arrays = [
    ...     np.array(PbufferT, dtype=np.dtype(Pdescr).newbyteorder('<')),
    ...     np.array(NbufferT, dtype=np.dtype(Ndescr).newbyteorder('<')),
    ...     np.array(PbufferT, dtype=np.dtype(Pdescr).newbyteorder('>')),
    ...     np.array(NbufferT, dtype=np.dtype(Ndescr).newbyteorder('>')),
    ... ]

Test the magic string writing.

    >>> format.magic(1, 0)
    '\x93NUMPY\x01\x00'
    >>> format.magic(0, 0)
    '\x93NUMPY\x00\x00'
    >>> format.magic(255, 255)
    '\x93NUMPY\xff\xff'
    >>> format.magic(2, 5)
    '\x93NUMPY\x02\x05'

Test the magic string reading.

    >>> format.read_magic(BytesIO(format.magic(1, 0)))
    (1, 0)
    >>> format.read_magic(BytesIO(format.magic(0, 0)))
    (0, 0)
    >>> format.read_magic(BytesIO(format.magic(255, 255)))
    (255, 255)
    >>> format.read_magic(BytesIO(format.magic(2, 5)))
    (2, 5)

Test the header writing.

    >>> for arr in basic_arrays + record_arrays:
    ...     f = BytesIO()
    ...     format.write_array_header_1_0(f, arr)   # XXX: arr is not a dict, items gets called on it
    ...     print(repr(f.getvalue()))
    ...
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|u1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|u1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<u2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>u2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<i2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>i2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<u4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>u4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<i4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>i4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<u8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>u8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<i8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>i8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<f4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>f4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<f8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>f8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<c8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>c8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (0,)}             \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': ()}               \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (15,)}            \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (3, 5)}           \n"
    "F\x00{'descr': '<c16', 'fortran_order': True, 'shape': (5, 3)}            \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (3, 3)}           \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (0,)}             \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': ()}               \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (15,)}            \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (3, 5)}           \n"
    "F\x00{'descr': '>c16', 'fortran_order': True, 'shape': (5, 3)}            \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (3, 3)}           \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': 'O', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': 'O', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "v\x00{'descr': [('x', '<i4', (2,)), ('y', '<f8', (2, 2)), ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}         \n"
    "\x16\x02{'descr': [('x', '<i4', (2,)),\n           ('Info',\n            [('value', '<c16'),\n             ('y2', '<f8'),\n             ('Info2',\n              [('name', '|S2'),\n               ('value', '<c16', (2,)),\n               ('y3', '<f8', (2,)),\n               ('z3', '<u4', (2,))]),\n             ('name', '|S2'),\n             ('z2', '|b1')]),\n           ('color', '|S2'),\n           ('info', [('Name', '<U8'), ('Value', '<c16')]),\n           ('y', '<f8', (2, 2)),\n           ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}      \n"
    "v\x00{'descr': [('x', '>i4', (2,)), ('y', '>f8', (2, 2)), ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}         \n"
    "\x16\x02{'descr': [('x', '>i4', (2,)),\n           ('Info',\n            [('value', '>c16'),\n             ('y2', '>f8'),\n             ('Info2',\n              [('name', '|S2'),\n               ('value', '>c16', (2,)),\n               ('y3', '>f8', (2,)),\n               ('z3', '>u4', (2,))]),\n             ('name', '|S2'),\n             ('z2', '|b1')]),\n           ('color', '|S2'),\n           ('info', [('Name', '>U8'), ('Value', '>c16')]),\n           ('y', '>f8', (2, 2)),\n           ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}      \n"
�N)�BytesIO)�assert_�assert_array_equal�
assert_raises�assert_raises_regex�assert_warns�IS_PYPY)�requires_memory)�formatz<>i���dtype�
)��2����)��x�i4�r��y�f8�rr��zZu1�g@g@��g@g@�	rZInfo)�value�c16)Zy2rZInfo2)��name�S2)r r!r)Zy3rr)Zz3Zu4rr")Zz2�b1)Zcolorr$�info)�NameZU8)ZValuer!rr�@�nny@��NNTZcc)r+r(�@Zooy@�OOF�dd)r-r,�<�>)�c�z<f8��rcseZdZd�fdd�	Z�ZS)�BytesIOSRandomSizeNcs ddl}|�d|�}t��|�S)Nrr*)�randomZrandint�super�read)�self�sizer6��	__class__��A/usr/lib64/python3.9/site-packages/numpy/lib/tests/test_format.pyr8�szBytesIOSRandomSize.read)N)�__name__�
__module__�__qualname__r8�
__classcell__r=r=r;r>r5�sr5cCs0t�}t�||�t|���}tj|dd�}|S)NT��allow_pickle�rr
�write_array�getvalue�
read_array��arr�f�f2�arr2r=r=r>�	roundtrip�s
rNcCs,t�}t�||�t|���}t�|�}|S�N)rr
rFr5rGrHrIr=r=r>�roundtrip_randsize�s

rPcCs4t�}t�||�t|��dd��}t�|�}|S)NrrrErIr=r=r>�roundtrip_truncated�s

rQcCst||k�dSrO)r)Zo1Zo2r=r=r>�
assert_equal_�srRcCs$ttD]}t|�}t||�qdSrO)�basic_arrays�
record_arraysrNr�rJrMr=r=r>�test_roundtrip�srVcCs.ttD] }|jtkrt|�}t||�qdSrO)rSrTr�objectrPrrUr=r=r>�test_roundtrip_randsize�s
rXcCs$tD]}|jtkrttt|�qdSrO)rSrrWr�
ValueErrorrQ�rJr=r=r>�test_roundtrip_truncated�s
r[cCs4tjdt�ttjdf�d�}t|�}t||�dS)Nr*r)�np�onesr�strr
�BUFFER_SIZErNr)Zlong_str_arrZ
long_str_arr2r=r=r>�
test_long_str�sr`c
	CsHttt�D�]4\}}|jjr qtj�|d|�d��}tj�|d|�d��}t|d��}t	�
||�Wd�n1sx0Y|jjo�|jj
}t	j|d|j|j|d�}||d<|��t|d��}|��}Wd�n1s�0Yt|d��}|��}	Wd�n1�s0Yt||	�t	j|d	d
�}|��qdS)NZnormalz.npyZmemmap�wb�w+)�moder�shape�
fortran_order.�rb�r)rc)�	enumeraterSrTrZ	hasobject�os�path�join�openr
rF�flags�f_contiguous�c_contiguous�open_memmaprd�flushr8rR)
�tmpdir�irJZnfnZmfn�fpre�maZnormal_bytesZmemmap_bytesr=r=r>�test_memmap_roundtrip�s**��&(
rvcCsjtj�dd�}tj�|d�}tj||d�t�|��}|d}Wd�n1sR0Yt||�dS)N��zcompressed.npzrZrJ)	r\r6ZrandrirjrkZsavez_compressed�loadr)rrrJ�npz_file�npz�arr1r=r=r>�test_compressed_roundtrip�s&r|z
i1, i4, i1)Zalign�a�br�)�names�formats�offsetsr1�d)r�r�)r}�r~ZaaZbb)r�r�r�Ztitles)r�r��itemsize�dtcCs�t�d|�}td�D]}|d||<qtj�|d�}tj||d�t�|��}|d}Wd�n1sj0Yt||�dS)Nrr4zaligned.npzrZrJ)	r\�zeros�rangerirjrk�savezrxr)rrr�rJrsryrzr{r=r=r>�test_load_padded_dtypes&r�cCs:d}tj�tj�t�d|�}t�|�}t|t�d��dS)Nzwin64python2.npy�datar)	rirjrk�dirname�__file__r\rxrr])�fnamerjr�r=r=r>�%test_python2_python3_interoperabilitys
r�c	Cs�tj�tj�t�d�}tjdtddgtd�}dD�]L}tj�||�}dD]�}tj	|d|d�}|�
d	�rx|d
}|��n|}|dkr�|�d�r�t
t|d
t��t|dd�|dd��t|d�|�|d�qHt
t|d
t��t||�qH|�d�r0|�
d	��rVtj	|dd�}tt|jd
�|��tj	|dddd�}tt|jd
�|��q0tttj	|dd�tttj	|dddd�q0dS)Nr�u優良s不良r)�py2-objarr.npy�py2-objarr.npzzpy3-objarr.npyzpy3-objarr.npz)�bytes�latin1T�rD�encodingz.npzrr�Zpy2rrrCF)rDZfix_importsr�)rirjrkr�r�r\�arrayr�rWrx�endswith�close�
startswithr�
isinstancer^r�encoder�r�UnicodeError�__getitem__�ImportError)�data_dirZexpectedr�rjr�Zdata_fr�r=r=r>�test_pickle_python2_python3sJ
��




�

�
�r�cCs�tj�tj�t�d�}tj�|d�}tttj|ddd�tj�|d�}tj|ddd��}tt|j	d�Wd�n1sz0Ytj�|d�}tttj
|tjdgtd	�dd
�dS)Nr�r�Fr�r�r�rzpickle-disabled.npyrrC)
rirjrkr�r�rrYr\rxr��saver�rW)rrr�rjrKr=r=r>�test_pickle_disallowFs
�,�r�)rrZi1)r�r�r�r�)r)rr2rr3cCs8t�|j�}t||�t�d|�}t|�}t||�dS)Nr)r
Zdescr_to_dtype�descrrRr\r�rNr)r��dt1r{rMr=r=r>�test_descr_to_dtypeUs
2
r�cCs�t�}dd�td�D�}tjd|d�}tj||dd�tjdd	��<}t�d
dt	�t�||�t
|djt	u�Wd�n1s�0Y|�d�|�
�}t
t|�tjdk�|�d�tj|d
d�}t||�tttj||d�dS)NcSsg|]}d|dtf�qS�z%d�d��float��.0rsr=r=r>�
<listcomp>��z$test_version_2_0.<locals>.<listcomp>����r�rr��versionT��record�alwaysr�r�@
��max_header_size�r*r)rr�r\r]r
rF�warnings�catch_warnings�filterwarnings�UserWarningr�category�seek�readline�len�ARRAY_ALIGNrHrrrY)rKr�r��w�header�nr=r=r>�test_version_2_0�s0


r�c	Cs.dd�td�D�}tjd|d�}tj�|d�}tj�|d�}tttj	|d|j
|jd	d
�tj	|d|j
|jdd
�}||d<|��tj	|d
dd�}t
||�tjdd��X}t�ddt�tj	|d|j
|jdd
�}t|djtu�||d<|��Wd�n1�s0Ytj	|d
dd�}t
||�dS)NcSsg|]}d|dtf�qSr�r�r�r=r=r>r��r�z+test_version_2_0_memmap.<locals>.<listcomp>r�r�rzversion2_01.npyzversion2_02.npyrbr�)rcrrdr�r�.rgr�)rcr�Tr�r�r�r)r�r\r]rirjrkrrYr
rprrdrqrr�r�r�r�rr�)rrr�r�Ztf1Ztf2rur�r=r=r>�test_version_2_0_memmap�s0��
�(r��	mmap_modergcCstj�|d�}tjddddd�}tjtdd��t�||�Wd�n1sT0Ytj	t
d	d��tj||d
�Wd�n1s�0Ytj	t
d	d�� tj||dd�Wd�n1s�0Ytj||d
d�}t||�tj||dd�}t||�dS)Nzlarge_header.npyr*�i,�'rsr�.*format 2.0��match�
Header.*large)r�� N)r�r�T)r�rD� �)
rirjrkr\r��pytest�warnsr�r��raisesrYrxr)rrr�rKrJ�resr=r=r>�test_huge_header�s*,.
r�cCstj�|d�}tjddddd�}tjtdd��tj||d	�Wd�n1sV0Ytj	t
d
d��t�|�dWd�n1s�0Ytj	t
d
d��"tj|dd
�dWd�n1s�0Ytj|dd�d}t||�tj|dd
�d}t||�dS)Nzlarge_header.npzr*r�r�rsrr�r�rZr�rJr�r�TrCr�)
rirjrkr\r�r�r�r�r�r�rYrxr)rrrKrJr�r=r=r>�test_huge_header_npz�s,,0
r�c	Cs�t�}t�d�}tj||dd�t�||�tj||dd�t�||�tj||dd�t�||�gd�}|D]>}ttd�� tj|||d�Wd�qp1s�0YqpdS)Nr*r�r�r�))r*r*)rr)rr*r)�r�z we only support format version.*)rr\�aranger
rFrrY)rKrJZbad_versionsr�r=r=r>�test_write_version�s
�r�)s�NUMPYs�NUMPYs�NUMPYs�NUMPYs�NUMPYs�NUMPY��)s�NUMPYsNUMPYs�numpys�MATLBs�NUMPYs�NUMPYr�cCs�t�}t�}tjdtd�}tj||dd�tj||dd�|�d�|�d�t�|�}t�|�}t|dk�t|dk�t|�	�tj
k�t|�	�tj
k�dS)N�rrrr�r�r�r)rr\r]r�r
rFr�Z
read_magicr�tell�	MAGIC_LEN)�s1�s2rJZversion1Zversion2r=r=r>�test_read_magics



r�cCs$tD]}t|�}tttj|�qdSrO)�malformed_magicrrrYr
rH��magicrKr=r=r>�test_read_magic_bad_magic.sr�cCs(ttD]}t|�}tttj|�qdSrO)�bad_version_magicr�rrrYr
rHr�r=r=r>�test_read_version_1_0_bad_magic4sr�cCsDtttjdd�tttjdd�tttjdd�tttjdd�dS)Nrr*�)rrYr
r�r=r=r=r>�test_bad_magic_args:sr�cCsFt�}ddd�}t�||�t�}ddddd�}tttj||�dS)Nr*r)r}r~Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr�)r}r~r1)rr
�write_array_header_1_0rrY��sr�r=r=r>�test_large_headerAs
r�cCsrt�}tjdtd�}tj||dd�|�tj�t�|�\}}}t	|�
�tjdk�t	|||fddtfk�dS)Nr�rr�r�rF)rr\r]r�r
rFr�r��read_array_header_1_0rr�r��r�rJrdZfortranrr=r=r>�test_read_array_header_1_0Ksr�cCsrt�}tjdtd�}tj||dd�|�tj�t�|�\}}}t	|�
�tjdk�t	|||fddtfk�dS)Nr�rr�r�rF)rr\r]r�r
rFr�r�Zread_array_header_2_0rr�r�r�r=r=r>�test_read_array_header_2_0Xsr�cCs�t�}tttj|�td�}tttj|�td�}tttj|�ddd�}t�}t�||�tttj|�ddddd�}t�}t�||�tttj|�dS)	N�1s�r*rr)rdr�Fr)rdrer�Zextrakey)rrrYr
r�r�r�r=r=r>�test_bad_headeres(��r�cCs�tjdkstjdkrt�d�tj�|d�}zddl}|�ddd|g�Wnt	yft�d	�Yn0t
|d
��0}|�d�t�
d�}t�||�Wd�n1s�0Yt
|d
��$}|�d�t�|�}Wd�n1s�0Yt||�dS)N�win32�cygwinz)Unknown if Windows has sparse filesystemsZsparse_filer�truncatez-sZ
5368709120zCould not create 5GB large fileralr4rf)�sys�platformr��skiprirjrk�
subprocessZ
check_call�	Exceptionrlr�r\r�r�rxr)rrZtf_name�sprKr�rgr=r=r>�test_large_file_support�s 


*
(r�ztest requires 64-bit system)�reasonl)Z
free_bytescCs�d}ztj|tjd�}Wnty4t�d�Yn0tj�|d�}t	|d��}tj
||d�Wd�n1sr0Y~t	|d��}t�|�d}Wd�n1s�0YdS)	N)i@rrzCould not create large fileZ
large_archiverarZrfrJ)r\�empty�uint8�MemoryErrorr�r�rirjrkrlr�rx)rrrdr}r�rKZnew_ar=r=r>�test_large_archive�s,,rcCsFtj�|d�}t�|�t�|��}Wd�n1s80YdS)Nznothing.npz)rirjrkr\r�rx)rrr�Znpsr=r=r>�test_empty_npz�s
rc	Cs
tjgd�dtfdtfgd�}tj�|d�}t|d�� }tj||dd�Wd�n1s\0Yt|d	��}t�	|�}Wd�n1s�0Yt
||�t|d��H}tt�� tj||dd�Wd�n1s�0YWd�n1s�0YdS)
N)�r*rr�rr��intu整形rzunicode.npyra)rrr�rf)
r\r�rrirjrkrlr
rFrHrrr�)rrrJr�rKrMr=r=r>�test_unicode_field_names�s
��	.(

rzdt, failZS3Zsome�stuff)�metadataZsubarrayr)�rrzPyPy bug in error formattingcCs�tjd|d�}t�}tt��t�||�Wd�n1s>0Y|�d�|r�tt��t�	|�Wd�q�1s~0Yn t�	|�}ddl
m}t||�dS)Nr
rr)�
_has_metadata)
r\r]rrr�r�r�rrYrxZnumpy.lib.formatr	r)r�ZfailrJ�bufrMr	r=r=r>�test_metadata_dtype�s
*

*

r)h�__doc__r�rir�r��iorZnumpyr\Z
numpy.testingrrrrrrZnumpy.testing._private.utilsr	Z	numpy.libr
r�Zint8Zuint16Zint16Zuint32Zint32Zuint64Zint64Zfloat32Zfloat64Z	complex64Z
complex128rWZscalarsrSZscalarZendianrZnewbyteorderr�ZastypeZbasic�extendr�Zreshape�TZPdescrZPbufferTZNdescrZNbufferTr�rTr5rNrPrQrRrVrXr[r`ZmarkZslowrvr|r�Zdt2Zdt3Zdt4Zdt5Zdt6Zparametrizer�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ZskipifZintpr�rrrr��implementationr�rr=r=r=r>�<module>s� �
�
�
�
��&�&���
	

��
/������


���
���
�
���1





���
���
�

Zerion Mini Shell 1.0