§
    €ÛgÀ  ã                  ó¢   — 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„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     ú]/granary/edev/quantum/lib/python3.11/site-packages/numpy/array_api/_manipulation_functions.pyú	<genexpr>zconcat.<locals>.<genexpr>   ó$   è è € Ð,Ð, �1”8Ð,Ð,Ð,Ð,Ð,Ð,ó    )r   Údtype)r   Útupler   Ú_newÚnpÚconcatenate)r   r   r   s      r   Úconcatr"      sK   € õ ˜Ð €EÝÐ,Ð, VÐ,Ñ,Ô,Ñ,Ô,€FÝŒ:•b”n V°$¸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"   € õ Œ:•b”n Q¤X¨tÑ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%   € õ Œ:•b”g˜aœh¨TÐ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"   € õ Œ:•b”l 1¤8¨TÑ2Ô2Ñ3Ô3Ð3r   Úshapec               óZ   — t          j        t          j        | 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#   r0   s     r   r2   r2   8   s"   € õ Œ:•b”j ¤¨5Ñ1Ô1Ñ2Ô2Ð2r   Ú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#   r3   r   s      r   r6   r6   A   s'   € õ Œ:•b”g˜aœh¨°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   r8   r8   P   s%   € õ Œ:•b”j ¤°Ð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>a   r   r   r   )r   r   r   r   r    Ústack)r   r   s     r   r;   r;   Y   sJ   € õ �ÐÐÝÐ,Ð, VÐ,Ñ,Ô,Ñ,Ô,€FÝŒ:•b”h˜v¨DÐ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   )r0   r,   r#   r   r   r   )r3   r4   r#   r   r   r(   r   r   )r   r4   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/   r2   r6   r8   r;   © r   r   ú<module>rB      s]  ðØ "Ð "Ð "Ð "Ð "Ð "à  Ð  Ð  Ð  Ð  Ð  Ø -Ð -Ð -Ð -Ð -Ð -à /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /à Ð Ð Ð ð PQðFð Fð Fð Fð Fð Fð6ð 6ð 6ð 6ð HLð 4ð 4ð 4ð 4ð 4ð 4ð4ð 4ð 4ð 4ð3ð 3ð 3ð 3ð 37ð;ð ;ð ;ð ;ð ;ð ;ð7ð 7ð 7ð 7ð LMð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3r   