
    Ng                        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dS )    )annotations   )Array)
NamedTupleNc                  8    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__     Z/var/www/html/ai-engine/env/lib/python3.11/site-packages/numpy/array_api/_set_functions.pyr   r      s7         MMMNNNMMMMMr   r   c                  $    e Zd ZU ded<   ded<   dS )UniqueCountsResultr   r	   r   Nr   r   r   r   r   r      s"         MMMMMMMMr   r   c                  $    e Zd ZU ded<   ded<   dS )UniqueInverseResultr   r	   r   Nr   r   r   r   r   r   !   s'         MMMr   r   xr   returnc               0   t          j        | j        dddd          \  }}}}|                    | 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)r   r	   r
   r   r   s        r   
unique_allr(   &   s     02y	0 0 0,FG_f &--ag66O
6
7
?##
6	  r   c               d    t          j        | j        dddd          }t          d |D              S )NTFr   c                6    g | ]}t          j        |          S r   )r   r'   ).0is     r   
<listcomp>z!unique_counts.<locals>.<listcomp>G   s     ;;;!
1;;;r   )r"   r#   r$   r   r   ress     r   unique_countsr0   >   sE    
)	  C ;;s;;;<<r   c                   t          j        | j        dddd          \  }}|                    | j                  }t          t          j        |          t          j        |                    S )r   FTr   )r"   r#   r$   r%   r&   r   r   r'   )r   r	   r   s      r   unique_inverser2   J   sk     !i	  FO &--ag66Ouz&115:o3N3NOOOr   c               f    t          j        | j        dddd          }t          j        |          S )r   Fr   )r"   r#   r$   r   r'   r.   s     r   unique_valuesr4   ]   s;     )	  C :c??r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )
__future__r   _array_objectr   typingr   numpyr"   r   r   r   r(   r0   r2   r4   r   r   r   <module>r9      s#   " " " " " "                          j          
    *   
   0	= 	= 	= 	=P P P P&     r   