§
    €ÛgHŒ  ã                   óŽ   — d Z ddlZddlmZmZmZmZ ddlm	Z	m
Z
mZmZ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)Úassert_array_equalÚassert_equalÚassert_raisesÚassert_raises_regex)Úediff1dÚintersect1dÚsetxor1dÚunion1dÚ	setdiff1dÚuniqueÚin1dÚisinc                   ó  — e 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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g¦  «        ej	         
                    dg d¢¦  «        d(„ ¦   «         ¦   «         Z!ej	         
                    dg d¢¦  «        d)„ ¦   «         Z"d*„ Z#d+„ Z$d,„ Z%d-„ Z&d.„ Z'd/„ Z(d0„ Z)d1„ Z*d2„ Z+d3„ Z,d4„ Z-d	S )5Ú
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         úV/granary/edev/quantum/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„ ZdS )ú4TestSetOps.test_intersect1d_array_like.<locals>.Testc                 ó*   — t          j        d¦  «        S )Nr   )r   Úarange©r   s    r$   Ú	__array__z>TestSetOps.test_intersect1d_array_like.<locals>.Test.__array__%   s   € Ý”y ‘|”|Ð#r&   N)Ú__name__Ú
__module__Ú__qualname__r-   © r&   r$   ÚTestr)   $   s#   € € € € € ð$ð $ð $ð $ð $r&   r2   ©r   r   r   )r   r   )r   r2   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   )r9   )r   r   r   r8   )r   r:   r   é   )r   r   r   r8   )é
   é   r:   é	   )r   r8   r   r:   )r   r   r   r8   r8   )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   r3   )r8   r   r   )r   r   r   r   r   r8   )r   r:   r   r   )r8   r   r   r:   )r   r   r	   r   ©r   r   r    r!   r"   s        r$   Útest_setxor1dzTestSetOps.test_setxor1dU   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 ¦  «        }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éÿÿÿÿ)rM   rN   )r   r   r>   r   r>   )r   r8   r   r   r:   r   r8   r:   )r   r   r:   )r   r8   r   )r   r   r   r   )r   Ú	zero_elemÚone_elemÚtwo_elems       r$   Útest_ediff1dzTestSetOps.test_ediff1dm   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, expectedr3   ©ÚdtypeNrN   )r   r   r   rM   )ç      ð?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©ÚaryrN   rM   )Úformatr   Ú	TypeErrorr   )r   rY   Ú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   ra   c                 óx   — t          j        |||¬¦  «        }t          ||¦  «         |j        |j        k    sJ ‚d S )NrX   )r   r   r   rU   )r   rY   r\   r]   r^   Ú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©re   )r   r   )r   r    ÚxÚyÚ	isin_slowre   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   r8   )r>   r   r   r   r8   rg   rT   ©TFF)r   Ú	vectorizeÚboolr+   Úreshaper   Úint64Úfloat64)r   re   rm   ru   r   r    r"   ÚdÚfrr   rU   ÚarÚempty_arrayrt   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   re   r:   r   )FFTT)r   r:   r   )TFTF©r   r   r   r   r   r   r   r   r   r   r   r   r   r   rw   )FTFTTTTTTFTFFFrq   )r   r   r   )TTTTTTTTTTTFTT)r   r   r   r   r   )r   r   r   r   r   r   )TFTTTr   r   F>   Nrf   ©r   r   r   r   )r   re   Úmultr   r    r!   r"   s          r$   Ú	test_in1dzTestSetOps.test_in1d  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�   rJ   s        r$   Útest_in1d_char_arrayzTestSetOps.test_in1d_char_arrayA  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 in1d's invert parameterr‰   rŒ   rw   rq   T©Úinvertre   >   Nrf   rT   N)r   r   r   r•   r   Úfloat32)r   re   rŽ   r   r    s        r$   Útest_in1d_invertzTestSetOps.test_in1d_invertJ  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        d¦  «                             dd¦  «        }t          j        dd¦  «                             dd¦  «        }t          j        dd¦  «                             dd¦  «        }t          j        g d¢¦  «        }t	          t          ||d|¬	¦  «        |¦  «         t	          t          ||d
|¬	¦  «        |¦  «         t	          t          ||d|¬	¦  «        |¦  «         t	          t          ||d
|¬	¦  «        |¦  «         d S )Nr8   r   r   r>   é?   ry   )FFFTTTTr‹   F)r   r+   r€   r   r   r   )r   re   r   r    Úlong_br!   s         r$   Útest_in1d_ravelzTestSetOps.test_in1d_ravel_  s:  € õ ŒI�a‰LŒL× Ò   AÑ&Ô&ˆÝŒI�a˜‰OŒO×#Ò# A qÑ)Ô)ˆÝ”˜1˜bÑ!Ô!×)Ò)¨"¨aÑ0Ô0ˆÝŒXÐ=Ð=Ð=Ñ>Ô>ˆå�4  1°D¸tÐDÑDÔDØñ	ô 	ð 	å�4  1°EØ%)ð+ñ +ô +àñ	ô 	ð 	õ 	�4  6¸Ø%)ð+ñ +ô +àñ	ô 	ð 	õ 	�4  6¸Ø%)ð+ñ +ô +àñ	ô 	ð 	ð 	ð 	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ÍÍArT   )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    r^   r!   r"   s         r$   Ú!test_in1d_hit_alternate_algorithmz,TestSetOps.test_in1d_hit_alternate_algorithmt  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 in1d works for boolean inputTF)FFFrq   r”   N)r   r   r   r   r•   )r   re   r   r    r^   s        r$   Útest_in1d_booleanzTestSetOps.test_in1d_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&   rf   c                 óX  — t           j                             d¦  «        }|                     ddd¬¦  «        }|                     ddd¬¦  «        }t	          ||¦  «        }|                     d¦  «        }|                     d¦  «        }t          |t	          |||¬¦  «        ¦  «         dS )z(Test that in1d works for timedelta inputr   éd   r<   )Úsizeútimedelta64[s]rq   N)r   ÚrandomÚRandomStateÚrandintr   Úastyper   )r   re   Úrstater   r    ÚtruthÚa_timedeltaÚb_timedeltas           r$   Útest_in1d_timedeltazTestSetOps.test_in1d_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¥   rT   rg   rq   )r   r   ÚpytestÚraisesÚ
ValueErrorr   ©r   r   r    s      r$   Útest_in1d_table_timedelta_failsz*TestSetOps.test_in1d_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    oLt	          |t           j        k    o|t           j        k    |t           j        k    o|t           j        k    f¦  «        }|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 in1d works as expected for mixed dtype input.)r   r   r   r   rT   )i€ÿÿÿr   é   )r·   r   éÿ   )TTFFrg   zexceed the maximum)Úmatchrq   N)r   Ú
issubdtypeÚsignedintegerr   ÚanyÚint8Úint16r±   r²   ÚRuntimeErrorr   r   )	r   Údtype1Údtype2re   Úis_dtype2_signedÚar1Úar2r^   Úexpect_failures	            r$   Útest_in1d_mixed_dtypez TestSetOps.test_in1d_mixed_dtype¡  s�  € õ œ=¨µÔ1AÑBÔBÐÝŒh�|�|�|¨6Ð2Ñ2Ô2ˆàð 	8Ý”(˜>˜>˜>°Ð8Ñ8Ô8ˆCˆCå”(˜=˜=˜=°Ð7Ñ7Ô7ˆCå”8Ð6Ð6Ð6Ñ7Ô7ˆà šð ­SØ•b”gÒÐ4 &­B¬HÒ"4Ø•b”hÒÐ4 6­R¬WÒ#4ð2
ñ .ô .ˆð
 ð 	DÝ”�|Ð3GÐHÑHÔHð *ð *Ý�S˜# DÐ)Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *õ �t C¨°4Ð8Ñ8Ô8¸(ÑCÔCÐCÐCÐCs   Ã1DÄDÄD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 in1d works as expected for bool/int input.Ú
AllIntegerr}   rT   ©r   r   r   r   )FTTrq   )TTTTN)r   Ú	typecodesr   r   r   r   )r   re   rU   r   r    r^   s         r$   Útest_in1d_mixed_booleanz"TestSetOps.test_in1d_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Ä   r^   Úresults        r$   Útest_in1d_first_array_is_objectz*TestSetOps.test_in1d_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_in1d_second_array_is_objectz+TestSetOps.test_in1d_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_in1d_both_arrays_are_objectz+TestSetOps.test_in1d_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   NrT   r<   T)r   rU   ÚintÚobjectr   r   r   )r   ÚdtrÃ   rÄ   r^   rÏ   s         r$   Ú+test_in1d_both_arrays_have_structured_dtypez6TestSetOps.test_in1d_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   rT   Trž   )rÝ   )r   r   r   rO   )rÝ   ©r   r   r   F)r   r   rÙ   r   r   r•   rÎ   s        r$   Ú'test_in1d_with_arrays_containing_tuplesz2TestSetOps.test_in1d_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 in1d raises expected errors.)r   r   r   r   r   )r   r   r8   r:   r<   Ú	quicksortrq   )r   r   r   r    r   rT   rg   )rO   r   r   r   r   rO   NTFr   rf   )r   r   r   r³   r   rÙ   Úint32r�   ÚiinfoÚmaxr¿   r   )r   rÃ   rÄ   Úobj_ar1Úobj_ar2rU   Úoverflow_ar2rÏ   s           r$   Útest_in1d_errorszTestSetOps.test_in1d_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"   rr   rs   ÚezÚzs	            r$   Útest_union1dzTestSetOps.test_union1d3  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)r8   r   r   r   r   r   r   r   rê   r8   r   é   é   rx   r1   )r   r   r   r   r+   Úuint32r   rU   rJ   s        r$   Útest_setdiff1dzTestSetOps.test_setdiff1dE  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    r^   rc   s        r$   Útest_setdiff1d_uniquez TestSetOps.test_setdiff1d_uniqueW  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_array^  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_manywaysc  sy   € ÝŒH�_�_�_Ñ%Ô%ˆÝŒHÐ*Ð*Ð*Ñ+Ô+ˆå�a˜‰^Œ^ˆÝ˜1˜aÑ Ô ˆÝ�q˜!‰}Œ}ˆÝ�t˜TÑ"Ô"ˆÝ˜2˜rÑ"Ô"Ð"Ð"Ð"r&   ).r.   r/   r0   r%   r5   rH   rK   rS   r±   ÚmarkÚparametrizer   r   r�   Únanr–   r½   r`   r¾   r‚   râ   rd   r‡   r�   r’   r—   r›   rŸ   r¡   r®   rµ   Úuint8Úuint16rÆ   rË   rÐ   rÒ   rÔ   rÛ   rß   rè   rí   rò   rô   r÷   rý   r1   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Ð%<Ð%<Ð%<Ñ=Ô=ð:8ð :8ñ >Ô=ð:8ðx „[×Ò˜VÐ%<Ð%<Ð%<Ñ=Ô=ð;<ð ;<ñ >Ô=ð;<ðz"ð "ð "ð „[×Ò˜VÐ%<Ð%<Ð%<Ñ=Ô=ðGð Gñ >Ô=ðGð( „[×Ò˜VÐ%<Ð%<Ð%<Ñ=Ô=ðð ñ >Ô=ðð("ð "ð "ð  „[×Ò˜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Ð ð	
ñ
ô 
ð „[×Ò˜VÐ%<Ð%<Ð%<Ñ=Ô=ðDð Dñ >Ô=ñ
ô 
ðDð. „[×Ò˜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
d	„ Zd
„ Zd„ Zd„ Zd„ ZdS )Ú
TestUniquec           	      ó  — 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¢}g d¢}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)rZ   r   r   )r   r    rA   rB   r"   rÚ   Úbase_msgr_   ÚvÚjÚj1Új2Új3s                r$   Ú	check_allz,TestUnique.test_unique_1d.<locals>.check_allr  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Þ   r3   )r   r   r   r   r   r   T)r	  r   r  .)r  r   )r  r	  g       @rV   )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É   )r   ÚmultiplyÚextendrÊ   r]   r   ÚemptyÚlenÚlistÚzipr   r   Ú	chararrayÚzerosr   rU   Úintpr   ÚcomplexÚ
datetime64Útimedelta64)r   r  r   r    rA   rB   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_1dp  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ˆØ Ð Ð ˆÝ�A‰YŒYˆÝ˜2˜sÑ#Ô#Ð#Ý˜A¨dÐ3Ñ3Ô3‰
ˆˆFÝ˜2˜sÑ#Ô#Ð#Ý˜6 3Ñ'Ô'Ð'õ ŒL˜‰OŒOˆØˆˆ#‰Ý”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                 ól  — t          t          | j        t          ¦  «         t          t          | j        dt          fdt          fg¦  «         t          t
          j        t          t          j        d¦  «        d¬¦  «         t          t
          j        t          t          j        d¦  «        d¬¦  «         d S )Nr   r    r<   r   ©Úaxiséþÿÿÿ)	r   r[   Ú_run_axis_testsrÙ   rØ   r   Ú	AxisErrorr   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õ 	•b”l¥F­B¬I°b©M¬MÀÐBÑBÔBÐBÝ•b”l¥F­B¬I°b©M¬MÀÐCÑCÔCÐCÐCÐCr&   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   rj   r   r   )r   r_   Ú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<   rT   rO   r   FTr   r=  z"Negative zero equality test failedg       €r  )r   r   rÊ   r]   rØ   Úfloatr@  r+   r  r€   Úviewr   r   r   r   )r   r+  rU   r_   ÚdatarÏ   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&   r>  r   rO   c                 óx   — t          j        g d¢¦  «        }t          ||¬¦  «        }t          |g d¢¦  «         d S )N)r   r   r   r   r   r   r   r   r=  r7   ©r   r   r   r   )r   r>  rr   Úuniqs       r$   Útest_unique_1d_with_axisz#TestUnique.test_unique_1d_with_axis>  sD   € åŒHÐ-Ð-Ð-Ñ.Ô.ˆÝ�a˜dÐ#Ñ#Ô#ˆÝ˜4   Ñ.Ô.Ð.Ð.Ð.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   )r@   rU   r   T©r>  r  r	  r
  )r   r   )r@   r   r   )r   r   r   r   r   r   r   r=  )r   r!  r½   r   r   rU   r   r   Úranger"  r#  )
r   Úsingle_zerorO  Úidxr/  Úcntr@   Úmultiple_zerosr>  Úexpected_shapes
             r$   Útest_unique_axis_zerosz!TestUnique.test_unique_axis_zerosD  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  rT   r   T)r  r
  z6Unique returned different results when asked for index)r   r   ÚmaÚmasked_equalr   r   rK  Úmask)r   rr   rs   r  Úv2r  r"   r_   s           r$   Útest_unique_maskedzTestUnique.test_unique_maskedh  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'ÚbhilqrO   r   r=  rN  )r   ÚfmtrÚ   r   r    s        r$   Ú test_unique_sort_order_with_axisz+TestUnique.test_unique_sort_order_with_axisu  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          ||         |¦  «         d}t          |	t          j        ddg¦  «        |¦  «         t	          |dddd¬¦  «        \  }}}}	d}t          |d d …|f         |¦  «         d}t          |d d …|f         |¦  «         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   TrR  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   Útake)
r   rU   rK  r_   rÏ   Údata3drO  rU  r/  rV  s
             r$   r@  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Ø?ˆÝ˜4 œ9 dÑ+Ô+Ð+Ø>ˆÝ˜3¥¤¨!¨Q¨Ñ 0Ô 0°#Ñ6Ô6Ð6å$ T°ÀØ48ÈðNñ Nô NÑˆˆc�3˜à=ˆÝ˜4    3 œ<¨Ñ.Ô.Ð.Ø?ˆÝ˜4    3 œ<¨Ñ.Ô.Ð.Ø>ˆÝ˜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&   N)r.   r/   r0   r;  rB  rG  rL  r±   rþ   rÿ   rP  rY  r`  rd  r@  rk  r1   r&   r$   r  r  n  sá   € € € € € ðgLð gLð gLðRDð Dð DðNð Nð Nð>ð >ð >ð, „[×Ò˜V a¨ WÑ-Ô-ð/ð /ñ .Ô-ð/ð
"?ð "?ð "?ðH1ð 1ð 1ð/ð /ð /ð*:ð *:ð *:ðXKð Kð Kð Kð Kr&   r  )Ú__doc__Únumpyr   Únumpy.testingr   r   r   r   Únumpy.lib.arraysetopsr   r   r	   r
   r   r   r   r   r±   r   r  r1   r&   r$   ú<module>rp     s?  ððð ð Ð Ð Ð ð?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð €€€ð]	#ð ]	#ð ]	#ð ]	#ð ]	#ñ ]	#ô ]	#ð ]	#ð@BKð BKð BKð BKð BKñ BKô BKð BKð BKð BKr&   