Ë
    ›2Úiõ  ã                  óÈ   — 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y)é    )Úannotationsé   )ÚArray)Úresult_type)ÚListÚOptionalÚTupleÚUnionN©Úaxisc              óŒ   — 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  ó4   K  — | ]  }|j                   –— Œ y ­w©N©Ú_array©Ú.0Úas     ú^/var/www/html/acx/venv/lib/python3.12/site-packages/numpy/array_api/_manipulation_functions.pyú	<genexpr>zconcat.<locals>.<genexpr>   ó   è ø€ Ò, �1—8•8Ñ,ùó   ‚)r   Údtype)r   Útupler   Ú_newÚnpÚconcatenate)Úarraysr   r   s      r   Úconcatr      s:   € ô ˜Ð €EÜÑ, VÔ,Ó,€FÜ�:‰:”b—n‘n V°$¸eÔDÓEÐEó    c              óh   — 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   ©Úxr   s     r   r"   r"      s"   € ô �:‰:”b—n‘n Q§X¡X¨tÓ4Ó5Ð5r    c              ój   — 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‘g˜aŸh™h¨TÔ2Ó3Ð3r    c               óh   — 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$   Úaxess     r   Úpermute_dimsr*   .   s"   € ô �:‰:”b—l‘l 1§8¡8¨TÓ2Ó3Ð3r    )Úcopyc              óè   — | 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   r+   ÚreshapeÚshares_memoryÚAttributeErrorr   r   )r$   Úshaper+   ÚdataÚreshapeds        r   r-   r-   8   s^   € ð �8‰8€DÙÜ�w‰w�t‹}ˆä�z‰z˜$ Ó&€Hàˆu�}œR×-Ñ-¨d°HÔ=ÜÐLÓMÐMä�:‰:�hÓÐr    c              ól   — 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$   Úshiftr   s      r   r4   r4   O   s$   € ô �:‰:”b—g‘g˜aŸh™h¨°DÔ9Ó:Ð:r    c               ój   — 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   r7   r7   ^   s"   € ô �:‰:”b—j‘j §¡°Ô5Ó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  ó4   K  — | ]  }|j                   –— Œ y ­wr   r   r   s     r   r   zstack.<locals>.<genexpr>o   r   r   r   )r   r   r   r   r   Ústack)r   r   s     r   r:   r:   g   s6   € ô �ÑÜÑ, VÔ,Ó,€FÜ�:‰:”b—h‘h˜v¨DÔ1Ó2Ð2r    )r   ú%Union[Tuple[Array, ...], List[Array]]r   zOptional[int]Úreturnr   )r$   r   r   Úintr<   r   )r$   r   r   ú%Optional[Union[int, Tuple[int, ...]]]r<   r   )r)   úTuple[int, ...]r$   r   r<   r   )r0   r?   r$   r   r+   zOptional[Bool]r<   r   )r5   úUnion[int, Tuple[int, ...]]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*   r-   r4   r7   r:   © r    r   ú<module>rG      s¼   ðÝ "å  Ý -ç /Ó /ã ð PQñFØ1ðFØ?LðFà
óFó6ð HLõ 4ó4ð $(ñ	 à"ð ð !ð	 ð -2ó	 ð8 37ñ;ð 'ð;Øð;ð
 0ð;ð ó;ó7ð LMö 	3r    