§
    `Štj‚º  ã                   ó¢   — 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 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)ÚStringDType)Ú	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         ú^/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/numpy/lib/tests/test_arraysetops.pyÚtest_intersect1dzTestSetOps.test_intersect1d   sÜ   € åŒH�\�\�\Ñ"Ô"ˆÝŒH�_�_�_Ñ%Ô%ˆåŒX�i�i�iÑ Ô ˆÝ˜˜1¨DÐ1Ñ1Ô1ˆÝ˜1˜bÑ!Ô!Ð!õ ŒH�_�_�_Ñ%Ô%ˆÝŒHÐ*Ð*Ð*Ñ+Ô+ˆåŒX�i�i�iÑ Ô ˆÝ˜˜1ÑÔˆÝ˜1˜bÑ!Ô!Ð!Ý˜2�{¨2¨rÑ2Ô2Ñ3Ô3Ð3Ð3Ð3ó    c                 óÀ   —  G d„ d¦  «        } |¦   «         }t          ||¦  «        }t          ||¦  «         t          g d¢g d¢¦  «        }t          |g d¢¦  «         d S )Nc                   ó   — e Zd Zdd„ZdS )ú4TestSetOps.test_intersect1d_array_like.<locals>.TestNc                 ó*   — t          j        d¦  «        S )Nr   )r   Úarange)r   ÚdtypeÚcopys      r%   Ú	__array__z>TestSetOps.test_intersect1d_array_like.<locals>.Test.__array__)   s   € Ý”y ‘|”|Ð#r'   )NN)Ú__name__Ú
__module__Ú__qualname__r/   © r'   r%   ÚTestr*   (   s(   € € € € € ð$ð $ð $ð $ð $ð $r'   r4   ©r   r   r   )r   r   )r   r4   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   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   Úunravel_indexÚshape)r   r    r!   r#   Úi1Úi2ÚeeÚefÚui1Úui2Úeas              r%   Útest_intersect1d_indicesz#TestSetOps.test_intersect1d_indices2   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   r5   )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#   s        r%   Útest_setxor1dzTestSetOps.test_setxor1dY   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 )NrM   rN   rL   Tr   r   r<   r   r   r:   r   r   rO   rP   s        r%   Útest_setxor1d_uniquezTestSetOps.test_setxor1d_uniqueq   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éÿÿÿÿ)rU   rV   )r   r   r@   r   r@   )r   r:   r   r   r<   r   r:   r<   )r   r   r<   )r   r:   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, expectedr5   ©r-   NrV   )r   r   r   rU   )ç      ð?ç      @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©ÚaryrV   rU   )r   Ú	TypeErrorr   )r   ra   Ú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   rh   c                 óx   — t          j        |||¬¦  «        }t          ||¦  «         |j        |j        k    sJ ‚d S )Nr`   )r   r   r   r-   )r   ra   rc   rd   re   Ú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©rl   )r   r   )r    r!   ÚxÚyÚ	isin_slowrl   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   r:   )r@   r   r   r   r:   rn   r\   ©TFF)r   Ú	vectorizeÚboolr,   Úreshaper   Úint64Úfloat64)r   rl   ru   r}   r    r!   r#   ÚdÚfrz   r-   ÚarÚempty_arrayr|   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   rl   r<   r   )FFTT)r   r<   r   )TFTF©r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )FTFTTTTTTFTFFFry   )r   r   r   )TTTTTTTTTTTFTT)r   r   r   r   r   )r   r   r   r   r   r   )TFTTTr   r   F>   Nrm   ©r   r   r   r   )r   rl   Ú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”   rP   s        r%   Útest_isin_char_arrayzTestSetOps.test_isin_char_arrayQ  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   ry   T©Úinvertrl   >   Nrm   r\   N)r   r   r   rœ   r   Úfloat32)r   rl   r•   r    r!   s        r%   Útest_isin_invertzTestSetOps.test_isin_invertZ  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!   re   r"   r#   s         r%   Ú!test_isin_hit_alternate_algorithmz,TestSetOps.test_isin_hit_alternate_algorithmo  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)FFFry   r›   N)r   r   r   r   rœ   )r   rl   r    r!   re   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'   rm   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]ry   N)r   ÚrandomÚRandomStateÚrandintr   Úastyper   )r   rl   Ú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\   rn   ry   )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   éÿ   )TTFFrn   zexceed the maximum©Úmatchry   N)r   Ú
issubdtypeÚsignedintegerr   Úint16Úint8r´   rµ   ÚRuntimeErrorr   r   )	r   Údtype1Údtype2rl   Úis_dtype2_signedÚar1Úar2re   Ú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   ry   FTN)r   r   r   r¬   Úint32)r   rl   rÊ   Úqueryr6   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   )FTTry   )TTTTN)r   Ú	typecodesr   r‡   r   r   )r   rl   r-   r    r!   re   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Ç   re   Ú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Ç   re   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   rW   )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   r:   r<   r>   Ú	quicksortry   )r   r    r   r!   r   r\   rn   )rW   r   r   r   r   rW   NTFr   rm   )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#   rz   r{   Ú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)r:   r   r   r   r   r   r   r   rñ   r:   r   é   é   r€   r3   )r   r   r   r   r,   Úuint32r   r-   rP   s        r%   Útest_setdiff1dzTestSetOps.test_setdiff1dO  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!   re   rj   s        r%   Útest_setdiff1d_uniquez TestSetOps.test_setdiff1d_uniquea  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_arrayh  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_manywaysm  sy   € ÝŒH�_�_�_Ñ%Ô%ˆÝŒHÐ*Ð*Ð*Ñ+Ô+ˆå�a˜‰^Œ^ˆÝ˜1˜aÑ Ô ˆÝ�q˜!‰}Œ}ˆÝ�t˜TÑ"Ô"ˆÝ˜2˜rÑ"Ô"Ð"Ð"Ð"r'   )0r0   r1   r2   r&   r7   rJ   rQ   rS   r[   r´   ÚmarkÚparametrizer   r   r‰   Únanr�   rÁ   rg   rÀ   rŠ   rÌ   rk   r�   r–   r™   rž   r¢   r¤   r±   r¸   Úuint8Úuint16Úuint64rÉ   rÎ   rÓ   rØ   rÚ   rÜ   rã   rç   rï   rô   rù   rû   rþ   r  r3   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                   ó¬  — e Zd Zd„ Zd„ Zd„ Zd„ 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'„ Z!d(„ Z"d)„ Z#ej                             d* ej$        d+¦  «         ej$        d,¦  «        g¦  «        ej                             d- e%d.d¦  «         e%d/d¦  «        dgd0 e%d0d/¦  «        dgd1d2d3 e%d1d/¦  «        d4gg¦  «        d5„ ¦   «         ¦   «         Z&d6S )7Ú
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!   rC   rD   r#   râ   Úbase_msgrf   ÚvÚjÚj1Új2Új3s                 r%   Ú	check_allzTestUnique.check_allz  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Ò   rd   )r   Útypess     r%   Ú	get_typeszTestUnique.get_types²  sc   € ØˆØ�Š•R”\ ,Ô/Ñ0Ô0Ð0Ø�Š•R”\ *Ô-Ñ.Ô.Ð.Ø�Š�_Ñ%Ô%Ð%Ø�ŠÐ%Ñ&Ô&Ð&Øˆr'   c           	      óX  — 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
        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          j        |¦  «        ¦  «        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          j        |¦  «        ¦  «        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)y      ð?        ù      ð?      ð¿r   r+  r]   )©r   r   r,  ræ   r5   r   r   r   T©r  r   r)  .)r  )r  r  g       @)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   rm   r	   ÚcharÚ	chararrayÚzerosr   r-   Úintpr  ÚcomplexÚ
datetime64Útimedelta64)r   r    r!   rC   rD   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º  s—  € à!Ð!Ð! 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¨"Ñ-Ô-Ð-ð $Ð#Ð#ˆÝÝŒG•B”I˜b‘M”MÑ"Ô"Ø�rˆNñ	
ô 	
ð 	
ð %Ð$Ð$ˆØˆ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”W�RœY q™\œ\Ñ*Ô*­B¬G°B©K¬KÑ8Ô8Ð8Ý•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”W�RœY q™\œ\Ñ*Ô*­B¬G°B©K¬KÑ8Ô8Ð8Ý•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           	      ó¤  — |                       ¦   «         }|                     d¦  «         |D ]£}t          j        g |¦  «        }t          j        g |¦  «        }t          j        g t          j        ¦  «        }t          j        g t          j        ¦  «        }t          j        g t          j        ¦  «        }|                      ||||||¦  «         Œ¤d S )NÚSU)r!  r  r   r   r‰   r  )r   r   râ   r    r!   rC   rD   r#   s           r%   Útest_unique_zero_sizedz!TestUnique.test_unique_zero_sized4  s¶   € à—’Ñ Ô ˆØ�Š�TÑÔÐØð 	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)r0   r1   r2   r3   r'   r%   ÚSubclassrS  A  s   € € € € € ØˆDr'   rT  r%  r&  r>   r'  r#  r\   r$  )r-   Úbuffer)r   Úndarrayr2  r!  r   rB   r  )r   rT  rC   rD   r#   r   râ   r    r!   r>  r?  s              r%   Útest_unique_subclasszTestUnique.test_unique_subclass@  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'   c                 ó–   — g d¢}g d¢}t          |d¬¦  «        }t          t          |                     ¦   «         ¦  «        |¦  «         d S )N)ÚappleÚbananarY  ÚcherryÚdaterZ  ÚfigÚgrape)rY  rZ  r[  r\  r]  r^  F©Úsorted©r	   r   r`  rt   ©r   ÚarrÚ
unq_sortedrB  s       r%   Ú"test_unique_byte_string_hash_basedz-TestUnique.test_unique_byte_string_hash_basedQ  sR   € àVÐVÐVˆØJÐJÐJˆ
å�C Ð&Ñ&Ô&ˆõ 	�6 "§)¢)¡+¤+Ñ.Ô.°
Ñ;Ô;Ð;Ð;Ð;r'   c                 ó–   — g d¢}g d¢}t          |d¬¦  «        }t          t          |                     ¦   «         ¦  «        |¦  «         d S )N)	õ   cafÃ©Úcaferg  õ   naÃ¯veÚnaiveõ   rÃ©sumÃ©ri  Úresumerk  )rh  rg  rj  ri  rl  rk  Fr_  ra  rb  s       r%   Ú%test_unique_unicode_string_hash_basedz0TestUnique.test_unique_unicode_string_hash_based[  s[   € ð
ð 
ð 
ˆð PÐOÐOˆ
å�C Ð&Ñ&Ô&ˆõ 	�6 "§)¢)¡+¤+Ñ.Ô.°
Ñ;Ô;Ð;Ð;Ð;r'   c                 ó"  — t          j        g d¢t          d ¬¦  «        ¬¦  «        }g d¢}t          |dd¬¦  «        }t	          d„ |D ¦   «         ¦  «        }t          |d	¦  «         t          d
„ |D ¦   «         ¦  «        }t          ||¦  «         d S )N©!õ   straÃŸeNÚstrasserp  Nõ   niÃ±oÚninoõ   Ã©lÃ¨veÚeleverr  rt  Úbbbbbbbbbbbbbbbbbbbbõ<   ÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸNõ<   Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Úeeeeeeeeeeeeeeeeeeeerw  Únnnnnnnnnnnnnnnnnnnnnnnnnnnnnnõ(   Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Nry  r{  Á,  bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbõ   ÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸÃŸNõ   Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Ã©Á,  eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeer}  Á�  nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnõX  Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Ã±Nr  r�  ©Ú	na_objectr\   ©rv  r|  ry  r  ru  rs  rr  rz  r€  rq  rp  rw  r}  rt  rx  r~  r{  r�  FT©r`  Ú	equal_nanc              3   ó   K  — | ]}|d u V — Œ	d S rq   r3   ©Ú.0rz   s     r%   ú	<genexpr>zFTestUnique.test_unique_vstring_hash_based_equal_nan.<locals>.<genexpr>¬  ó&   è è € Ð/Ð/ q˜˜d˜Ð/Ð/Ð/Ð/Ð/Ð/r'   r   c              3   ó   K  — | ]}|®|V — Œ	d S rq   r3   rˆ  s     r%   rŠ  zFTestUnique.test_unique_vstring_hash_based_equal_nan.<locals>.<genexpr>¯  ó"   è è € Ð;Ð; !¨Q¨]˜A¨]¨]¨]¨]Ð;Ð;r'   ©r   r   r
   r	   Úsumr   r`  r   ©r   r    Úunq_sorted_wo_nonerB  Ú
count_noneÚ
a1_wo_nones         r%   Ú(test_unique_vstring_hash_based_equal_nanz3TestUnique.test_unique_vstring_hash_based_equal_nanh  sÃ   € åŒHð %ð %ð %õL ¨Ð-Ñ-Ô-ðM'
ñ '
ô '
ˆðP
ð 
ð 
Ðõ* �A˜e¨tÐ4Ñ4Ô4ˆõ
 Ð/Ð/¨BÐ/Ñ/Ô/Ñ/Ô/ˆ
Ý�Z Ñ#Ô#Ð#åÐ;Ð; rÐ;Ñ;Ô;Ñ;Ô;ˆ
Ý˜:Ð'9Ñ:Ô:Ð:Ð:Ð:r'   c                 ó"  — t          j        g d¢t          d ¬¦  «        ¬¦  «        }g d¢}t          |dd¬¦  «        }t	          d„ |D ¦   «         ¦  «        }t          |d¦  «         t          d	„ |D ¦   «         ¦  «        }t          ||¦  «         d S )
Nro  r‚  r\   r„  Fr…  c              3   ó   K  — | ]}|d u V — Œ	d S rq   r3   rˆ  s     r%   rŠ  zJTestUnique.test_unique_vstring_hash_based_not_equal_nan.<locals>.<genexpr>ö  r‹  r'   r:   c              3   ó   K  — | ]}|®|V — Œ	d S rq   r3   rˆ  s     r%   rŠ  zJTestUnique.test_unique_vstring_hash_based_not_equal_nan.<locals>.<genexpr>ù  r�  r'   rŽ  r�  s         r%   Ú,test_unique_vstring_hash_based_not_equal_nanz7TestUnique.test_unique_vstring_hash_based_not_equal_nan²  sÃ   € åŒHð %ð %ð %õL ¨Ð-Ñ-Ô-ðM'
ñ '
ô '
ˆðP
ð 
ð 
Ðõ* �A˜e¨uÐ5Ñ5Ô5ˆõ
 Ð/Ð/¨BÐ/Ñ/Ô/Ñ/Ô/ˆ
Ý�Z Ñ#Ô#Ð#åÐ;Ð; rÐ;Ñ;Ô;Ñ;Ô;ˆ
Ý˜:Ð'9Ñ:Ô:Ð:Ð:Ð:r'   c                 ó’   — t          j        g d¢dz  t          d ¬¦  «        ¬¦  «        }t          t          t
          |d¬¦  «         d S )N)
rY  rZ  rY  Nr[  r\  rZ  r]  Nr^  r   r‚  r\   F©r†  )r   r   r
   r   r¶   r	   )r   r    s     r%   Útest_unique_vstring_errorsz%TestUnique.test_unique_vstring_errorsü  s`   € ÝŒHðð ð ð ñõ ¨Ð-Ñ-Ô-ð
ñ 
ô 
ˆõ 	•j¥&¨!°uÐ=Ñ=Ô=Ð=Ð=Ð=r'   Ú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   r`  FTN)r   r   r	   r6  r   )r   rœ  r    Úres_not_sortedÚ
res_sortedrc  re   s          r%   Útest_unsupported_hash_basedz&TestUnique.test_unsupported_hash_based  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   rb   Ú_run_axis_testsrá   rà   r   r	   r   r,   )r   s    r%   Útest_unique_axis_errorsz"TestUnique.test_unique_axis_errors  s†   € Ý•i Ô!5µvÑ>Ô>Ð>Ý•i Ô!5Ø�S�z C­ =Ð1ñ	3ô 	3ð 	3õ 	•i¥­¬°2©¬¸QÐ?Ñ?Ô?Ð?Ý•i¥­¬°2©¬¸RÐ@Ñ@Ô@Ð@Ð@Ð@r'   c                 óþ   — d}g d¢g d¢g}t          j        |¦  «        }t          t          |d¬¦  «        t          |d¬¦  «        |¦  «         t          t          |d¬¦  «        t          |d¬¦  «        |¦  «         d S )NzUnique failed on list of lists©r   r   r   r   r£  r   )r   rr   r   r	   )r   rf   ÚinpÚinp_arrs       r%   Útest_unique_axis_listz TestUnique.test_unique_axis_list  s„   € Ø.ˆØˆyˆy˜)˜)˜)Ð$ˆÝ”*˜S‘/”/ˆÝ�6 #¨AÐ.Ñ.Ô.µ°wÀQÐ0GÑ0GÔ0GÈÑMÔMÐMÝ�6 #¨AÐ.Ñ.Ô.µ°wÀQÐ0GÑ0GÔ0GÈÑMÔMÐMÐMÐMr'   c                 óŠ  — g }|                      t          j        d         ¦  «         |                      t          j        d         ¦  «         |                     d¦  «         |                     d¦  «         |                     dt          fdt          fg¦  «         |                     dt          fdt
          fg¦  «         |D ]}|                      |¦  «         Œd}t          j        dt          j        ¬	¦  «         	                    d
d¦  «         
                    t          ¦  «        }t          j        ddgddggt          ¬	¦  «        }t          t          |d¬¦  «        ||¦  «         d}t          j        ddgddgddgddgg¦  «        }t          j        ddgg¦  «        }t          t          |d¬¦  «        ||¦  «         d S )NrÐ   r  r  r  r    r!   z&Non-bitwise-equal booleans test failedr>   r\   rW   r   FTr   r£  z"Negative zero equality test failedç       €r.  )r  r   rÒ   rd   rà   Úfloatr¦  r,   r  rˆ   Úviewr‡   r   r   r	   )r   r   r-   rf   rÊ   r×   s         r%   Útest_unique_axiszTestUnique.test_unique_axis%  s¢  € ØˆØ�Š•R”\ ,Ô/Ñ0Ô0Ð0Ø�Š•R”\ *Ô-Ñ.Ô.Ð.Ø�Š�_Ñ%Ô%Ð%Ø�ŠÐ%Ñ&Ô&Ð&Ø�Š�s�C�j 3­ *Ð-Ñ.Ô.Ð.Ø�Š�s�C�j 3­ ,Ð/Ñ0Ô0Ð0àð 	(ð 	(ˆEØ× Ò  Ñ'Ô'Ð'Ð'à6ˆÝŒy˜¥2¤8Ð,Ñ,Ô,×4Ò4°R¸Ñ;Ô;×@Ò@ÅÑFÔFˆÝ”˜E 4˜=¨4°¨,Ð7½tÐDÑDÔDˆÝ�6 $¨QÐ/Ñ/Ô/°¸Ñ=Ô=Ð=à2ˆÝŒx˜$ ˜ s¨D k°D¸#°;ÀÀdÀÐLÑMÔMˆÝ”˜D #˜;˜-Ñ(Ô(ˆÝ�6 $¨QÐ/Ñ/Ô/°¸Ñ=Ô=Ð=Ð=Ð=r'   r¤  r   rW   c                 óx   — t          j        g d¢¦  «        }t          ||¬¦  «        }t          |g d¢¦  «         d S )N)r   r   r   r   r   r   r   r   r£  r9   ©r   r   r	   r   )r   r¤  rz   Úuniqs       r%   Útest_unique_1d_with_axisz#TestUnique.test_unique_1d_with_axis;  sD   € åŒHÐ-Ð-Ð-Ñ.Ô.ˆÝ�a˜dÐ#Ñ#Ô#ˆÝ˜4   Ñ.Ô.Ð.Ð.Ð.r'   )Nr   rW   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¤  rz   r´  rA  s        r%   Útest_unique_inverse_with_axisz(TestUnique.test_unique_inverse_with_axisA  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   )rB   r-   r   T©r¤  r  r  r  )r   r   )rB   r   r   )r   r   r   r   r   r   r   r£  )r   r3  rÁ   r	   r   r-   r   r   Úranger4  r5  )
r   Úsingle_zeror´  ÚidxrA  ÚcntrB   Úmultiple_zerosr¤  Úexpected_shapes
             r%   Útest_unique_axis_zerosz!TestUnique.test_unique_axis_zerosH  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   rz   r{   r  Úv2r*  r#   rf   s           r%   Útest_unique_maskedzTestUnique.test_unique_maskedl  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'ÚbhilqrW   r   r£  r³  )r   Úfmtrâ   r    r!   s        r%   Ú test_unique_sort_order_with_axisz+TestUnique.test_unique_sort_order_with_axisy  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   r©  z&Unique with 3d array and axis=2 failedr   Tr»  z-Unique's return_index=True failed with axis=0z/Unique's return_inverse=True failed with axis=0z.Unique's return_counts=True failed with axis=0z-Unique's return_index=True failed with axis=1z/Unique's return_inverse=True failed with axis=1z.Unique's return_counts=True failed with axis=1)r   r   r   )r   r   r¬   r   r	   r¸  )
r   r-   rÊ   rf   r×   Údata3dr´  r¾  rA  r¿  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Ø?ˆÝ�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   Frš  ©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                 ó:  — t          j        t           j        dddt           j         ddddt           j        dddt           j         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 ]¡\  }}t          |¦  «        t          |¦  «        k    sJ ‚t          |t          ¦  «        s|f}t          |t          ¦  «        s|f}t          ||¦  «        D ]9\  }}t          t          j        |¦  «        t          j        |¦  «        ¦  «         Œ:Œ¢d S )Nr]   r.  g      @r®  r^   g      @Frš  T)r  r†  )r  r†  )r  r  r  r†  )r   r   r  Úunique_valuesr	   Úunique_countsÚunique_inverseÚ
unique_allr4  Ú
isinstanceÚtupler6  r   rm   )r   rc  Úres_unique_array_apiÚ
res_uniquerj   re   s         r%   Útest_unique_array_api_functionsz*TestUnique.test_unique_array_api_functions¶  s½  € ÝŒhå”˜˜S #­¬ wØ�c˜3 ¥R¤VØ�T˜3¥¤ ¨ðñ
ô 
ˆõ Ô  Ñ%Ô%Ý”	˜#¨Ð/Ñ/Ô/ðõ
 Ô  Ñ%Ô%Ý”	˜#¨T¸UÐCÑCÔCðõ
 Ô! #Ñ&Ô&Ý”	˜#¨d¸eÐDÑDÔDðõ
 ”˜cÑ"Ô"Ý”	ØØ!%Ø#'Ø"&Ø#ðñ ô ð	ð1
ð  	Að  	AÑ,Ð  *õ0 Ð+Ñ,Ô,µ°J±´Ò?Ð?Ð?Ð?ÝÐ2µEÑ:Ô:ð ?Ø(<Ð'>Ð$Ý˜j­%Ñ0Ô0ð +Ø(˜]�
å$'Ð(<¸jÑ$IÔ$Ið Að AÑ �˜å�RœW V™_œ_­b¬g°hÑ.?Ô.?Ñ@Ô@Ð@Ð@ðAð= 	Að  	Ar'   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 )Nr5   )r   r   r   Tr-  )
r   r   r	   rˆ   rB   rØ  rÙ  r   r  Úinverse_indices)r   rc  Ú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	   rr   r   )r   rÊ   rå  r-   ÚmatÚure   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'   c                 óì   — t          j        t           j        ddt           j        g¦  «        }t          j        dt           j        g¦  «        }t          j        |dd¬¦  «        }t	          ||¦  «         d S )Nr   r.  T©r¤  r†  rÒ  ©r   Úarr1dre   r×   s       r%   Ú'test_unique_axis0_equal_nan_on_1d_arrayz2TestUnique.test_unique_axis0_equal_nan_on_1d_arrayý  s_   € å”�"œ& ! Q­¬Ð/Ñ0Ô0ˆÝ”8˜R¥¤˜LÑ)Ô)ˆÝ”˜5 q°DÐ9Ñ9Ô9ˆÝ˜6 8Ñ,Ô,Ð,Ð,Ð,r'   c                 óì   — t          j        t           j        ddt           j        g¦  «        }t          j        dt           j        g¦  «        }t          j        |dd¬¦  «        }t	          ||¦  «         d S )Nr   r.  rW   Trî  rÒ  rï  s       r%   Ú&test_unique_axis_minus1_eq_on_1d_arrayz1TestUnique.test_unique_axis_minus1_eq_on_1d_array  s_   € Ý”�"œ& ! Q­¬Ð/Ñ0Ô0ˆÝ”8˜R¥¤˜LÑ)Ô)ˆÝ”˜5 r°TÐ:Ñ:Ô:ˆÝ˜6 8Ñ,Ô,Ð,Ð,Ð,r'   c                 óô   — t          j        t           j        ddt           j        g¦  «        }t          j        t
          d¬¦  «        5  t          j        |dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   zinteger argument expectedr¼   r.  Frî  )r   r   r  r´   rµ   rb   r	   )r   rð  s     r%   Ú'test_unique_axis_float_raises_typeerrorz2TestUnique.test_unique_axis_float_raises_typeerror
  s¯   € Ý”�"œ& ! Q­¬Ð/Ñ0Ô0ˆÝŒ]�9Ð,GÐHÑHÔHð 	8ð 	8ÝŒI�e #°Ð7Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð 	8ð 	8s   ÁA-Á-A1Á4A1râ   ÚFr0  r  r.  r®  i8ÿÿÿiçÿÿÿr   y       €      Ày              @c                 ó¤   — t          j        ||¬¦  «        }t          j        |¦  «        }t          |¦  «        t          |¦  «        dz
  k    sJ ‚d S )Nr\   r   )r   r   r	   r4  )r   râ   r  ró   rë  s        r%   Ú test_unique_complex_signed_zerosz+TestUnique.test_unique_complex_signed_zeros  sL   € õ
 ŒH�V 2Ð&Ñ&Ô&ˆÝŒI�a‰LŒLˆÝ�1‰vŒv�˜V™œ q™Ò(Ð(Ð(Ð(Ð(Ð(r'   N)'r0   r1   r2   r  r!  rM  rP  rW  re  rm  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ø  r3   r'   r%   r  r  x  s‹  € € € € € ð6"ð 6"ð 6"ðpð ð ðxLð xLð xLðt
0ð 
0ð 
0ð2ð 2ð 2ð"<ð <ð <ð<ð <ð <ðH;ð H;ð H;ðTH;ð H;ð H;ðT>ð >ð >ð „[×Ò˜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ð)Að )Að )AðV	Kð 	Kð 	Kð „[×ÒØØ
ˆ)ˆ)Ø
ˆ)ˆ)ð
à	ˆˆØ	
ð	ñô ð „[×Ò˜[¨5°$¨-Ñ8Ô8Ø„[×Ò˜W r¤x°´Ð&<Ñ=Ô=ð5ð 5ñ >Ô=ñ 9Ô8ñô ð5ð-ð -ð -ð-ð -ð -ð8ð 8ð 8ð
 „[×Ò˜T H B¤H¨S¡M¤M°8°2´8¸C±=´=Ð#AÑBÔBØ„[×Ò˜X¨¨°°bÑ)9Ô)9¸7¸7À4ÈÑ;LÔ;LÈaÐ(PØ)-¨w¨w°t¸TÑ/BÔ/BÀBÐ(GØ),¨a°°g°g¸cÀ4Ñ6HÔ6HÈ"Ð(Mð(Oñ Pô Pð)ð )ñPô Pñ CÔBð)ð )ð )r'   r  )Ú__doc__r´   Únumpyr   r   r   r   r   r   r   r	   Únumpy.dtypesr
   Únumpy.exceptionsr   Únumpy.testingr   r   r   r   r   r  r3   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^
)ð ^
)ð ^
)ð ^
)ð ^
)ñ ^
)ô ^
)ð ^
)ð ^
)ð ^
)r'   