o
    h                     @   sP   d Z ddlZg dZejdkZerdpdZerdpdZddd	d
dZdd ZdS )z Byteorder utilities for system - numpy byteorder encoding

Converts a variety of string codes for little endian, big endian,
native byte order and swapped byte order to explicit NumPy endian
codes - one of '<' (little endian) or '>' (big endian)

    N)aliasesnative_codeswapped_code	sys_is_leto_numpy_codelittle<>)r   r   lle)bigr	   bbe)native=)swappedS)r   r   r   r   c                 C   sb   |   } | du r
tS | td v rdS | td v rdS | td v r"tS | td v r*tS td|  )	a  
    Convert various order codings to NumPy format.

    Parameters
    ----------
    code : str
        The code to convert. It is converted to lower case before parsing.
        Legal values are:
        'little', 'big', 'l', 'b', 'le', 'be', '<', '>', 'native', '=',
        'swapped', 's'.

    Returns
    -------
    out_code : {'<', '>'}
        Here '<' is the numpy dtype code for little endian,
        and '>' is the code for big endian.

    Examples
    --------
    >>> import sys
    >>> from scipy.io.matlab._byteordercodes import to_numpy_code
    >>> sys_is_le = (sys.byteorder == 'little')
    >>> sys_is_le
    True
    >>> to_numpy_code('big')
    '>'
    >>> to_numpy_code('little')
    '<'
    >>> nc = to_numpy_code('native')
    >>> nc == '<' if sys_is_le else nc == '>'
    True
    >>> sc = to_numpy_code('swapped')
    >>> sc == '>' if sys_is_le else sc == '<'
    True

    Nr   r   r   r	   r   r   zWe cannot handle byte order )lowerr   r   r   
ValueError)code r   S/var/www/vscode/kcb/lib/python3.10/site-packages/scipy/io/matlab/_byteordercodes.pyr      s   %r   )	__doc__sys__all__	byteorderr   r   r   r   r   r   r   r   r   <module>   s    
