
    Ng                        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Zd"dZddd#dZd$dZddd%dZddd&dZd'dZd dd(d ZdS ))    )annotations   )Array)result_type)ListOptionalTupleUnionNaxisarrays%Union[Tuple[Array, ...], List[Array]]r   Optional[int]returnr   c                  t          |  }t          d | D                       } t          j        t	          j        | ||                    S )z
    Array API compatible wrapper for :py:func:`np.concatenate <numpy.concatenate>`.

    See its docstring for more information.
    c              3  $   K   | ]}|j         V  d S N_array.0as     c/var/www/html/ai-engine/env/lib/python3.11/site-packages/numpy/array_api/_manipulation_functions.py	<genexpr>zconcat.<locals>.<genexpr>   $      ,,18,,,,,,    )r   dtype)r   tupler   _newnpconcatenate)r   r   r   s      r   concatr"      sK      E,,V,,,,,F:bnV$eDDDEEEr   xintc              Z    t          j        t          j        | 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   s     r   r&   r&      s"     :bnQXt44555r   %Optional[Union[int, Tuple[int, ...]]]c              \    t          j        t          j        | j        |                    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'   s     r   r*   r*   #   s%     :bgahT222333r   axesTuple[int, ...]c               Z    t          j        t          j        | j        |                    S )z
    Array API compatible wrapper for :py:func:`np.transpose <numpy.transpose>`.

    See its docstring for more information.
    )r   r   r    	transposer   )r#   r+   s     r   permute_dimsr/   .   s"     :bl18T22333r   )copyshaper0   Optional[Bool]c                  | j         }|rt          j        |          }t          j        ||          }|du r$t          j        ||          st          d          t          j        |          S )z~
    Array API compatible wrapper for :py:func:`np.reshape <numpy.reshape>`.

    See its docstring for more information.
    Fz-Incompatible shape for in-place modification.)r   r    r0   reshapeshares_memoryAttributeErrorr   r   )r#   r1   r0   datareshapeds        r   r4   r4   8   sj     8D wt}}z$&&Hu}}R-dH==}LMMM:hr   shiftUnion[int, Tuple[int, ...]]c              ^    t          j        t          j        | j        ||                    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#   r9   r   s      r   r<   r<   O   s'     :bgahD999:::r   c               \    t          j        t          j        | j        |                    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'   s     r   r>   r>   ^   s%     :bj555666r   c                  t          |   t          d | D                       } t          j        t	          j        | |                    S )zz
    Array API compatible wrapper for :py:func:`np.stack <numpy.stack>`.

    See its docstring for more information.
    c              3  $   K   | ]}|j         V  d S r   r   r   s     r   r   zstack.<locals>.<genexpr>o   r   r   r   )r   r   r   r   r    stack)r   r   s     r   rA   rA   g   sJ     ,,V,,,,,F:bhvD111222r   )r   r   r   r   r   r   )r#   r   r   r$   r   r   )r#   r   r   r(   r   r   )r+   r,   r#   r   r   r   )r1   r,   r#   r   r0   r2   r   r   )r9   r:   r#   r   r   r(   r   r   )r   r:   r#   r   r   r   )r   r   r   r$   r   r   )
__future__r   _array_objectr   _data_type_functionsr   typingr   r   r	   r
   numpyr    r"   r&   r*   r/   r4   r<   r>   rA    r   r   <module>rH      sl   " " " " " "             - - - - - - / / / / / / / / / / / /     PQF F F F F F6 6 6 6 HL 4 4 4 4 4 44 4 4 4 $(	           8 37; ; ; ; ; ;7 7 7 7 LM 	3 	3 	3 	3 	3 	3 	3 	3r   