o
    ʩZh                     @  s   d dl mZ ddlmZ d dlmZ d dlZG dd deZG dd	 d	eZ	G d
d deZ
dddZdddZdddZdddZdS )    )annotations   )Array)
NamedTupleNc                   @  s.   e Zd ZU ded< ded< ded< ded< dS )UniqueAllResultr   valuesindicesinverse_indicescountsN__name__
__module____qualname____annotations__ r   r   U/var/www/html/lang_env/lib/python3.10/site-packages/numpy/array_api/_set_functions.pyr      s
   
 r   c                   @     e Zd ZU ded< ded< dS )UniqueCountsResultr   r   r
   Nr   r   r   r   r   r         
 r   c                   @  r   )UniqueInverseResultr   r   r	   Nr   r   r   r   r   r   !   r   r   xr   returnc                C  sP   t j| jddddd\}}}}|| j}tt|t|t|t|S )|
    Array API compatible wrapper for :py:func:`np.unique <numpy.unique>`.

    See its docstring for more information.
    TFZreturn_countsZreturn_indexZreturn_inverseZ	equal_nan)npunique_arrayreshapeshaper   r   _new)r   r   r   r	   r
   r   r   r   
unique_all&   s   	r    c                C  s(   t j| jddddd}tdd |D  S )NTFr   c                 S  s   g | ]}t |qS r   )r   r   ).0ir   r   r   
<listcomp>G   s    z!unique_counts.<locals>.<listcomp>)r   r   r   r   r   resr   r   r   unique_counts>   s   r&   c                C  s<   t j| jddddd\}}|| j}tt|t|S )r   FTr   )r   r   r   r   r   r   r   r   )r   r   r	   r   r   r   unique_inverseJ   s   
	r'   c                C  s    t j| jddddd}t|S )r   Fr   )r   r   r   r   r   r$   r   r   r   unique_values]   s   
r(   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )
__future__r   Z_array_objectr   typingr   numpyr   r   r   r   r    r&   r'   r(   r   r   r   r   <module>   s    


