§
    ¡öÉg‡”  ã                   ó–   — d Z ddlZddlmZmZmZmZmZmZm	Z	 ddl
mZ ddlmZmZmZmZ ddlZ G d„ d¦  «        Z G d„ d	¦  «        ZdS )
z-Test functions for 1D array set operations.

é    N)Úediff1dÚintersect1dÚsetxor1dÚunion1dÚ	setdiff1dÚuniqueÚisin)Ú	AxisError)Úassert_array_equalÚassert_equalÚassert_raisesÚassert_raises_regexc                   óÈ  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j
                             d ej        g d¢ej        ¬	¦  «        d
ej        df ej        g d¢ej        ¬	¦  «         ej        g d¢ej        ¬	¦  «        d
df ej        g d¢ej        ¬	¦  «        ej        ej        dfg¦  «        d„ ¦   «         Ze	j
                             d ej        g d¢ej        ¬	¦  «        dd ej        g d¢ej        ¬	¦  «        f ej        g d¢ej        ¬	¦  «         ej        dgej        ¬	¦  «        d
 ej        g d¢ej        ¬	¦  «        f ej        g d¢ej        ¬	¦  «        dd ej        g d¢ej        ¬	¦  «        f ej        g d¢ej        ¬	¦  «        dd ej        g d¢ej        ¬	¦  «        fg¦  «        d„ ¦   «         Ze	j
                             dg d¢¦  «        d„ ¦   «         Ze	j
                             dg d¢¦  «        d„ ¦   «         Zd „ Ze	j
                             dg d¢¦  «        d!„ ¦   «         Zd"„ Ze	j
                             dg d¢¦  «        d#„ ¦   «         Ze	j
                             dd
d$g¦  «        d%„ ¦   «         Zd&„ Ze	j
                             d'ej        ej        fej        ej        fej        ej         fej         ej        fej        ej        fej        ej        fej!        ej        fg¦  «        e	j
                             dg d¢¦  «        d(„ ¦   «         ¦   «         Z"e	j
                             d) ej        d*d+gej!        ¬	¦  «         ej        d,d-gej        ¬	¦  «        g¦  «        e	j
                             dg d¢¦  «        d.„ ¦   «         ¦   «         Z#e	j
                             dg d¢¦  «        d/„ ¦   «         Z$d0„ Z%d1„ Z&d2„ Z'd3„ Z(d4„ Z)d5„ Z*d6„ Z+d7„ Z,d8„ Z-d9„ Z.d:„ Z/d
S );Ú
TestSetOpsc                 óÎ  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||d¬¦  «        }t          ||¦  «         t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||¦  «        }t          ||¦  «         t          g t          g g ¦  «        ¦  «         d S )N©é   é   é   é   ©r   é   é   r   r   )r   r   r   T©Úassume_unique)r   r   r   r   r   )r   r   r   r   r   r   r   )ÚnpÚarrayr   r   )ÚselfÚaÚbÚecÚcÚeds         úl/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/numpy/lib/tests/test_arraysetops.pyÚtest_intersect1dzTestSetOps.test_intersect1d   sÜ   € åŒH�\�\�\Ñ"Ô"ˆÝŒH�_�_�_Ñ%Ô%ˆåŒX�i�i�iÑ Ô ˆÝ˜˜1¨DÐ1Ñ1Ô1ˆÝ˜1˜bÑ!Ô!Ð!õ ŒH�_�_�_Ñ%Ô%ˆÝŒHÐ*Ð*Ð*Ñ+Ô+ˆåŒX�i�i�iÑ Ô ˆÝ˜˜1ÑÔˆÝ˜1˜bÑ!Ô!Ð!Ý˜2�{¨2¨rÑ2Ô2Ñ3Ô3Ð3Ð3Ð3ó    c                 óÀ   —  G d„ d¦  «        } |¦   «         }t          ||¦  «        }t          ||¦  «         t          g d¢g d¢¦  «        }t          |g d¢¦  «         d S )Nc                   ó   — e Zd Zdd„ZdS )ú4TestSetOps.test_intersect1d_array_like.<locals>.TestNc                 ó*   — t          j        d¦  «        S )Nr   )r   Úarange)r   ÚdtypeÚcopys      r$   Ú	__array__z>TestSetOps.test_intersect1d_array_like.<locals>.Test.__array__&   s   € Ý”y ‘|”|Ð#r&   )NN)Ú__name__Ú
__module__Ú__qualname__r.   © r&   r$   ÚTestr)   %   s(   € € € € € ð$ð $ð $ð $ð $ð $r&   r3   ©r   r   r   )r   r   )r   r3   r   Úress       r$   Útest_intersect1d_array_likez&TestSetOps.test_intersect1d_array_like#   s‡   € ð	$ð 	$ð 	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð ˆD‰FŒFˆÝ˜!˜QÑÔˆÝ˜3 Ñ"Ô"Ð"Ý˜)˜)˜) Y Y YÑ/Ô/ˆÝ˜3 	 	 	Ñ*Ô*Ð*Ð*Ð*r&   c                 óZ  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||dd¬¦  «        \  }}}t          j        g d¢¦  «        }t          ||¦  «         t          ||         |¦  «         t          ||         |¦  «         t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||d¬¦  «        \  }}}t          j        g d¢¦  «        }t          ||¦  «         t          ||         |¦  «         t          ||         |¦  «         t          j        g d	¢g d
¢g¦  «        }t          j        g d¢g d¢g¦  «        }t          ||dd¬¦  «        \  }}}t          j        ||j        ¦  «        }t          j        ||j        ¦  «        }	t          j        g d¢¦  «        }
t          |
||         ¦  «         t          |
||	         ¦  «         t          j        g d¢g d¢g¦  «        }t          j        g d¢g d¢g¦  «        }t          ||d¬¦  «        \  }}}t          j        ||j        ¦  «        }t          j        ||j        ¦  «        }	t          j        g d¢¦  «        }
t          |
||         ¦  «         t          |
||	         ¦  «         d S )N©r   r   r   r   )r   r   r   é   T)r   Úreturn_indices)r   r   r   )r   r   r   r   r   r   r   )r   é   r   r   r   r   r   r   )r:   )r   r   r   r9   )r   r;   r   é   )r   r   r   r9   )é
   é   r;   é	   )r   r9   r   r;   )r   r   r   r9   r9   )r   r   r;   r   r   )r   r   r   r   )r=   r>   r;   r   )r   r   r;   )r   r   r   r   Úunravel_indexÚshape)r   r   r    r"   Úi1Úi2ÚeeÚefÚui1Úui2Úeas              r$   Útest_intersect1d_indicesz#TestSetOps.test_intersect1d_indices/   s˜  € åŒH�\�\�\Ñ"Ô"ˆÝŒH�\�\�\Ñ"Ô"ˆÝ  1°DÈÐNÑNÔN‰	ˆˆ2ˆrÝŒX�i�i�iÑ Ô ˆÝ˜1˜bÑ!Ô!Ð!Ý˜1˜Rœ5 "Ñ%Ô%Ð%Ý˜1˜Rœ5 "Ñ%Ô%Ð%õ ŒHÐ*Ð*Ð*Ñ+Ô+ˆÝŒHÐ-Ð-Ð-Ñ.Ô.ˆÝ  1°TÐ:Ñ:Ô:‰	ˆˆ2ˆrÝŒX�l�l�lÑ#Ô#ˆÝ˜1˜bÑ!Ô!Ð!Ý˜1˜Rœ5 "Ñ%Ô%Ð%Ý˜1˜Rœ5 "Ñ%Ô%Ð%õ ŒH�l�l�l M M MÐ2Ñ3Ô3ˆÝŒH�l�l�l N N NÐ3Ñ4Ô4ˆÝ  1°DÈÐNÑNÔN‰	ˆˆ2ˆrÝÔ˜r 1¤7Ñ+Ô+ˆÝÔ˜r 1¤7Ñ+Ô+ˆÝŒX�l�l�lÑ#Ô#ˆÝ˜2˜q œvÑ&Ô&Ð&Ý˜2˜q œvÑ&Ô&Ð&õ ŒH�o�o�o   Ð7Ñ8Ô8ˆÝŒH�l�l�l N N NÐ3Ñ4Ô4ˆÝ  1°TÐ:Ñ:Ô:‰	ˆˆ2ˆrÝÔ˜r 1¤7Ñ+Ô+ˆÝÔ˜r 1¤7Ñ+Ô+ˆÝŒX�i�i�iÑ Ô ˆÝ˜2˜q œvÑ&Ô&Ð&Ý˜2˜q œvÑ&Ô&Ð&Ð&Ð&r&   c                 óŽ  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||¦  «        }t          ||¦  «         t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||¦  «        }t          ||¦  «         t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||¦  «        }t          ||¦  «         t          g t          g g ¦  «        ¦  «         d S )	Nr   r   )r   r   r   r4   )r9   r   r   ©r   r   r   r   r   r9   ©r   r;   r   r   ©r9   r   r   r;   ©r   r   r   r   ©r   r   r    r!   r"   s        r$   Útest_setxor1dzTestSetOps.test_setxor1dV   s*  € ÝŒH�\�\�\Ñ"Ô"ˆÝŒH�_�_�_Ñ%Ô%ˆåŒX�i�i�iÑ Ô ˆÝ�Q˜‰NŒNˆÝ˜1˜bÑ!Ô!Ð!åŒH�Y�Y�YÑÔˆÝŒH�Y�Y�YÑÔˆåŒXÐ(Ð(Ð(Ñ)Ô)ˆÝ�Q˜‰NŒNˆÝ˜1˜bÑ!Ô!Ð!åŒH�\�\�\Ñ"Ô"ˆÝŒH�\�\�\Ñ"Ô"ˆåŒXÐ(Ð(Ð(Ñ)Ô)ˆÝ�Q˜‰NŒNˆÝ˜1˜bÑ!Ô!Ð!å˜2�x¨¨BÑ/Ô/Ñ0Ô0Ð0Ð0Ð0r&   c                 óª  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||d¬¦  «        }t          ||¦  «         t          j        dgdgdgd	gg¦  «        }t          j        d
dgddgg¦  «        }t          j        g d¢¦  «        }t          ||d¬¦  «        }t          ||¦  «         d S )NrL   rM   rK   Tr   r   r;   r   r   r9   r   r   rN   rO   s        r$   Útest_setxor1d_uniquezTestSetOps.test_setxor1d_uniquen   sÞ   € ÝŒH�\�\�\Ñ"Ô"ˆÝŒH�\�\�\Ñ"Ô"ˆåŒXÐ(Ð(Ð(Ñ)Ô)ˆÝ�Q˜¨Ð.Ñ.Ô.ˆÝ˜1˜bÑ!Ô!Ð!åŒH�q�c˜A˜3   a SÐ)Ñ*Ô*ˆÝŒH�q˜!�f˜q !˜fÐ%Ñ&Ô&ˆåŒXÐ(Ð(Ð(Ñ)Ô)ˆÝ�Q˜¨Ð.Ñ.Ô.ˆÝ˜1˜bÑ!Ô!Ð!Ð!Ð!r&   c           	      ó˜  — t          j        g ¦  «        }t          j        dg¦  «        }t          j        ddg¦  «        }t          g t          |¦  «        ¦  «         t          dgt          |d¬¦  «        ¦  «         t          dgt          |d¬¦  «        ¦  «         t          ddgt          |dd¬¦  «        ¦  «         t          g t          |¦  «        ¦  «         t          dgt          |¦  «        ¦  «         t          g d¢t          |d	d
¬¦  «        ¦  «         t          g d¢t          |ddgd	dg¬¦  «        ¦  «         t          dd
gt          |d
¬¦  «        ¦  «         t          g d¢t          |d	dg¬¦  «        ¦  «         t          d	dgt          |d	¬¦  «        ¦  «         t          g d¢t          |ddg¬¦  «        ¦  «         d S )Nr   r   r   )Úto_begin)Úto_endéÿÿÿÿ)rT   rU   )r   r   r?   r   r?   )r   r9   r   r   r;   r   r9   r;   )r   r   r;   )r   r9   r   )r   r   r   r   )r   Ú	zero_elemÚone_elemÚtwo_elems       r$   Útest_ediff1dzTestSetOps.test_ediff1d}   sÆ  € Ý”H˜R‘L”Lˆ	Ý”8˜Q˜C‘=”=ˆÝ”8˜Q ˜FÑ#Ô#ˆå˜2�w yÑ1Ô1Ñ2Ô2Ð2Ý˜A˜3¥¨	¸AÐ >Ñ >Ô >Ñ?Ô?Ð?Ý˜A˜3¥¨	¸!Ð <Ñ <Ô <Ñ=Ô=Ð=Ý˜B ˜7¥G¨IÀÈ1Ð$MÑ$MÔ$MÑNÔNÐNÝ˜2�w xÑ0Ô0Ñ1Ô1Ð1Ý˜A˜3¥¨Ñ 1Ô 1Ñ2Ô2Ð2Ý˜9˜9˜9¥g¨hÀÈ1Ð&MÑ&MÔ&MÑNÔNÐNÝ˜?˜?˜?Ý" 8°q¸!°fÀaÈÀVÐLÑLÔLñ	Nô 	Nð 	Nå˜A˜q˜6¥7¨8¸AÐ#>Ñ#>Ô#>Ñ?Ô?Ð?Ý˜9˜9˜9¥g¨hÀÀ1¸vÐ&FÑ&FÔ&FÑGÔGÐGÝ˜A˜q˜6¥7¨8¸aÐ#@Ñ#@Ô#@ÑAÔAÐAÝ˜9˜9˜9¥g¨hÀ!ÀQÀÐ&HÑ&HÔ&HÑIÔIÐIÐIÐIr&   zary, prepend, append, expectedr4   ©r,   NrU   )r   r   r   rT   )ç      ð?g      @g      "@c                 ó°   — d                      |¦  «        }t          t          |¦  «        5  t          |||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz dtype of `{}` must be compatible©ÚaryrU   rT   )Úformatr   Ú	TypeErrorr   )r   r_   ÚprependÚappendÚexpectedÚmsgs         r$   Ú!test_ediff1d_forbidden_type_castsz,TestSetOps.test_ediff1d_forbidden_type_casts�   sª   € ð: 1×7Ò7¸ÑAÔAˆÝ ¥¨CÑ0Ô0ð 	&ð 	&Ý˜Ø!Ø$ð&ñ &ô &ð &ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s   «AÁAÁAzary,prepend,append,expectedi   i  )r   r   r   r   r   )r   r   r   r   )r   r   r   r   r   é÷ÿÿÿ)r   r   r   rg   c                 óx   — t          j        |||¬¦  «        }t          ||¦  «         |j        |j        k    sJ ‚d S )Nr^   )r   r   r   r,   )r   r_   rb   rc   rd   Úactuals         r$   Útest_ediff1d_scalar_handlingz'TestSetOps.test_ediff1d_scalar_handling³   sO   € õ: ” Ø#)Ø%,ð.ñ .ô .ˆõ 	�V˜XÑ&Ô&Ð&ØŒ|˜xœ~Ò-Ð-Ð-Ð-Ð-Ð-r&   Úkind)NÚsortÚtablec                 óº  ‡‡— d„ }t          j        |t          gdh¬¦  «        Šˆˆfd„}t          j        d¦  «                             g d¢¦  «        }t          j        g d¢g d¢g d	¢g¦  «        } |||¦  «         d
dg}d} |||¦  «         t          j        d¦  «        } |||¦  «          |||¦  «          |||¦  «          |d|¦  «          ||d¦  «          |dd¦  «         ‰dk    r&g }	 ||	|¦  «          |||	¦  «          ||	|	¦  «         t          t           j        t           j        fD ]¦}
‰dk    r|
t           j        k    rŒ|
t           j        t           j        hv rt          j        g d¢|
¬¦  «        }n |
t          hv rt          j        g d¢¦  «        }t          j        g |
¬¦  «        } |||¦  «          |||¦  «          |||¦  «         Œ§d S )Nc                 óz   — t          j        |¦  «                             ¦   «                              ¦   «         }| |v S )N)r   ÚasarrayÚflattenÚtolist)r   r    s     r$   Ú
_isin_slowz(TestSetOps.test_isin.<locals>._isin_slowØ   s0   € Ý”
˜1‘”×%Ò%Ñ'Ô'×.Ò.Ñ0Ô0ˆAØ˜�6ˆMr&   r   )ÚotypesÚexcludedc                 ód   •— t          | |‰¬¦  «        } ‰| |¦  «        }t          ||¦  «         d S )N©rk   )r	   r   )r   r    ÚxÚyÚ	isin_slowrk   s       €€r$   Úassert_isin_equalz/TestSetOps.test_isin.<locals>.assert_isin_equalÝ   s<   ø€ Ý�Q˜ Ð%Ñ%Ô%ˆAØ�	˜!˜Q‘”ˆAÝ˜q !Ñ$Ô$Ð$Ð$Ð$r&   é   ©r   r   r   )r=   é   é   )r   r   r   )é   é   é!   )r?   r;   )r   r9   )r?   r   r   r   r9   rm   r[   ©TFF)r   Ú	vectorizeÚboolr+   Úreshaper   Úint64Úfloat64)r   rk   rs   r{   r   r    r"   ÚdÚfrx   r,   ÚarÚempty_arrayrz   s    `           @r$   Ú	test_isinzTestSetOps.test_isinÖ   sr  øø€ ð	ð 	ð 	õ ”L µT°FÀaÀSÐIÑIÔIˆ	ð	%ð 	%ð 	%ð 	%ð 	%ð 	%õ ŒI�b‰MŒM×!Ò! ) ) )Ñ,Ô,ˆÝŒH�l�l�l I I I¨|¨|¨|Ð<Ñ=Ô=ˆØÐ˜!˜QÑÔÐð �VÐˆØˆØÐ˜!˜QÑÔÐõ ŒH�Q‰KŒKˆØÐ˜!˜QÑÔÐØÐ˜!˜QÑÔÐØÐ˜!˜QÑÔÐð 	Ð˜!˜QÑÔÐØÐ˜!˜QÑÔÐØÐ˜!˜QÑÔÐð �7Š?ˆ?ð ˆAØÐ˜a Ñ#Ô#Ð#ØÐ˜a Ñ#Ô#Ð#ØÐ˜a Ñ#Ô#Ð#õ �BœH¥b¤jÐ1ð 	8ð 	8ˆEØ�wŠˆ 5­B¬JÒ#6Ð#6Øà�œ¥2¤:Ð.Ð.Ð.Ý”X˜l˜l˜l°%Ð8Ñ8Ô8��Ø�4˜&��Ý”XÐ2Ð2Ð2Ñ3Ô3�åœ( 2¨UÐ3Ñ3Ô3ˆKàÐ˜k¨2Ñ.Ô.Ð.ØÐ˜b +Ñ.Ô.Ð.ØÐ˜k¨;Ñ7Ô7Ð7Ð7ð	8ð 	8r&   c                 óþ  — dD �]q}g d¢}g d¢|z  }t          j        g d¢¦  «        }t          ||d|¬¦  «        }t          ||¦  «         d|d<   t          j        g d	¢¦  «        }t          ||d|¬¦  «        }t          ||¦  «         d
\  |d<   |d<   t          j        g d¢¦  «        }t          ||d|¬¦  «        }t          ||¦  «         t          j        g d¢¦  «        }g d¢|z  }g d¢}t          |||¬¦  «        }t          ||¦  «         |g d¢|z  z   }g d¢}t          |||¬¦  «        }t          ||¦  «         t          j        g d¢¦  «        }t          j        g d¢|z  ¦  «        }t          j        g d¢¦  «        }t          |||¬¦  «        }t          ||¦  «         t          j        g d¢¦  «        }t          j        g d¢|z  ¦  «        }t          j        g d¢¦  «        }t          |||¬¦  «        }t          ||¦  «         t          j        ddg¦  «        }t          j        ddg|z  ¦  «        }t          j        ddg¦  «        }t          |||¬¦  «        }t          ||¦  «         �Œst          j        dg¦  «        }t          j        dg¦  «        }t          j        dg¦  «        }t          |||¬¦  «        }t          ||¦  «         |dv r"t          t          g g |¬¦  «        g ¦  «         d S d S )N©r   r=   r   r   ©TFTTT)r   rk   r;   r   )FFTT)r   r;   r   )TFTF©r   r   r   r   r   r   r   r   r   r   r   r   r   r   r}   )FTFTTTTTTFTFFFrw   )r   r   r   )TTTTTTTTTTTFTT)r   r   r   r   r   )r   r   r   r   r   r   )TFTTTr   r   F>   Nrl   ©r   r   r	   r   )r   rk   Úmultr   r    r!   r"   s          r$   Útest_isin_additionalzTestSetOps.test_isin_additional  sU  € ð ð /	&ñ /	&ˆDà��ˆAØ�� $Ñ&ˆAÝ”Ð3Ð3Ð3Ñ4Ô4ˆBÝ�Q˜¨°DÐ9Ñ9Ô9ˆAÝ˜q "Ñ%Ô%Ð%àˆAˆa‰DÝ”Ð4Ð4Ð4Ñ5Ô5ˆBÝ�Q˜¨°DÐ9Ñ9Ô9ˆAÝ˜q "Ñ%Ô%Ð%à‰JˆAˆa‰D�!�A‘$Ý”Ð4Ð4Ð4Ñ5Ô5ˆBÝ�Q˜¨°DÐ9Ñ9Ô9ˆAÝ˜q "Ñ%Ô%Ð%å”ÐCÐCÐCÑDÔDˆAØ�	�	˜DÑ ˆAð4ð 4ð 4ˆBå�Q˜ Ð%Ñ%Ô%ˆAÝ˜q "Ñ%Ô%Ð%à�I�I�I Ñ$Ñ$ˆAð+ð +ð +ˆBå�Q˜ Ð%Ñ%Ô%ˆAÝ˜q "Ñ%Ô%Ð%å”˜˜˜Ñ&Ô&ˆAÝ”˜˜˜¨4Ñ/Ñ0Ô0ˆAÝ”Ð3Ð3Ð3Ñ4Ô4ˆBÝ�Q˜ Ð%Ñ%Ô%ˆAÝ˜q "Ñ%Ô%Ð%å”˜˜˜Ñ)Ô)ˆAÝ”Ð+Ð+Ð+¨dÑ2Ñ3Ô3ˆAÝ”Ð9Ð9Ð9Ñ:Ô:ˆBÝ�Q˜ Ð%Ñ%Ô%ˆAÝ˜q "Ñ%Ô%Ð%å”˜!˜Q˜Ñ Ô ˆAÝ”˜!˜Q˜ $™Ñ'Ô'ˆAÝ”˜5 %˜.Ñ)Ô)ˆBÝ�Q˜ Ð%Ñ%Ô%ˆAÝ˜q "Ñ%Ô%Ð%Ñ%åŒH�a�S‰MŒMˆÝŒH�a�S‰MŒMˆÝŒX�u�gÑÔˆÝ��A˜DÐ!Ñ!Ô!ˆÝ˜1˜bÑ!Ô!Ð!à�>Ð!Ð!Ý�t B¨°Ð6Ñ6Ô6¸Ñ;Ô;Ð;Ð;Ð;ð "Ð!r&   c                 óÊ   — t          j        g d¢¦  «        }t          j        ddg¦  «        }t          j        g d¢¦  «        }t          ||¦  «        }t          ||¦  «         d S )N)r   r    r"   r‰   Úer"   r–   r    r   r"   )TFTFFTFFr’   rO   s        r$   Útest_isin_char_arrayzTestSetOps.test_isin_char_arrayN  sd   € ÝŒHÐ=Ð=Ð=Ñ>Ô>ˆÝŒH�c˜3�ZÑ Ô ˆåŒXÐKÐKÐKÑLÔLˆÝ��A‰JŒJˆå˜1˜bÑ!Ô!Ð!Ð!Ð!r&   c           
      óþ  — dD ]b}t          j        g d¢¦  «        }g d¢|z  }t          t          j        t	          |||¬¦  «        ¦  «        t	          ||d|¬¦  «        ¦  «         Œc|dv r‘dD ]�}t          j        g d¢t           j        ¬¦  «        }g d¢|z  }t          j        |t           j        ¬¦  «        }t          t          j        t	          |||¬¦  «        ¦  «        t	          ||d|¬¦  «        ¦  «         Œ�d	S d	S )
zTest isin's invert parameterr�   r‘   r}   rw   T©Úinvertrk   >   Nrl   r[   N)r   r   r   rš   r	   Úfloat32)r   rk   r“   r   r    s        r$   Útest_isin_invertzTestSetOps.test_isin_invertW  sG  € ð
 ð 	Cð 	CˆDÝ”ÐCÐCÐCÑDÔDˆAØ�	�	˜DÑ ˆAÝ�rœy­¨a°¸Ð)>Ñ)>Ô)>Ñ?Ô?Ý# A q°¸DÐAÑAÔAñCô Cð Cð Cð �>Ð!Ð!Øð Gð G�Ý”HÐGÐGÐGÝ"$¤*ð.ñ .ô .�à�I�I Ñ$�Ý”H˜Q¥b¤jÐ1Ñ1Ô1�Ý"¥2¤9­T°!°Q¸TÐ-BÑ-BÔ-BÑ#CÔ#CÝ#'¨¨1°TÀÐ#EÑ#EÔ#EñGô Gð Gð Gð "Ð!ðGð Gr&   c                 ó`  — t          j        g d¢t           j        ¬¦  «        }t          j        g d¢t           j        ¬¦  «        }t          j        g d¢t          ¬¦  «        }t	          |t          ||¦  «        ¦  «         t	          t          j        |¦  «        t          ||d¬¦  «        ¦  «         t          j        g d¢t           j        ¬¦  «        }t          j        g d¢t           j        ¬¦  «        }t          j        g d	¢¦  «        }t          ||d¬
¦  «        }t	          ||¦  «         dS )z(Hit the standard isin code with integers)r   r   r   r   r   r   ç    eÍÍAr[   )r   r   r   rž   )r   r   r   r   r   r   r   T©rš   r   )r   r   r   r   r   rž   r�   r   N)r   r   r‡   r…   r   r	   rš   )r   r   r    rd   r!   r"   s         r$   Ú!test_isin_hit_alternate_algorithmz,TestSetOps.test_isin_hit_alternate_algorithml  s  € õ ŒHÐ,Ð,Ð,µB´HÐ=Ñ=Ô=ˆÝŒH�^�^�^­2¬8Ð4Ñ4Ô4ˆÝ”8Ð1Ð1Ð1½Ð>Ñ>Ô>ˆÝ˜8¥T¨!¨Q¡Z¤ZÑ0Ô0Ð0Ý�2œ9 XÑ.Ô.µ°Q¸À$Ð0GÑ0GÔ0GÑHÔHÐHåŒH�\�\�\­¬Ð2Ñ2Ô2ˆÝŒHÐ)Ð)Ð)µ´Ð:Ñ:Ô:ˆÝŒXÐ/Ð/Ð/Ñ0Ô0ˆÝ��A TÐ*Ñ*Ô*ˆÝ˜1˜bÑ!Ô!Ð!Ð!Ð!r&   c           	      ó0  — t          j        ddg¦  «        }t          j        g d¢¦  «        }t          j        ddg¦  «        }t          |t          |||¬¦  «        ¦  «         t          t          j        |¦  «        t          ||d|¬¦  «        ¦  «         dS )z&Test that isin works for boolean inputTF)FFFrw   r™   N)r   r   r   r	   rš   )r   rk   r   r    rd   s        r$   Útest_isin_booleanzTestSetOps.test_isin_boolean|  s¢   € õ ŒH�d˜E�]Ñ#Ô#ˆÝŒHÐ*Ð*Ð*Ñ+Ô+ˆÝ”8˜U D˜MÑ*Ô*ˆÝ˜8Ý  1¨4Ð0Ñ0Ô0ñ	2ô 	2ð 	2å�2œ9 XÑ.Ô.Ý  1¨T¸Ð=Ñ=Ô=ñ	?ô 	?ð 	?ð 	?ð 	?r&   rl   c                 óX  — t           j                             d¦  «        }|                     ddd¬¦  «        }|                     ddd¬¦  «        }t	          ||¦  «        }|                     d¦  «        }|                     d¦  «        }t          |t	          |||¬¦  «        ¦  «         dS )z(Test that isin works for timedelta inputr   éd   r=   )Úsizeútimedelta64[s]rw   N)r   ÚrandomÚRandomStateÚrandintr	   Úastyper   )r   rk   Úrstater   r    ÚtruthÚa_timedeltaÚb_timedeltas           r$   Útest_isin_timedeltazTestSetOps.test_isin_timedelta‡  s�   € õ ”×&Ò& qÑ)Ô)ˆØ�NŠN˜1˜c¨ˆNÑ+Ô+ˆØ�NŠN˜1˜c¨ˆNÑ+Ô+ˆÝ�Q˜‘
”
ˆØ—h’hÐ/Ñ0Ô0ˆØ—h’hÐ/Ñ0Ô0ˆÝ˜5¥$ {°KÀdÐ"KÑ"KÔ"KÑLÔLÐLÐLÐLr&   c                 óÂ   — t          j        g d¢d¬¦  «        }|}t          j        t          ¦  «        5  t          ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©r   r   r   r¦   r[   rm   rw   )r   r   ÚpytestÚraisesÚ
ValueErrorr	   ©r   r   r    s      r$   Útest_isin_table_timedelta_failsz*TestSetOps.test_isin_table_timedelta_fails’  s©   € ÝŒH�Y�Y�YÐ&6Ð7Ñ7Ô7ˆØˆåŒ]�:Ñ&Ô&ð 	%ð 	%Ý��A˜GÐ$Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%s   ´AÁAÁAzdtype1,dtype2c                 ó&  — t          j        |t           j        ¦  «        }t          j        g d¢|¬¦  «        }|rt          j        g d¢|¬¦  «        }nt          j        g d¢|¬¦  «        }t          j        g d¢¦  «        }|dk    o|t           j        k    o|t           j        k    }|rHt          j        t          d¬¦  «        5  t          |||¬	¦  «         d
d
d
¦  «         d
S # 1 swxY w Y   d
S t          t          |||¬	¦  «        |¦  «         d
S )z7Test that isin works as expected for mixed dtype input.)r   r   r   r   r[   )i€ÿÿÿr   é   )r¸   r   éÿ   )TTFFrm   zexceed the maximum)Úmatchrw   N)r   Ú
issubdtypeÚsignedintegerr   Úint16Úint8r²   r³   ÚRuntimeErrorr	   r   )	r   Údtype1Údtype2rk   Úis_dtype2_signedÚar1Úar2rd   Úexpect_failures	            r$   Útest_isin_mixed_dtypez TestSetOps.test_isin_mixed_dtype™  si  € õ œ=¨µÔ1AÑBÔBÐÝŒh�|�|�|¨6Ð2Ñ2Ô2ˆàð 	8Ý”(˜>˜>˜>°Ð8Ñ8Ô8ˆCˆCå”(˜=˜=˜=°Ð7Ñ7Ô7ˆCå”8Ð6Ð6Ð6Ñ7Ô7ˆà šð 6Ø•b”hÒÐ4 6­R¬WÒ#4ð 	ð ð 	DÝ”�|Ð3GÐHÑHÔHð *ð *Ý�S˜# DÐ)Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *õ �t C¨°4Ð8Ñ8Ô8¸(ÑCÔCÐCÐCÐCs   ÃC$Ã$C(Ã+C(Údatal            l           lûÿÿÿ         lûÿÿÿ        c                 óø   — |d         }t          j        |||¬¦  «        }t          |ddg¦  «         |                     t           j        ¦  «        }t          j        |||¬¦  «        }t          |ddg¦  «         dS )z>Test values outside intp range (negative ones if 32bit system)r   rw   FTN)r   r	   r   rª   Úint32)r   rk   rÇ   Úqueryr5   s        r$   Útest_isin_mixed_huge_valsz$TestSetOps.test_isin_mixed_huge_vals»  s|   € ð �Q”ˆÝŒg�d˜E¨Ð-Ñ-Ô-ˆÝ˜3 ¨ Ñ.Ô.Ð.ð �{Š{�2œ8Ñ$Ô$ˆÝŒg�d˜E¨Ð-Ñ-Ô-ˆÝ˜3 ¨ Ñ/Ô/Ð/Ð/Ð/r&   c                 ó–  — t           j        d         D ]µ}t          j        g d¢t          ¬¦  «        }t          j        g d¢|¬¦  «        }t          j        g d¢t          ¬¦  «        }t	          t          |||¬¦  «        |¦  «         ||}}t          j        g d¢t          ¬¦  «        }t	          t          |||¬¦  «        |¦  «         Œ¶dS )	z4Test that isin works as expected for bool/int input.Ú
AllIntegerrƒ   r[   ©r   r   r   r   )FTTrw   )TTTTN)r   Ú	typecodesr   r…   r   r	   )r   rk   r,   r   r    rd   s         r$   Útest_isin_mixed_booleanz"TestSetOps.test_isin_mixed_booleanË  sÛ   € õ ”\ ,Ô/ð 	@ð 	@ˆEÝ”Ð-Ð-Ð-µTÐ:Ñ:Ô:ˆAÝ”˜˜˜¨UÐ3Ñ3Ô3ˆAÝ”xÐ 3Ð 3Ð 3½4Ð@Ñ@Ô@ˆHÝ�t A q¨tÐ4Ñ4Ô4°hÑ?Ô?Ð?à�aˆqˆAÝ”xÐ 8Ð 8Ð 8ÅÐEÑEÔEˆHÝ�t A q¨tÐ4Ñ4Ô4°hÑ?Ô?Ð?Ð?ð	@ð 	@r&   c                 ó°   — d g}t          j        dgdz  ¦  «        }t          j        dg¦  «        }t          j        ||¦  «        }t          ||¦  «         d S ©Nr   r=   Fr’   ©r   rÃ   rÄ   rd   Úresults        r$   Útest_isin_first_array_is_objectz*TestSetOps.test_isin_first_array_is_objectØ  sV   € ØˆfˆÝŒh˜�s˜2‘vÑÔˆÝ”8˜U˜GÑ$Ô$ˆÝ”˜˜cÑ"Ô"ˆÝ˜6 8Ñ,Ô,Ð,Ð,Ð,r&   c                 ó®   — d}t          j        d gdz  ¦  «        }t          j        dg¦  «        }t          j        ||¦  «        }t          ||¦  «         d S rÒ   r’   rÓ   s        r$   Ú test_isin_second_array_is_objectz+TestSetOps.test_isin_second_array_is_objectß  sT   € ØˆÝŒh˜�v˜b‘yÑ!Ô!ˆÝ”8˜U˜GÑ$Ô$ˆÝ”˜˜cÑ"Ô"ˆÝ˜6 8Ñ,Ô,Ð,Ð,Ð,r&   c                 ó°   — d g}t          j        d gdz  ¦  «        }t          j        dg¦  «        }t          j        ||¦  «        }t          ||¦  «         d S )Nr=   Tr’   rÓ   s        r$   Ú test_isin_both_arrays_are_objectz+TestSetOps.test_isin_both_arrays_are_objectæ  sV   € ØˆfˆÝŒh˜�v˜b‘yÑ!Ô!ˆÝ”8˜T˜FÑ#Ô#ˆÝ”˜˜cÑ"Ô"ˆÝ˜6 8Ñ,Ô,Ð,Ð,Ð,r&   c                 ó$  — t          j        dt          fdt          fg¦  «        }t          j        dg|¬¦  «        }t          j        dgdz  |¬¦  «        }t          j        dg¦  «        }t          j        ||¦  «        }t          ||¦  «         d S )NÚfield1Úfield2)r   Nr[   r=   T)r   r,   ÚintÚobjectr   r	   r   )r   ÚdtrÃ   rÄ   rd   rÔ   s         r$   Ú+test_isin_both_arrays_have_structured_dtypez6TestSetOps.test_isin_both_arrays_have_structured_dtypeí  s‰   € õ ŒX˜¥#�¨µ6Ð(:Ð;Ñ<Ô<ˆÝŒh˜	�{¨"Ð-Ñ-Ô-ˆÝŒh˜	�{ 2‘~¨RÐ0Ñ0Ô0ˆÝ”8˜T˜FÑ#Ô#ˆÝ”˜˜cÑ"Ô"ˆÝ˜6 8Ñ,Ô,Ð,Ð,Ð,r&   c                 óV  — t          j        ddgt          ¬¦  «        }t          j        ddgt          ¬¦  «        }t          j        ddg¦  «        }t          j        ||¦  «        }t	          ||¦  «         t          j        ||d¬¦  «        }t	          |t          j        |¦  «        ¦  «         t          j        g d¢t          ¬¦  «        }|d d…         }t          j        g d¢t          ¬¦  «        }|d d…         }t          j        ddg¦  «        }t          j        ||¦  «        }t	          ||¦  «         t          j        ||d¬¦  «        }t	          |t          j        |¦  «        ¦  «         t          j        g d¢t          ¬¦  «        }|d d…         }t          j        ddgt          ¬¦  «        }t          j        dd	g¦  «        }t          j        ||¦  «        }t	          ||¦  «         t          j        ||d¬¦  «        }t	          |t          j        |¦  «        ¦  «         d S )
N©r   r   r[   TrŸ   )râ   )r   r   r   rV   )râ   ©r   r   r   F)r   r   rÞ   r	   r   rš   rÓ   s        r$   Ú'test_isin_with_arrays_containing_tuplesz2TestSetOps.test_isin_with_arrays_containing_tuples÷  sö  € ÝŒh˜˜a�y­Ð/Ñ/Ô/ˆÝŒh˜˜a�y­Ð/Ñ/Ô/ˆÝ”8˜T 4˜LÑ)Ô)ˆÝ”˜˜cÑ"Ô"ˆÝ˜6 8Ñ,Ô,Ð,Ý”˜˜c¨$Ð/Ñ/Ô/ˆÝ˜6¥2¤9¨XÑ#6Ô#6Ñ7Ô7Ð7õ ŒhÐ(Ð(Ð(µÐ7Ñ7Ô7ˆØ�#�2�#ŒhˆÝŒhÐ(Ð(Ð(µÐ7Ñ7Ô7ˆØ�#�2�#ŒhˆÝ”8˜T 4˜LÑ)Ô)ˆÝ”˜˜cÑ"Ô"ˆÝ˜6 8Ñ,Ô,Ð,Ý”˜˜c¨$Ð/Ñ/Ô/ˆÝ˜6¥2¤9¨XÑ#6Ô#6Ñ7Ô7Ð7åŒhÐ(Ð(Ð(µÐ7Ñ7Ô7ˆØ�#�2�#ŒhˆÝŒh˜˜a�y­Ð/Ñ/Ô/ˆÝ”8˜T 5˜MÑ*Ô*ˆÝ”˜˜cÑ"Ô"ˆÝ˜6 8Ñ,Ô,Ð,Ý”˜˜c¨$Ð/Ñ/Ô/ˆÝ˜6¥2¤9¨XÑ#6Ô#6Ñ7Ô7Ð7Ð7Ð7r&   c                 ó  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          t          t          ||d¬¦  «         t          j        g d¢t
          ¬¦  «        }t          j        g d¢t
          ¬¦  «        }t          t          t          ||d¬¦  «         t           j        t           j        fD ]Å}t          j        g d¢|¬¦  «        }t          j        d	t          j        |¦  «        j	        g|¬¦  «        }t          t          t          ||d¬¦  «         t          j        ||d
¬¦  «        }t          |dgdgdz  z   ¦  «         t          j        ||d¬¦  «        }t          |dgdgdz  z   ¦  «         ŒÆd
S )z&Test that isin raises expected errors.)r   r   r   r   r   )r   r   r9   r;   r=   Ú	quicksortrw   )r   r   r   r    r   r[   rm   )rV   r   r   r   r   rV   NTFr   rl   )r   r   r   r´   r	   rÞ   rÉ   r‡   ÚiinfoÚmaxr¿   r   )r   rÃ   rÄ   Úobj_ar1Úobj_ar2r,   Úoverflow_ar2rÔ   s           r$   Útest_isin_errorszTestSetOps.test_isin_errors  sˆ  € õ Œh���Ñ'Ô'ˆÝŒhÐ'Ð'Ð'Ñ(Ô(ˆÝ•j¥$¨¨S°{ÐCÑCÔCÐCõ ”(Ð.Ð.Ð.µfÐ=Ñ=Ô=ˆÝ”(Ð.Ð.Ð.µfÐ=Ñ=Ô=ˆÝ•j¥$¨°¸wÐGÑGÔGÐGå”h¥¤Ð)ð 	=ð 	=ˆEÝ”(Ð+Ð+Ð+°5Ð9Ñ9Ô9ˆCåœ8 R­¬°%©¬Ô)<Ð$=ÀUÐKÑKÔKˆLõ
 ÝÝ�c˜<¨gðñ ô ð õ ”W˜S ,°TÐ:Ñ:Ô:ˆFÝ˜v¨ v°°¸!±Ñ';Ñ<Ô<Ð<Ý”W˜S ,°VÐ<Ñ<Ô<ˆFÝ˜v¨ v°°¸!±Ñ';Ñ<Ô<Ð<Ð<ð'	=ð 	=r&   c                 óÒ  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||¦  «        }t          ||¦  «         t          j        g d¢g d¢g¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||¦  «        }t          ||¦  «         t          g t          g g ¦  «        ¦  «         d S )N)r   r   r   r   r   ©r   r   r   r   r   r   r   )r   r   r   r   r   r   r±   )r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   )	r   r   r    r!   r"   rx   ry   ÚezÚzs	            r$   Útest_union1dzTestSetOps.test_union1d:  sà   € ÝŒH�_�_�_Ñ%Ô%ˆÝŒHÐ*Ð*Ð*Ñ+Ô+ˆåŒXÐ(Ð(Ð(Ñ)Ô)ˆÝ�A�q‰MŒMˆÝ˜1˜bÑ!Ô!Ð!õ ŒH�i�i�i   Ð+Ñ,Ô,ˆÝŒH�_�_�_Ñ%Ô%ˆÝŒXÐ(Ð(Ð(Ñ)Ô)ˆÝ�A�q‰MŒMˆÝ˜1˜bÑ!Ô!Ð!å˜2�w r¨2™œÑ/Ô/Ð/Ð/Ð/r&   c                 óZ  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        ddg¦  «        }t          ||¦  «        }t          ||¦  «         t          j        d¦  «        }t          j        d¦  «        }t          j        ddg¦  «        }t          ||¦  «        }t          ||¦  «         t          g t          g g ¦  «        ¦  «         t          j        dt           j        ¦  «        }t          t          |g ¦  «        j        t           j        ¦  «         d S )	N)r9   r   r   r   r   r   r   r   rî   r9   r   é   é   r~   r2   )r   r   r   r   r+   Úuint32r   r,   rO   s        r$   Útest_setdiff1dzTestSetOps.test_setdiff1dL  sú   € ÝŒHÐ-Ð-Ð-Ñ.Ô.ˆÝŒHÐ*Ð*Ð*Ñ+Ô+ˆåŒX�q˜!�fÑÔˆÝ�a˜‰OŒOˆÝ˜1˜bÑ!Ô!Ð!åŒI�b‰MŒMˆÝŒI�b‰MŒMˆÝŒX�r˜2�hÑÔˆÝ�a˜‰OŒOˆÝ˜1˜bÑ!Ô!Ð!å˜2�y¨¨RÑ0Ô0Ñ1Ô1Ð1ÝŒH�R�œÑ#Ô#ˆÝ•Y˜q "Ñ%Ô%Ô+­R¬YÑ7Ô7Ð7Ð7Ð7r&   c                 óÎ   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          j        ddg¦  «        }t          ||d¬¦  «        }t          ||¦  «         d S )N)r   r   r   )r   r   r   r   r   Tr   )r   r   r   r   )r   r   r    rd   ri   s        r$   Útest_setdiff1d_uniquez TestSetOps.test_setdiff1d_unique^  se   € ÝŒH�Y�Y�YÑÔˆÝŒH�Y�Y�YÑÔˆÝ”8˜Q ˜FÑ#Ô#ˆÝ˜1˜a¨tÐ4Ñ4Ô4ˆÝ�V˜XÑ&Ô&Ð&Ð&Ð&r&   c                 óÀ   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          t          ||¦  «        t          j        dg¦  «        ¦  «         d S )N)r   r    r"   )r   r    Úsr"   )r   r   r   r   rµ   s      r$   Útest_setdiff1d_char_arrayz$TestSetOps.test_setdiff1d_char_arraye  sP   € ÝŒH�_�_�_Ñ%Ô%ˆÝŒH�_�_�_Ñ%Ô%ˆÝ�9 Q¨™?œ?­B¬H°c°U©O¬OÑ<Ô<Ð<Ð<Ð<r&   c                 óþ   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||¦  «        }t          ||¦  «        }t	          ||¦  «        }t          ||¦  «        }t          ||¦  «         d S )N)r   r   r   r   r;   )r?   r;   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r    Úc1Úaux1Úaux2Úc2s          r$   Útest_manywayszTestSetOps.test_manywaysj  sy   € ÝŒH�_�_�_Ñ%Ô%ˆÝŒHÐ*Ð*Ð*Ñ+Ô+ˆå�a˜‰^Œ^ˆÝ˜1˜aÑ Ô ˆÝ�q˜!‰}Œ}ˆÝ�t˜TÑ"Ô"ˆÝ˜2˜rÑ"Ô"Ð"Ð"Ð"r&   )0r/   r0   r1   r%   r6   rI   rP   rR   rZ   r²   ÚmarkÚparametrizer   r   r‡   Únanr›   r¾   rf   r½   rˆ   rÉ   rj   r�   r”   r—   rœ   r    r¢   r¯   r¶   Úuint8Úuint16Úuint64rÆ   rË   rÐ   rÕ   r×   rÙ   rà   rä   rì   rñ   rö   rø   rû   r  r2   r&   r$   r   r      s÷  € € € € € ð4ð 4ð 4ð$
+ð 
+ð 
+ð%'ð %'ð %'ðN1ð 1ð 1ð0"ð "ð "ðJð Jð Jð& „[×ÒÐ=ð 
ˆŒ�)�)�) 2¤8Ð	,Ñ	,Ô	,Ø	Ø	ŒØ	ð	ð 
ˆŒ�)�)�) 2¤8Ð	,Ñ	,Ô	,Ø	ˆŒ�)�)�) 2¤:Ð	.Ñ	.Ô	.Ø	Ø	ð	ð 
ˆŒ�,�,�, b¤gÐ	.Ñ	.Ô	.Ø	ŒØ	ŒØ	ð	ð%@ñ ô ð.
&ð 
&ñ/ô ð.
&ð „[×ÒØ%à
ˆ"Œ(�9�9�9 B¤HÐ
-Ñ
-Ô
-Ø
Ø
Ø
ˆ"Œ(�<�<�< r¤xÐ
0Ñ
0Ô
0ð
2ð ˆ"Œ(�9�9�9 B¤JÐ
/Ñ
/Ô
/Ø
ˆ"Œ(�A�3˜bœjÐ
)Ñ
)Ô
)Ø
Ø
ˆ"Œ(�9�9�9 B¤JÐ
/Ñ
/Ô
/ð
1ð ˆ"Œ(�9�9�9 B¤HÐ
-Ñ
-Ô
-Ø
Ø
Ø
ˆ"Œ(�<�<�< r¤xÐ
0Ñ
0Ô
0ð
2ð ˆ"Œ(�9�9�9 B¤HÐ
-Ñ
-Ô
-Ø
Ø
Ø
ˆ"Œ(�=�=�=¨¬Ð
1Ñ
1Ô
1ð
3ð	
ñô ð*.ð .ñ+ô ð*.ð „[×Ò˜VÐ%<Ð%<Ð%<Ñ=Ô=ð78ð 78ñ >Ô=ð78ðr „[×Ò˜VÐ%<Ð%<Ð%<Ñ=Ô=ð;<ð ;<ñ >Ô=ð;<ðz"ð "ð "ð „[×Ò˜VÐ%<Ð%<Ð%<Ñ=Ô=ðGð Gñ >Ô=ðGð("ð "ð "ð  „[×Ò˜VÐ%<Ð%<Ð%<Ñ=Ô=ð?ð ?ñ >Ô=ð?ð „[×Ò˜V d¨F ^Ñ4Ô4ðMð Mñ 5Ô4ðMð%ð %ð %ð „[×ÒØàŒW�b”hÐØŒX�r”wÐØŒX�r”yÐ!ØŒY˜œÐ!ØŒX�r”xÐ ØŒX�r”xÐ ØŒY˜œÐ!ð	
ñô ð „[×Ò˜VÐ%<Ð%<Ð%<Ñ=Ô=ðDð Dñ >Ô=ñô ðDð* „[×Ò˜VØˆŒ�%˜Ð!¨¬Ð3Ñ3Ô3ØˆŒ�&˜(Ð#¨2¬8Ð4Ñ4Ô4ð&ñ ô ð „[×Ò˜VÐ%<Ð%<Ð%<Ñ=Ô=ð	0ð 	0ñ >Ô=ñ	ô ð
	0ð „[×Ò˜VÐ%<Ð%<Ð%<Ñ=Ô=ð
@ð 
@ñ >Ô=ð
@ð-ð -ð -ð-ð -ð -ð-ð -ð -ð-ð -ð -ð8ð 8ð 8ðB =ð  =ð  =ðD0ð 0ð 0ð$8ð 8ð 8ð$'ð 'ð 'ð=ð =ð =ð
#ð #ð #ð #ð #r&   r   c                   óè   — e Zd Zd„ Zd„ Zd„ Zd„ Zej         	                    dddg¦  «        d„ ¦   «         Z
ej         	                    dg d	¢¦  «        d
„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú
TestUniquec           	      ó2  — d„ }g d¢dz  }g d¢}g d¢}g d¢dz  }t          j        g d¢d¦  «        }g }|                     t           j        d         ¦  «         |                     t           j        d	         ¦  «         |                     d
¦  «         |                     d¦  «         |D ]<}t          j        ||¦  «        }	t          j        ||¦  «        }
 ||	|
||||¦  «         Œ=d}t          j        t          |¦  «        |¦  «        }	||	d d …<   t          j        t          |¦  «        |¦  «        }
||
d d …<    ||	|
||||¦  «         ddg}t          j        t          t          ||¦  «        ¦  «        |¦  «        }	t          j        t          t          ||¦  «        ¦  «        |¦  «        }
 ||	|
||||¦  «         g d¢}	t          t          j        |	¦  «        ddg¦  «         g d¢}g d¢}ddgddgddgg}t          |¦  «        }t          ||¦  «         t          |d¬¦  «        \  }}t          ||¦  «         t          ||¦  «         t           j                             d¦  «        }d|d<   t          j        |d¬¦  «        \  }}t          |t          j        d¦  «        ¦  «         g }t          j        |d¬¦  «        d         }t          j        |d¬¦  «        d         }t          j        |dd¬¦  «        dd …         \  }}t          |j        t           j        ¦  «         t          |j        t           j        ¦  «         t          |j        t           j        ¦  «         t          |j        t           j        ¦  «         dt           j        dt           j        g}ddt           j        g}g d¢}g d ¢}g d!¢}t          t          j        |¦  «        |¦  «         t          t          j        |d¬¦  «        ||f¦  «         t          t          j        |d¬¦  «        ||f¦  «         t          t          j        |d¬"¦  «        ||f¦  «         d#t           j        d$t'          d%t           j        ¦  «        t'          dt           j        ¦  «        g}d$d#t'          d%t           j        ¦  «        g}g d&¢}g d'¢}g d(¢}t          t          j        |¦  «        |¦  «         t          t          j        |d¬¦  «        ||f¦  «         t          t          j        |d¬¦  «        ||f¦  «         t          t          j        |d¬"¦  «        ||f¦  «         t          j        d)¦  «        }t          j        d*¦  «        |t          j        d+¦  «        |g}t          j        d+¦  «        t          j        d*¦  «        |g}g d¢}g d ¢}g d!¢}t          t          j        |¦  «        |¦  «         t          t          j        |d¬¦  «        ||f¦  «         t          t          j        |d¬¦  «        ||f¦  «         t          t          j        |d¬"¦  «        ||f¦  «         t          j        d)¦  «        }t          j        dd,¦  «        |t          j        dd-¦  «        |g}t          j        dd-¦  «        t          j        dd,¦  «        |g}g d¢}g d ¢}g d!¢}t          t          j        |¦  «        |¦  «         t          t          j        |d¬¦  «        ||f¦  «         t          t          j        |d¬¦  «        ||f¦  «         t          t          j        |d¬"¦  «        ||f¦  «         t           j        gd.z  }t           j        g}dg}g d/¢}d.g}t          t          j        |¦  «        |¦  «         t          t          j        |d¬¦  «        ||f¦  «         t          t          j        |d¬¦  «        ||f¦  «         t          t          j        |d¬"¦  «        ||f¦  «         d S )0Nc                 ó`  — d}|                      d|¦  «        }t          | ¦  «        }t          |||¦  «         |                      d|¦  «        }t          | ddd¦  «        \  }}	t          |||¦  «         t          |	||¦  «         |                      d|¦  «        }t          | ddd¦  «        \  }}	t          |||¦  «         t          |	||¦  «         |                      d|¦  «        }t          | ddd¦  «        \  }}	t          |||¦  «         t          |	||¦  «         |                      d|¦  «        }t          | ddd¦  «        \  }}
}t          |||¦  «         t          |
||¦  «         t          |||¦  «         |                      d	|¦  «        }t          | ddd¦  «        \  }}
}t          |||¦  «         t          |
||¦  «         t          |||¦  «         |                      d
|¦  «        }t          | ddd¦  «        \  }}
}t          |||¦  «         t          |
||¦  «         t          |||¦  «         |                      d|¦  «        }t          | ddd¦  «        \  }}
}}t          |||¦  «         t          |
||¦  «         t          |||¦  «         t          |||¦  «         d S )Nzcheck {0} failed for type {1}ÚvaluesÚreturn_indexTFÚreturn_inverseÚreturn_countszreturn_index and return_inversezreturn_index and return_countsz return_inverse and return_countsz.return_index, return_inverse and return_counts)r`   r   r   )r   r    rB   rC   r"   rß   Úbase_msgre   ÚvÚjÚj1Új2Új3s                r$   Ú	check_allz,TestUnique.test_unique_1d.<locals>.check_ally  sÏ  € Ø6ˆHà—/’/ (¨BÑ/Ô/ˆCÝ�q‘	”	ˆAÝ˜q ! SÑ)Ô)Ð)à—/’/ .°"Ñ5Ô5ˆCÝ˜!˜T 5¨%Ñ0Ô0‰DˆAˆqÝ˜q ! SÑ)Ô)Ð)Ý˜q " cÑ*Ô*Ð*à—/’/Ð"2°BÑ7Ô7ˆCÝ˜!˜U D¨%Ñ0Ô0‰DˆAˆqÝ˜q ! SÑ)Ô)Ð)Ý˜q " cÑ*Ô*Ð*à—/’/ /°2Ñ6Ô6ˆCÝ˜!˜U E¨4Ñ0Ô0‰DˆAˆqÝ˜q ! SÑ)Ô)Ð)Ý˜q ! SÑ)Ô)Ð)à—/’/Ð"CÀRÑHÔHˆCÝ˜q $¨¨eÑ4Ô4‰IˆAˆr�2Ý˜q ! SÑ)Ô)Ð)Ý˜r 2 sÑ+Ô+Ð+Ý˜r 2 sÑ+Ô+Ð+à—/’/Ð"BÀBÑGÔGˆCÝ˜q $¨¨tÑ4Ô4‰IˆAˆr�2Ý˜q ! SÑ)Ô)Ð)Ý˜r 2 sÑ+Ô+Ð+Ý˜r 1 cÑ*Ô*Ð*à—/’/Ð"DÀbÑIÔIˆCÝ˜q %¨¨tÑ4Ô4‰IˆAˆr�2Ý˜q ! SÑ)Ô)Ð)Ý˜r 2 sÑ+Ô+Ð+Ý˜r 1 cÑ*Ô*Ð*à—/’/ð $7Ø9;ñ=ô =ˆCå" 1 d¨D°$Ñ7Ô7‰MˆAˆr�2�rÝ˜q ! SÑ)Ô)Ð)Ý˜r 2 sÑ+Ô+Ð+Ý˜r 2 sÑ+Ô+Ð+Ý˜r 1 cÑ*Ô*Ð*Ð*Ð*r&   )r   r   r   r   r   r   r   r=   )r   r   r   r   )r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   rÍ   ÚAllFloatúdatetime64[D]útimedelta64[D]ÚO)Ú Úi)ù      ð?        ù      ð?      ð¿r   r  r  )©r   r   r  rã   r4   r   r   r   T©r  r   r  .)r  )r  r  g       @r\   )r   r   r   )r   r   r   r   )r   r   r   )r  y       @      ð¿y      ð?      ð?ç        )r   r   r   )r   r   r   r   r   )r   r   r   Únatz
2020-12-26z
2020-12-24ÚDÚhr   rÎ   )r   ÚmultiplyÚextendrÏ   rc   r   ÚemptyÚlenÚlistÚzipr   r   ÚcharÚ	chararrayÚzerosr   r,   Úintpr  ÚcomplexÚ
datetime64Útimedelta64)r   r  r   r    rB   rC   r"   Útypesrß   ÚaaÚbbÚunqÚinvÚa1Úa2Úa2_invÚa1_idxÚa3_idxÚa3_invÚuaÚua_idxÚua_invÚua_cntr"  Úall_nanss                            r$   Útest_unique_1dzTestUnique.test_unique_1dw  s»  € ð.	+ð .	+ð .	+ð` "Ð!Ð! "Ñ$ˆØˆLˆLˆØˆ\ˆ\ˆØ"Ð"Ð" 2Ñ%ˆÝŒK˜˜˜ bÑ)Ô)ˆð ˆØ�Š•R”\ ,Ô/Ñ0Ô0Ð0Ø�Š•R”\ *Ô-Ñ.Ô.Ð.Ø�Š�_Ñ%Ô%Ð%Ø�ŠÐ%Ñ&Ô&Ð&Øð 	-ð 	-ˆBÝ”˜!˜R‘”ˆBÝ”˜!˜R‘”ˆBØˆI�b˜"˜b " a¨Ñ,Ô,Ð,Ð,ð ˆÝŒX•c˜!‘f”f˜bÑ!Ô!ˆØˆˆ1ˆ1ˆ1‰ÝŒX•c˜!‘f”f˜bÑ!Ô!ˆØˆˆ1ˆ1ˆ1‰Øˆ	�"�b˜"˜b ! RÑ(Ô(Ð(ð ˜Ð#ˆÝŒX•d�3˜q !™9œ9‘o”o rÑ*Ô*ˆÝŒX•d�3˜q !™9œ9‘o”o rÑ*Ô*ˆØˆ	�"�b˜"˜b ! RÑ(Ô(Ð(ð $Ð#Ð#ˆÝ�2œ9 R™=œ=¨8°XÐ*>Ñ?Ô?Ð?ð %Ð$Ð$ˆØˆiˆiˆØ�1ˆv˜˜1�v  1˜vÐ&ˆÝ�A‰YŒYˆÝ˜2˜sÑ#Ô#Ð#Ý˜A¨dÐ3Ñ3Ô3‰
ˆˆFÝ˜2˜sÑ#Ô#Ð#Ý˜6 3Ñ'Ô'Ð'õ ŒG×Ò˜aÑ Ô ˆØˆˆ#‰Ý”Y˜q°Ð6Ñ6Ô6‰
ˆˆFÝ˜6¥2¤8¨A¡;¤;Ñ/Ô/Ð/ð ˆÝ”˜1¨4Ð0Ñ0Ô0°Ô3ˆÝ”˜1¨TÐ2Ñ2Ô2°1Ô5ˆÝœ 1°4Ø26ð8ñ 8ô 8Ø89¸¸ô<‰ˆ�å�V”\¥2¤7Ñ+Ô+Ð+Ý�V”\¥2¤7Ñ+Ô+Ð+Ý�V”\¥2¤7Ñ+Ô+Ð+Ý�V”\¥2¤7Ñ+Ô+Ð+ð •"”&˜#�rœvÐ&ˆØ�3�œÐˆØ��ˆØ��ˆØ��ˆÝ•R”Y˜q‘\”\ 2Ñ&Ô&Ð&Ý•R”Y˜q¨tÐ4Ñ4Ô4°r¸6°lÑCÔCÐCÝ•R”Y˜q°Ð6Ñ6Ô6¸¸V¸ÑEÔEÐEÝ•R”Y˜q°Ð5Ñ5Ô5¸¸F°|ÑDÔDÐDð •R”V˜V¥W¨Sµ"´&Ñ%9Ô%9½7À3ÍÌÑ;OÔ;OÐPˆØ�f�g c­2¬6Ñ2Ô2Ð3ˆØ��ˆØ ��ˆØ��ˆÝ•R”Y˜q‘\”\ 2Ñ&Ô&Ð&Ý•R”Y˜q¨tÐ4Ñ4Ô4°r¸6°lÑCÔCÐCÝ•R”Y˜q°Ð6Ñ6Ô6¸¸V¸ÑEÔEÐEÝ•R”Y˜q°Ð5Ñ5Ô5¸¸F°|ÑDÔDÐDõ Œm˜EÑ"Ô"ˆÝŒ]˜<Ñ(Ô(¨#­r¬}¸\Ñ/JÔ/JÈCÐPˆÝŒm˜LÑ)Ô)­2¬=¸Ñ+FÔ+FÈÐLˆØ��ˆØ��ˆØ��ˆÝ•R”Y˜q‘\”\ 2Ñ&Ô&Ð&Ý•R”Y˜q¨tÐ4Ñ4Ô4°r¸6°lÑCÔCÐCÝ•R”Y˜q°Ð6Ñ6Ô6¸¸V¸ÑEÔEÐEÝ•R”Y˜q°Ð5Ñ5Ô5¸¸F°|ÑDÔDÐDõ Œn˜UÑ#Ô#ˆÝŒ^˜A˜sÑ#Ô# S­"¬.¸¸CÑ*@Ô*@À#ÐFˆÝŒn˜Q Ñ$Ô$¥b¤n°Q¸Ñ&<Ô&<¸cÐBˆØ��ˆØ��ˆØ��ˆÝ•R”Y˜q‘\”\ 2Ñ&Ô&Ð&Ý•R”Y˜q¨tÐ4Ñ4Ô4°r¸6°lÑCÔCÐCÝ•R”Y˜q°Ð6Ñ6Ô6¸¸V¸ÑEÔEÐEÝ•R”Y˜q°Ð5Ñ5Ô5¸¸F°|ÑDÔDÐDõ ”F�8˜a‘<ˆÝŒfˆXˆØ�ˆØ��ˆØ�ˆÝ•R”Y˜xÑ(Ô(¨"Ñ-Ô-Ð-Ý•R”Y˜x°dÐ;Ñ;Ô;¸bÀ&¸\ÑJÔJÐJÝ•R”Y˜x¸Ð=Ñ=Ô=ÀÀF¸|ÑLÔLÐLÝ•R”Y˜x°tÐ<Ñ<Ô<¸rÀ6¸lÑKÔKÐKÐKÐKr&   c                 óX  — t          t          | j        t          ¦  «         t          t          | j        dt          fdt          fg¦  «         t          t
          t          t          j        d¦  «        d¬¦  «         t          t
          t          t          j        d¦  «        d¬¦  «         d S )Nr   r    r=   r   ©Úaxiséþÿÿÿ)	r   ra   Ú_run_axis_testsrÞ   rÝ   r
   r   r   r+   )r   s    r$   Útest_unique_axis_errorsz"TestUnique.test_unique_axis_errors   s†   € Ý•i Ô!5µvÑ>Ô>Ð>Ý•i Ô!5Ø�S�z C­ =Ð1ñ	3ô 	3ð 	3õ 	•i¥­¬°2©¬¸QÐ?Ñ?Ô?Ð?Ý•i¥­¬°2©¬¸RÐ@Ñ@Ô@Ð@Ð@Ð@r&   c                 óþ   — d}g d¢g d¢g}t          j        |¦  «        }t          t          |d¬¦  «        t          |d¬¦  «        |¦  «         t          t          |d¬¦  «        t          |d¬¦  «        |¦  «         d S )NzUnique failed on list of lists©r   r   r   r   rD  r   )r   rp   r   r   )r   re   ÚinpÚinp_arrs       r$   Útest_unique_axis_listz TestUnique.test_unique_axis_list(  s„   € Ø.ˆØˆyˆy˜)˜)˜)Ð$ˆÝ”*˜S‘/”/ˆÝ�6 #¨AÐ.Ñ.Ô.µ°wÀQÐ0GÑ0GÔ0GÈÑMÔMÐMÝ�6 #¨AÐ.Ñ.Ô.µ°wÀQÐ0GÑ0GÔ0GÈÑMÔMÐMÐMÐMr&   c                 óŠ  — g }|                      t          j        d         ¦  «         |                      t          j        d         ¦  «         |                     d¦  «         |                     d¦  «         |                     dt          fdt          fg¦  «         |                     dt          fdt
          fg¦  «         |D ]}|                      |¦  «         Œd}t          j        dt          j        ¬	¦  «         	                    d
d¦  «         
                    t          ¦  «        }t          j        ddgddggt          ¬	¦  «        }t          t          |d¬¦  «        ||¦  «         d}t          j        ddgddgddgddgg¦  «        }t          j        ddgg¦  «        }t          t          |d¬¦  «        ||¦  «         d S )NrÍ   r  r  r  r   r    z&Non-bitwise-equal booleans test failedr=   r[   rV   r   FTr   rD  z"Negative zero equality test failedg       €r!  )r&  r   rÏ   rc   rÝ   ÚfloatrG  r+   r  r†   Úviewr…   r   r   r   )r   r2  r,   re   rÇ   rÔ   s         r$   Útest_unique_axiszTestUnique.test_unique_axis/  s¢  € ØˆØ�Š•R”\ ,Ô/Ñ0Ô0Ð0Ø�Š•R”\ *Ô-Ñ.Ô.Ð.Ø�Š�_Ñ%Ô%Ð%Ø�ŠÐ%Ñ&Ô&Ð&Ø�Š�s�C�j 3­ *Ð-Ñ.Ô.Ð.Ø�Š�s�C�j 3­ ,Ð/Ñ0Ô0Ð0àð 	(ð 	(ˆEØ× Ò  Ñ'Ô'Ð'Ð'à6ˆÝŒy˜¥2¤8Ð,Ñ,Ô,×4Ò4°R¸Ñ;Ô;×@Ò@ÅÑFÔFˆÝ”˜E 4˜=¨4°¨,Ð7½tÐDÑDÔDˆÝ�6 $¨QÐ/Ñ/Ô/°¸Ñ=Ô=Ð=à2ˆÝŒx˜$ ˜ s¨D k°D¸#°;ÀÀdÀÐLÑMÔMˆÝ”˜D #˜;˜-Ñ(Ô(ˆÝ�6 $¨QÐ/Ñ/Ô/°¸Ñ=Ô=Ð=Ð=Ð=r&   rE  r   rV   c                 óx   — t          j        g d¢¦  «        }t          ||¬¦  «        }t          |g d¢¦  «         d S )N)r   r   r   r   r   r   r   r   rD  r8   ©r   r   r   r   )r   rE  rx   Úuniqs       r$   Útest_unique_1d_with_axisz#TestUnique.test_unique_1d_with_axisE  sD   € åŒHÐ-Ð-Ð-Ñ.Ô.ˆÝ�a˜dÐ#Ñ#Ô#ˆÝ˜4   Ñ.Ô.Ð.Ð.Ð.r&   )Nr   rV   c                 óö   — t          j        g d¢g d¢g d¢g d¢g¦  «        }t          |d|¬¦  «        \  }}t          |j        |€|j        nd¦  «         t          |t          j        |||¬¦  «        ¦  «         d S )N)r   r   r   )r   r   r   T)r  rE  r   rD  )r   r   r   r   Úndimr   Útake)r   rE  rx   rT  r6  s        r$   Útest_unique_inverse_with_axisz(TestUnique.test_unique_inverse_with_axisK  s…   € åŒH�i�i�i   ¨I¨I¨I°y°y°yÐAÑBÔBˆÝ˜1¨T¸Ð=Ñ=Ô=‰	ˆˆcÝ�S”X¨¨˜qœv˜v¸1Ñ=Ô=Ð=Ý˜1�bœg d¨C°dÐ;Ñ;Ô;Ñ<Ô<Ð<Ð<Ð<r&   c                 óZ  — t          j        dt           j        ¬¦  «        }t          |dddd¬¦  «        \  }}}}t	          |j        |j        ¦  «         t          |t          j        d¬¦  «        ¦  «         t          |t          j        dg¦  «        ¦  «         t          |t          j        ddg¦  «        ¦  «         t          |t          j        dg¦  «        ¦  «         t          |d	ddd¬¦  «        \  }}}}t	          |j        |j        ¦  «         t          |t          j        d¬¦  «        ¦  «         t          |t          j        g ¦  «        ¦  «         t          |t          j        g ¦  «        ¦  «         t          |t          j        g ¦  «        ¦  «         d
}t          j        |¬¦  «        }t          t          |¦  «        ¦  «        D ]Z}t          |¦  «        }	||         dk    rd|	|<   nd	|	|<   t          t          ||¬¦  «        t          j        |	¬¦  «        ¦  «         Œ[d S )N)r   r   )rA   r,   r   T©rE  r  r  r  )r   r   )rA   r   r   )r   r   r   r   r   r   r   rD  )r   r'  r¾   r   r   r,   r   r   Úranger(  r)  )
r   Úsingle_zerorT  Úidxr6  ÚcntrA   Úmultiple_zerosrE  Úexpected_shapes
             r$   Útest_unique_axis_zerosz!TestUnique.test_unique_axis_zerosR  s  € å”h Vµ2´7Ð;Ñ;Ô;ˆÝ$ [°qÀtØ48ÈðNñ Nô NÑˆˆc�3˜õ 	�T”Z Ô!2Ñ3Ô3Ð3Ý˜4¥¤°Ð!7Ñ!7Ô!7Ñ8Ô8Ð8Ý˜3¥¤¨!¨¡¤Ñ.Ô.Ð.Ý˜3¥¤¨!¨Q¨Ñ 0Ô 0Ñ1Ô1Ð1Ý˜3¥¤¨!¨¡¤Ñ.Ô.Ð.õ % [°qÀtØ48ÈðNñ Nô NÑˆˆc�3˜õ 	�T”Z Ô!2Ñ3Ô3Ð3Ý˜4¥¤°Ð!7Ñ!7Ô!7Ñ8Ô8Ð8Ý˜3¥¤¨¡¤Ñ-Ô-Ð-Ý˜3¥¤¨¡¤Ñ-Ô-Ð-Ý˜3¥¤¨¡¤Ñ-Ô-Ð-ð &ˆÝœ¨Ð.Ñ.Ô.ˆÝ�#˜e™*œ*Ñ%Ô%ð 	?ð 	?ˆDÝ! %™[œ[ˆNØ�TŒ{˜aÒÐØ'(�˜tÑ$Ð$à'(�˜tÑ$å�v n¸4Ð@Ñ@Ô@Ý!œx¨nÐ=Ñ=Ô=ñ?ô ?ð ?ð ?ð	?ð 	?r&   c                 óD  — t          j        g d¢d¬¦  «        }t           j                             |d¦  «        }t          j        |¦  «        }t          j        |dd¬¦  «        \  }}}d}t          |j        |j        |¦  «         t          |j        |j        |¦  «         d S )N)é@   r   r   r   r   é?   re  r   r   r   r   r   r   re  r   r  r[   r   T)r  r  z6Unique returned different results when asked for index)r   r   ÚmaÚmasked_equalr   r   rÇ   Úmask)r   rx   ry   r  Úv2r  r"   re   s           r$   Útest_unique_maskedzTestUnique.test_unique_maskedv  s›   € åŒHÐFÐFÐFØ"ð$ñ $ô $ˆåŒE×Ò˜q !Ñ$Ô$ˆåŒI�a‰LŒLˆÝ”9˜Q¨TÀÐFÑFÔF‰ˆˆAˆqàFˆÝ˜1œ6 2¤7¨CÑ0Ô0Ð0Ý˜1œ6 2¤7¨CÑ0Ô0Ð0Ð0Ð0r&   c                 óš   — d}dD ]E}t          j        dgdgg|¦  «        }t          j        |d¬¦  «        }t          ||||z  ¦  «         ŒFd S )Nz*sort order incorrect for integer type '%s'ÚbhilqrV   r   rD  rS  )r   Úfmtrß   r   r    s        r$   Ú test_unique_sort_order_with_axisz+TestUnique.test_unique_sort_order_with_axisƒ  sh   € ð ;ˆØð 	/ð 	/ˆBÝ”˜2˜$  ˜ bÑ)Ô)ˆAÝ”	˜! !Ð$Ñ$Ô$ˆAÝ˜q ! S¨2¡XÑ.Ô.Ð.Ð.ð	/ð 	/r&   c                 ó,  — t          j        g d¢g d¢g d¢g d¢g¦  «                             |¦  «        }d}t          j        ddg¦  «        }t          t	          |¦  «        |                     |¦  «        |¦  «         d}t          j        g d¢g d¢g¦  «        }t          t	          |d¬¦  «        |                     |¦  «        |¦  «         d}t          j        g d	¢g d
¢g d	¢g d
¢g¦  «        }t          t	          |d¬¦  «        |                     |¦  «        |¦  «         d}t          j        ddgddggddgddggg¦  «                             |¦  «        }t          j        |ddgd¬¦  «        }t          t	          |d¬¦  «        ||¦  «         t	          |dddd¬¦  «        \  }}}}	d}t          ||         ||¦  «         d}t          t          j        ||d¬¦  «        |¦  «         d}t          |	t          j        ddg¦  «        |¦  «         t	          |dddd¬¦  «        \  }}}}	d}t          |d d …|f         |¦  «         d}t          t          j        ||d¬¦  «        |¦  «         d}t          |	t          j        g d¢¦  «        |¦  «         d S )N)r   r   r   r   )r   r   r   r   z&Unique with 1d array and axis=0 failedr   r   z&Unique with 2d array and axis=0 failedrD  z&Unique with 2d array and axis=1 failed)r   r   r   rJ  z&Unique with 3d array and axis=2 failedr   Tr[  z-Unique's return_index=True failed with axis=0z/Unique's return_inverse=True failed with axis=0z.Unique's return_counts=True failed with axis=0z-Unique's return_index=True failed with axis=1z/Unique's return_inverse=True failed with axis=1z.Unique's return_counts=True failed with axis=1)r   r   r   )r   r   rª   r   r   rX  )
r   r,   rÇ   re   rÔ   Údata3drT  r^  r6  r_  s
             r$   rG  zTestUnique._run_axis_testsŒ  sÞ  € ÝŒx˜˜˜Ø%˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (÷ )/ª¨u©¬ð 	ð
 7ˆÝ”˜1˜a˜&Ñ!Ô!ˆÝ�6 $™<œ<¨¯ª°uÑ)=Ô)=¸sÑCÔCÐCà6ˆÝ”˜<˜<˜<¨¨¨Ð6Ñ7Ô7ˆÝ�6 $¨QÐ/Ñ/Ô/°·²¸uÑ1EÔ1EÀsÑKÔKÐKà6ˆÝ”˜9˜9˜9 i i i°°°¸I¸I¸IÐFÑGÔGˆÝ�6 $¨QÐ/Ñ/Ô/°·²¸uÑ1EÔ1EÀsÑKÔKÐKà6ˆÝ”˜Q ˜FØ ˜Fð$à ˜FØ ˜Fð$ð%ñ &ô &÷ '-¢f¨U¡m¤mð 	õ ”˜ ! Q ¨aÐ0Ñ0Ô0ˆÝ�6 &¨qÐ1Ñ1Ô1°6¸3Ñ?Ô?Ð?å$ T°ÀØ48ÈðNñ Nô NÑˆˆc�3˜à=ˆÝ˜4 œ9 d¨CÑ0Ô0Ð0Ø?ˆÝ�2œ7 4¨°1Ð5Ñ5Ô5°tÑ<Ô<Ð<Ø>ˆÝ˜3¥¤¨!¨Q¨Ñ 0Ô 0°#Ñ6Ô6Ð6å$ T°ÀØ48ÈðNñ Nô NÑˆˆc�3˜à=ˆÝ˜4    3 œ<¨Ñ.Ô.Ð.Ø?ˆÝ�2œ7 4¨°1Ð5Ñ5Ô5°tÑ<Ô<Ð<Ø>ˆÝ˜3¥¤¨¨¨Ñ 3Ô 3°SÑ9Ô9Ð9Ð9Ð9r&   c           	      ó¬  — t          j        ddt           j        t           j        t           j        g¦  «        }t          j        |¦  «        }t          j        |d¬¦  «        }t	          |t          j        dt           j        g¦  «        ¦  «         t	          |t          j        dt           j        t           j        t           j        g¦  «        ¦  «         d S )Nr   F©Ú	equal_nan)r   r   r  r   r   )r   r   r5  Únot_unqs       r$   Útest_unique_nanequalsz TestUnique.test_unique_nanequals¸  s’   € åŒH�a˜�BœF¥B¤F­B¬FÐ3Ñ4Ô4ˆÝŒi˜‰lŒlˆÝ”)˜A¨Ð/Ñ/Ô/ˆÝ˜3¥¤¨!­R¬V¨Ñ 5Ô 5Ñ6Ô6Ð6Ý˜7¥B¤H¨aµ´½¼ÅÄÐ-HÑ$IÔ$IÑJÔJÐJÐJÐJr&   c                 óZ  — t          j        t           j        dddddt           j        ddg	¦  «        }t          j        |¦  «        t          j        |d¬¦  «        ft          j        |¦  «        t          j        |dd¬¦  «        ft          j        |¦  «        t          j        |dd¬	¦  «        ft          j        |¦  «        t          j        |dddd¬
¦  «        ffD ]M\  }}t          |¦  «        t          |¦  «        k    sJ ‚t          ||¦  «        D ]\  }}t          ||¦  «         ŒŒNd S )Nr   r   r   r   Frr  T)r  rs  )r  rs  )r  r  r  rs  )r   r   r  Úunique_valuesr   Úunique_countsÚunique_inverseÚ
unique_allr(  r*  r   )r   ÚarrÚres_unique_array_apiÚ
res_uniqueri   rd   s         r$   Útest_unique_array_api_functionsz*TestUnique.test_unique_array_api_functionsÀ  sR  € ÝŒh�œ  1 a¨¨A­r¬v°q¸!Ð<Ñ=Ô=ˆõ Ô  Ñ%Ô%Ý”	˜#¨Ð/Ñ/Ô/ðõ
 Ô  Ñ%Ô%Ý”	˜#¨T¸UÐCÑCÔCðõ
 Ô! #Ñ&Ô&Ý”	˜#¨d¸eÐDÑDÔDðõ
 ”˜cÑ"Ô"Ý”	ØØ!%Ø#'Ø"&Ø#ðñ ô ð	ð1
ð 	5ð 	5Ñ,Ð  *õ0 Ð+Ñ,Ô,µ°J±´Ò?Ð?Ð?Ð?Ý$'Ð(<¸jÑ$IÔ$Ið 5ð 5Ñ �˜Ý" 6¨8Ñ4Ô4Ð4Ð4ð5ð3	5ð 	5r&   c                 ó€  — t          j        g d¢g d¢g¦  «        }t          j        |d¬¦  «        \  }}|                     |j        ¦  «        }t           j        t           j        fD ]W} ||¦  «        }t          ||j        ¦  «         t          ||j	        ¦  «         t          ||j        |j	                 ¦  «         ŒXd S )Nr4   )r   r   r   Tr   )
r   r   r   r†   rA   ry  rz  r   r  Úinverse_indices)r   r{  Úexpected_valuesÚexpected_inverseÚfuncrÔ   s         r$   Útest_unique_inverse_shapez$TestUnique.test_unique_inverse_shapeß  sÅ   € åŒh˜	˜	˜	 9 9 9Ð-Ñ.Ô.ˆÝ,.¬I°cÈ$Ð,OÑ,OÔ,OÑ)ˆÐ)Ø+×3Ò3°C´IÑ>Ô>ÐÝÔ%¥r¤}Ð4ð 	Kð 	KˆDØ�T˜#‘Y”YˆFÝ˜°´Ñ>Ô>Ð>ÝÐ/°Ô1GÑHÔHÐHÝ˜s F¤M°&Ô2HÔ$IÑJÔJÐJÐJð		Kð 	Kr&   N)r/   r0   r1   rB  rH  rM  rQ  r²   r  r  rU  rY  rb  rj  rn  rG  ru  r~  r„  r2   r&   r$   r	  r	  u  s4  € € € € € ðgLð gLð gLðRAð Að AðNð Nð Nð>ð >ð >ð, „[×Ò˜V a¨ WÑ-Ô-ð/ð /ñ .Ô-ð/ð
 „[×Ò˜V ] ] ]Ñ3Ô3ð=ð =ñ 4Ô3ð=ð"?ð "?ð "?ðH1ð 1ð 1ð/ð /ð /ð*:ð *:ð *:ðXKð Kð Kð5ð 5ð 5ð>	Kð 	Kð 	Kð 	Kð 	Kr&   r	  )Ú__doc__Únumpyr   r   r   r   r   r   r   r	   Únumpy.exceptionsr
   Únumpy.testingr   r   r   r   r²   r   r	  r2   r&   r$   ú<module>r‰     sG  ððð ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 'Ð &Ð &Ð &Ð &Ð &ð?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?à €€€ðc	#ð c	#ð c	#ð c	#ð c	#ñ c	#ô c	#ð c	#ðLsKð sKð sKð sKð sKñ sKô sKð sKð sKð sKr&   