
    oh                        d dl mZ ddlmZ d dlmZ d dlZ G d de      Z G d d	e      Z	 G d
 de      Z
ddZddZddZddZy)    )annotations   )Array)
NamedTupleNc                  6    e Zd ZU ded<   ded<   ded<   ded<   y)UniqueAllResultr   valuesindicesinverse_indicescountsN__name__
__module____qualname____annotations__     X/var/www/html/engine/venv/lib/python3.12/site-packages/numpy/array_api/_set_functions.pyr   r      s    MNMr   r   c                  "    e Zd ZU ded<   ded<   y)UniqueCountsResultr   r	   r   Nr   r   r   r   r   r      s    MMr   r   c                  "    e Zd ZU ded<   ded<   y)UniqueInverseResultr   r	   r   Nr   r   r   r   r   r   !   s    Mr   r   c               >   t        j                  | j                  dddd      \  }}}}|j                  | j                        }t        t        j                  |      t        j                  |      t        j                  |      t        j                  |            S )|
    Array API compatible wrapper for :py:func:`np.unique <numpy.unique>`.

    See its docstring for more information.
    TFreturn_countsreturn_indexreturn_inverse	equal_nan)npunique_arrayreshapeshaper   r   _new)xr	   r
   r   r   s        r   
unique_allr'   &   s     02yy	0,FG_f &--agg6O

6

7

?#

6	 r   c                   t        j                  | j                  dddd      }t        |D cg c]  }t	        j
                  |       c} S c c}w )NTFr   )r    r!   r"   r   r   r%   )r&   resis      r   unique_countsr+   >   sF    
))	C s;!

1;<<;s   Ac                   t        j                  | j                  dddd      \  }}|j                  | j                        }t        t        j                  |      t        j                  |            S )r   FTr   )r    r!   r"   r#   r$   r   r   r%   )r&   r	   r   s      r   unique_inverser-   J   s_     !ii	FO &--agg6Ouzz&15::o3NOOr   c               t    t        j                  | j                  dddd      }t        j                  |      S )r   Fr   )r    r!   r"   r   r%   )r&   r)   s     r   unique_valuesr/   ]   s5     ))	C ::c?r   )r&   r   returnr   )r&   r   r0   r   )r&   r   r0   r   )r&   r   r0   r   )
__future__r   _array_objectr   typingr   numpyr    r   r   r   r'   r+   r-   r/   r   r   r   <module>r5      sJ    "    j  
* 
0	=P&r   