§
    u! h/¢  ã                   ó–   — d Z ddl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  G d„ d¦  «        Z G d„ d	¦  «        ZdS )
z-Test functions for 1D array set operations.

é    N)Úediff1dÚintersect1dÚisinÚ	setdiff1dÚsetxor1dÚunion1dÚunique)Ú	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         úZc:\xampp_lite_8_4\www\timesheet\venv\Lib\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_indices1   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_setxor1dX   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_uniquep   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|› d�}t          t          |¦  «        5  t          |||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz
dtype of `z` must be compatible©ÚaryrU   rT   )r   Ú	TypeErrorr   )r   r_   ÚprependÚappendÚexpectedÚmsgs         r$   Ú!test_ediff1d_forbidden_type_castsz,TestSetOps.test_ediff1d_forbidden_type_casts’   s§   € ð: :˜8Ð9Ð9Ð9ˆÝ ¥¨CÑ0Ô0ð 	&ð 	&Ý˜Ø!Ø$ð&ñ &ô &ð &ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s   œ<¼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   rf   c                 óx   — t          j        |||¬¦  «        }t          ||¦  «         |j        |j        k    sJ ‚d S )Nr^   )r   r   r   r,   )r   r_   ra   rb   rc   Ú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©rj   )r   r   )r   r    ÚxÚyÚ	isin_slowrj   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   rl   r[   ©TFF)r   Ú	vectorizeÚboolr+   Úreshaper   Úint64Úfloat64)r   rj   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   rj   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>   Nrk   ©r   r   r   r   )r   rj   Ú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_arrayP  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©Úinvertrj   >   Nrk   r[   N)r   r   r   rš   r   Úfloat32)r   rj   r“   r   r    s        r$   Útest_isin_invertzTestSetOps.test_isin_invertY  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    rc   r!   r"   s         r$   Ú!test_isin_hit_alternate_algorithmz,TestSetOps.test_isin_hit_alternate_algorithmn  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   rj   r   r    rc   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&   rk   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   rj   Ú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[   rl   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   éÿ   )TTFFrl   zexceed the maximum)Úmatchrw   N)r   Ú
issubdtypeÚsignedintegerr   Úint16Úint8r²   r³   ÚRuntimeErrorr   r   )	r   Údtype1Údtype2rj   Úis_dtype2_signedÚar1Úar2rc   Ú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   rj   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   rj   r,   r   r    rc   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Ä   rc   Úresults        r$   Útest_isin_first_array_is_objectz*TestSetOps.test_isin_first_array_is_objectÚ  sV   € ØˆfˆÝŒh˜�s˜R‘xÑ Ô ˆÝ”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 ‘{Ñ#Ô#ˆÝ”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 ‘{Ñ#Ô#ˆÝ”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Ä   rc   rÔ   s         r$   Ú+test_isin_both_arrays_have_structured_dtypez6TestSetOps.test_isin_both_arrays_have_structured_dtypeï  sŠ   € õ ŒX˜¥#�¨µ6Ð(:Ð;Ñ<Ô<ˆÝŒh˜	�{¨"Ð-Ñ-Ô-ˆÝŒh˜	�{ RÑ'¨rÐ2Ñ2Ô2ˆÝ”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[   rl   )rV   r   r   r   r   rV   NTFr   rk   )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_setdiff1dN  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    rc   rh   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_arrayg  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_manywaysl  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¾   re   r½   rˆ   rÉ   ri   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ØˆŒ�%˜Ð#¨2¬9Ð5Ñ5Ô5ØˆŒ�&˜*Ð%¨R¬XÐ6Ñ6Ô6ð&ñ ô ð „[×Ò˜VÐ%<Ð%<Ð%<Ñ=Ô=ð	0ð 	0ñ >Ô=ñ	ô ð
	0ð „[×Ò˜VÐ%<Ð%<Ð%<Ñ=Ô=ð
@ð 
@ñ >Ô=ð
@ð-ð -ð -ð-ð -ð -ð-ð -ð -ð-ð -ð -ð8ð 8ð 8ðB =ð  =ð  =ðD0ð 0ð 0ð$8ð 8ð 8ð$'ð 'ð 'ð=ð =ð =ð
#ð #ð #ð #ð #r&   r   c                   óJ  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zej	         
                    dg d¢¦  «        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ej	         
                    dg d¢g d¢gg d¢dg¦  «        ej	         
                    dddg¦  «        ej	         
                    d ej        ej        g¦  «        d!„ ¦   «         ¦   «         ¦   «         Zd"S )#Ú
TestUniquec                 ó€  — d}|                      d|¦  «        }t          |¦  «        }	t          |	||¦  «         t          |	¦  «        t          |¦  «        k    sJ ‚|                      d|¦  «        }t          |ddd¦  «        \  }	}
t          |	||¦  «         t          |
||¦  «         t          |	¦  «        t          |¦  «        k    sJ ‚|                      d|¦  «        }t          |ddd¦  «        \  }	}
t          |	||¦  «         t          |
||¦  «         t          |	¦  «        t          |¦  «        k    sJ ‚|                      d|¦  «        }t          |ddd¦  «        \  }	}
t          |	||¦  «         t          |
||¦  «         t          |	¦  «        t          |¦  «        k    sJ ‚|                      d|¦  «        }t          |ddd¦  «        \  }	}}t          |	||¦  «         t          |||¦  «         t          |||¦  «         t          |	¦  «        t          |¦  «        k    sJ ‚|                      d	|¦  «        }t          |ddd¦  «        \  }	}}t          |	||¦  «         t          |||¦  «         t          |||¦  «         t          |	¦  «        t          |¦  «        k    sJ ‚|                      d
|¦  «        }t          |ddd¦  «        \  }	}}t          |	||¦  «         t          |||¦  «         t          |||¦  «         t          |	¦  «        t          |¦  «        k    sJ ‚|                      d|¦  «        }t          |ddd¦  «        \  }	}}}t          |	||¦  «         t          |||¦  «         t          |||¦  «         t          |||¦  «         t          |	¦  «        t          |¦  «        k    sJ ‚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)Úformatr	   r   Útype)r   r   r    rB   rC   r"   rß   Úbase_msgrd   ÚvÚjÚj1Új2Új3s                 r$   Ú	check_allzTestUnique.check_ally  s·  € Ø2ˆà�oŠo˜h¨Ñ+Ô+ˆÝ�1‰IŒIˆÝ˜1˜a Ñ%Ô%Ð%Ý�A‰wŒw�$˜q™'œ'Ò!Ð!Ð!Ð!à�oŠo˜n¨bÑ1Ô1ˆÝ�a˜˜u eÑ,Ô,‰ˆˆ1Ý˜1˜a Ñ%Ô%Ð%Ý˜1˜b #Ñ&Ô&Ð&Ý�A‰wŒw�$˜q™'œ'Ò!Ð!Ð!Ð!à�oŠoÐ.°Ñ3Ô3ˆÝ�a˜  eÑ,Ô,‰ˆˆ1Ý˜1˜a Ñ%Ô%Ð%Ý˜1˜b #Ñ&Ô&Ð&Ý�A‰wŒw�$˜q™'œ'Ò!Ð!Ð!Ð!à�oŠo˜o¨rÑ2Ô2ˆÝ�a˜  tÑ,Ô,‰ˆˆ1Ý˜1˜a Ñ%Ô%Ð%Ý˜1˜a Ñ%Ô%Ð%Ý�A‰wŒw�$˜q™'œ'Ò!Ð!Ð!Ð!à�oŠoÐ?ÀÑDÔDˆÝ˜1˜d D¨%Ñ0Ô0‰	ˆˆ2ˆrÝ˜1˜a Ñ%Ô%Ð%Ý˜2˜r 3Ñ'Ô'Ð'Ý˜2˜r 3Ñ'Ô'Ð'Ý�A‰wŒw�$˜q™'œ'Ò!Ð!Ð!Ð!à�oŠoÐ>ÀÑCÔCˆÝ˜1˜d E¨4Ñ0Ô0‰	ˆˆ2ˆrÝ˜1˜a Ñ%Ô%Ð%Ý˜2˜r 3Ñ'Ô'Ð'Ý˜2˜q #Ñ&Ô&Ð&Ý�A‰wŒw�$˜q™'œ'Ò!Ð!Ð!Ð!à�oŠoÐ@À"ÑEÔEˆÝ˜1˜e T¨4Ñ0Ô0‰	ˆˆ2ˆrÝ˜1˜a Ñ%Ô%Ð%Ý˜2˜r 3Ñ'Ô'Ð'Ý˜2˜q #Ñ&Ô&Ð&Ý�A‰wŒw�$˜q™'œ'Ò!Ð!Ð!Ð!à�oŠoð  4Ø68ñ:ô :ˆå˜q $¨¨dÑ3Ô3‰ˆˆ2ˆr�2Ý˜1˜a Ñ%Ô%Ð%Ý˜2˜r 3Ñ'Ô'Ð'Ý˜2˜r 3Ñ'Ô'Ð'Ý˜2˜q #Ñ&Ô&Ð&Ý�A‰wŒw�$˜q™'œ'Ò!Ð!Ð!Ð!Ð!Ð!r&   c                 óò   — g }|                      t          j        d         ¦  «         |                      t          j        d         ¦  «         |                     d¦  «         |                     d¦  «         |S )NrÍ   ÚAllFloatúdatetime64[D]útimedelta64[D])Úextendr   rÏ   rb   )r   Útypess     r$   Ú	get_typeszTestUnique.get_types±  sc   € ØˆØ�Š•R”\ ,Ô/Ñ0Ô0Ð0Ø�Š•R”\ *Ô-Ñ.Ô.Ð.Ø�Š�_Ñ%Ô%Ð%Ø�ŠÐ%Ñ&Ô&Ð&Øˆr&   c           	      ó¤  — g d¢dz  }g d¢}g d¢}g d¢dz  }t          j        g d¢d¦  «        }|                      ¦   «         }|D ]F}t          j        ||¦  «        }t          j        ||¦  «        }	|                      ||	||||¦  «         ŒGd}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 )+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   Ú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   Úmultiplyr  r   r  ÚemptyÚlenÚlistÚzipr   r	   ÚcharÚ	chararrayÚzerosr   r,   Úintpr  ÚcomplexÚ
datetime64Útimedelta64)r   r   r    rB   rC   r"   r  rß   Ú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_1d¹  sb  € à!Ð!Ð! BÑ&ˆØˆLˆLˆØˆ\ˆ\ˆØ"Ð"Ð" RÑ'ˆÝŒK˜˜˜ bÑ)Ô)ˆð —’Ñ Ô ˆØð 	2ð 	2ˆBÝ”˜!˜R‘”ˆBÝ”˜!˜R‘”ˆBØ�NŠN˜2˜r 2 r¨1¨bÑ1Ô1Ð1Ð1ð ˆÝŒX•c˜!‘f”f˜bÑ!Ô!ˆØˆˆ1ˆ1ˆ1‰ÝŒX•c˜!‘f”f˜bÑ!Ô!ˆØˆˆ1ˆ1ˆ1‰Ø�Š�r˜2˜r 2 q¨"Ñ-Ô-Ð-ð ˜Ð#ˆÝŒX•d�3˜q !™9œ9‘o”o rÑ*Ô*ˆÝŒX•d�3˜q !™9œ9‘o”o rÑ*Ô*ˆØ�Š�r˜2˜r 2 q¨"Ñ-Ô-Ð-ð $Ð#Ð#ˆÝ�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˜x­°µb´fÑ)=Ô)=½wÀsÍBÌFÑ?SÔ?SÐTˆØ˜¥'¨#­r¬vÑ"6Ô"6Ð7ˆØ��ˆØ ��ˆØ��ˆÝ•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           	      óv  — |                       ¦   «         D ]£}t          j        g |¦  «        }t          j        g |¦  «        }t          j        g t          j        ¦  «        }t          j        g t          j        ¦  «        }t          j        g t          j        ¦  «        }|                      ||||||¦  «         Œ¤d S ro   )r  r   r   r‡   r  )r   rß   r   r    rB   rC   r"   s          r$   Útest_unique_zero_sizedz!TestUnique.test_unique_zero_sized.  sŸ   € à—.’.Ñ"Ô"ð 	0ð 	0ˆBÝ”˜˜RÑ Ô ˆAÝ”˜˜RÑ Ô ˆAÝ”˜"�bœhÑ'Ô'ˆBÝ”˜"�bœhÑ'Ô'ˆBÝ”˜�RœXÑ&Ô&ˆAØ�NŠN˜1˜a  R¨¨BÑ/Ô/Ð/Ð/ð	0ð 	0r&   c           	      ó’  —  G d„ dt           j        ¦  «        }g d¢}g d¢dz  }t          j        g d¢d¦  «        }|                      ¦   «         }|D ]u}t          j        g d¢dz  |¬¦  «        }t          j        g d	¢|¬¦  «        } ||j        ||¬
¦  «        }	 ||j        ||¬
¦  «        }
|                      |	|
||||¦  «         Œvd S )Nc                   ó   — e Zd ZdS )ú1TestUnique.test_unique_subclass.<locals>.SubclassN)r/   r0   r1   r2   r&   r$   ÚSubclassrP  9  s   € € € € € ØˆDr&   rQ  r"  r#  r=   r$  r   r[   r!  )r,   Úbuffer)r   Úndarrayr0  r  r   rA   r  )r   rQ  rB   rC   r"   r  rß   r   r    r<  r=  s              r$   Útest_unique_subclasszTestUnique.test_unique_subclass8  s  € ð	ð 	ð 	ð 	ð 	•r”zñ 	ô 	ð 	ð ˆ\ˆ\ˆØ"Ð"Ð" RÑ'ˆÝŒK˜˜˜ bÑ)Ô)ˆð —’Ñ Ô ˆØð 	2ð 	2ˆBÝ”Ð.Ð.Ð.°Ñ3¸2Ð>Ñ>Ô>ˆAÝ”˜˜˜¨RÐ0Ñ0Ô0ˆAØ�˜!œ'¨°AÐ6Ñ6Ô6ˆBØ�˜!œ'¨°AÐ6Ñ6Ô6ˆBØ�NŠN˜2˜r 2 r¨1¨bÑ1Ô1Ð1Ð1ð	2ð 	2r&   Úarg)r  r  r  c                 óÞ   — t          j        g d¢¦  «        }t          j        ddgfddi|di¤Ž}t          j        ddgfddi|di¤Ž}t          ||¦  «        D ]\  }}t	          ||¦  «         ŒdS )zðThese currently never use the hash-based solution.  However,
        it seems easier to just allow it.

        When the hash-based solution is added, this test should fail and be
        replaced with something more comprehensive.
        )
r   r   r   r   r   r;   éÇ   r   r   r   r   ÚsortedFTN)r   r   r	   r4  r   )r   rU  r   Úres_not_sortedÚ
res_sortedÚarrrc   s          r$   Útest_unsupported_hash_basedz&TestUnique.test_unsupported_hash_basedI  sœ   € õ ŒHÐ5Ð5Ð5Ñ6Ô6ˆåœ A q 6ÐGÐG°%ÐG¸CÀ¸;ÐGÐGˆÝ”Y  1˜vÐBÐB¨dÐB°s¸D°kÐBÐBˆ
å  °Ñ<Ô<ð 	.ð 	.‰MˆC�Ý˜s HÑ-Ô-Ð-Ð-ð	.ð 	.r&   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   r`   Ú_run_axis_testsrÞ   rÝ   r
   r	   r   r+   )r   s    r$   Útest_unique_axis_errorsz"TestUnique.test_unique_axis_errorsY  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   r^  r   )r   rp   r   r	   )r   rd   ÚinpÚinp_arrs       r$   Útest_unique_axis_listz TestUnique.test_unique_axis_lista  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   r^  z"Negative zero equality test failedg       €r,  )r  r   rÏ   rb   rÝ   Úfloatra  r+   r  r†   Úviewr…   r   r   r	   )r   r  r,   rd   rÇ   rÔ   s         r$   Útest_unique_axiszTestUnique.test_unique_axish  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&   r_  r   rV   c                 óx   — t          j        g d¢¦  «        }t          ||¬¦  «        }t          |g d¢¦  «         d S )N)r   r   r   r   r   r   r   r   r^  r8   ©r   r   r	   r   )r   r_  rx   Úuniqs       r$   Útest_unique_1d_with_axisz#TestUnique.test_unique_1d_with_axis~  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  r_  r   r^  )r   r   r	   r   Úndimr   Útake)r   r_  rx   rn  r?  s        r$   Útest_unique_inverse_with_axisz(TestUnique.test_unique_inverse_with_axis„  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©r_  r  r  r  )r   r   )rA   r   r   )r   r   r   r   r   r   r   r^  )r   r1  r¾   r	   r   r,   r   r   Úranger2  r3  )
r   Úsingle_zerorn  Úidxr?  ÚcntrA   Úmultiple_zerosr_  Úexpected_shapes
             r$   Útest_unique_axis_zerosz!TestUnique.test_unique_axis_zeros‹  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   é?   r  r   r   r   r   r   r   r  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"   rd   s           r$   Útest_unique_maskedzTestUnique.test_unique_masked¯  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   r^  rm  )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 failedr^  z&Unique with 2d array and axis=1 failed)r   r   r   rd  z&Unique with 3d array and axis=2 failedr   Tru  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	   rr  )
r   r,   rÇ   rd   rÔ   Údata3drn  rx  r?  ry  s
             r$   ra  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   r>  Ú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   FrŒ  T)r  r�  )r  r�  )r  r  r  r�  )r   r   r  Úunique_valuesr	   Úunique_countsÚunique_inverseÚ
unique_allr2  r4  r   )r   r[  Úres_unique_array_apiÚ
res_uniquerh   rc   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   r“  r”  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&   rÇ   )r   r   r   )r   r   r   r   Ú	transposeFTr,   c                 óþ   — t          j        |¦  «                             |¦  «        }|r|j        }t          j        |¦  «        }t          j        t          j        |¦  «        ¦  «        }t          ||d¬¦  «         d S )NT)Ústrict)r   Úmatrixrª   ÚTr	   rp   r   )r   rÇ   rž  r,   ÚmatÚurc   s          r$   Útest_unique_with_matrixz"TestUnique.test_unique_with_matrix#  sm   € õ Œi˜‰oŒo×$Ò$ UÑ+Ô+ˆØð 	Ø”%ˆCÝŒI�c‰NŒNˆÝ”9�RœZ¨™_œ_Ñ-Ô-ˆÝ˜1˜h¨tÐ4Ñ4Ô4Ð4Ð4Ð4r&   N)r/   r0   r1   r  r  rK  rM  rT  r²   r  r  r\  rb  rg  rk  ro  rs  r|  r„  rˆ  ra  r�  r—  r�  r   rÉ   rˆ   r¥  r2   r&   r$   r	  r	  w  sC  € € € € € ð6"ð 6"ð 6"ðpð ð ðsLð sLð sLðj0ð 0ð 0ð2ð 2ð 2ð" „[×Ò˜UÐ$WÐ$WÐ$WÑXÔXð.ð .ñ YÔXð.ð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ð „[×ÒØØ
ˆ)ˆ)Ø
ˆ)ˆ)ð
à	ˆˆØ	
ð	ñô ð „[×Ò˜[¨5°$¨-Ñ8Ô8Ø„[×Ò˜W r¤x°´Ð&<Ñ=Ô=ð5ð 5ñ >Ô=ñ 9Ô8ñô ð5ð 5ð 5r&   r	  )Ú__doc__r²   Únumpyr   r   r   r   r   r   r   r	   Únumpy.exceptionsr
   Únumpy.testingr   r   r   r   r   r	  r2   r&   r$   ú<module>rª     s  ððð ð €€€à Ð Ð Ð Ø RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RØ &Ð &Ð &Ð &Ð &Ð &ðð ð ð ð ð ð ð ð ð ð ð ðc	#ð c	#ð c	#ð c	#ð c	#ñ c	#ô c	#ð c	#ðL{5ð {5ð {5ð {5ð {5ñ {5ô {5ð {5ð {5ð {5r&   