a
    hÝEb€  ã                   @  sò   d dl mZ ddlmZ ddlmZ d dlmZmZm	Z	m
Z
 d dlZd dœdd	d
dœdd„Zd
dd
dœdd„Zddœd
dd
dœdd„Zdd
d
dœdd„Zdd
d
dœdd„Zddœdd
dd
dœdd„Zdd
d
d œd!d"„Zd dœddd
dœd#d$„ZdS )%é    )Úannotationsé   )ÚArray)Úresult_type)ÚListÚOptionalÚTupleÚUnionN©Úaxisz%Union[Tuple[Array, ...], List[Array]]zOptional[int]r   )Úarraysr   Úreturnc               C  s0   t | Ž }tdd„ | D ƒƒ} t tj| ||d�¡S )z†
    Array API compatible wrapper for :py:func:`np.concatenate <numpy.concatenate>`.

    See its docstring for more information.
    c                 s  s   | ]}|j V  qd S ©N©Ú_array©Ú.0Úa© r   úg/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/numpy/array_api/_manipulation_functions.pyÚ	<genexpr>   ó    zconcat.<locals>.<genexpr>)r   Údtype)r   Útupler   Ú_newÚnpZconcatenate)r   r   r   r   r   r   Úconcat   s    
r   Úint)Úxr   r   c               C  s   t  t | j|¡¡S )z†
    Array API compatible wrapper for :py:func:`np.expand_dims <numpy.expand_dims>`.

    See its docstring for more information.
    )r   r   r   Úexpand_dimsr   ©r   r   r   r   r   r      s    r   z%Optional[Union[int, Tuple[int, ...]]]c               C  s   t  tj| j|d�¡S )zx
    Array API compatible wrapper for :py:func:`np.flip <numpy.flip>`.

    See its docstring for more information.
    r
   )r   r   r   Úflipr   r    r   r   r   r!   #   s    r!   zTuple[int, ...])Úaxesr   r   c                C  s   t  t | j|¡¡S )z‚
    Array API compatible wrapper for :py:func:`np.transpose <numpy.transpose>`.

    See its docstring for more information.
    )r   r   r   Z	transposer   )r   r"   r   r   r   Úpermute_dims.   s    r#   )Úshaper   r   c                C  s   t  t | j|¡¡S )z~
    Array API compatible wrapper for :py:func:`np.reshape <numpy.reshape>`.

    See its docstring for more information.
    )r   r   r   Úreshaper   )r   r$   r   r   r   r%   7   s    r%   zUnion[int, Tuple[int, ...]])Úshiftr   r   r   c               C  s   t  tj| j||d�¡S )zx
    Array API compatible wrapper for :py:func:`np.roll <numpy.roll>`.

    See its docstring for more information.
    r
   )r   r   r   Úrollr   )r   r&   r   r   r   r   r'   @   s    r'   )r   r   r   c                C  s   t  tj| j|d�¡S )z~
    Array API compatible wrapper for :py:func:`np.squeeze <numpy.squeeze>`.

    See its docstring for more information.
    r
   )r   r   r   Úsqueezer   r    r   r   r   r(   O   s    r(   c               C  s.   t | Ž  tdd„ | D ƒƒ} t tj| |d�¡S )zz
    Array API compatible wrapper for :py:func:`np.stack <numpy.stack>`.

    See its docstring for more information.
    c                 s  s   | ]}|j V  qd S r   r   r   r   r   r   r   `   r   zstack.<locals>.<genexpr>r
   )r   r   r   r   r   Ústack)r   r   r   r   r   r)   X   s    r)   )Ú
__future__r   Z_array_objectr   Z_data_type_functionsr   Útypingr   r   r   r	   Únumpyr   r   r   r!   r#   r%   r'   r(   r)   r   r   r   r   Ú<module>   s   ÿ		û	