ó
    �œ‘h/¢  ã                   óˆ   • S r SSKrSSKrSSKJrJrJrJrJrJ	r	J
r
  SSKJr  SSKJrJrJrJr   " S S5      r " S S	5      rg)
z-Test functions for 1D array set operations.

é    N)Úediff1dÚintersect1dÚisinÚ	setdiff1dÚsetxor1dÚunion1dÚunique)Ú	AxisError)Úassert_array_equalÚassert_equalÚassert_raisesÚassert_raises_regexc                   óÀ  • \ rS rSrS rS rS rS rS rS r	\
R                  R                  S\R                  " / S	Q\R                  S
9S\R                   S4\R                  " / S	Q\R                  S
9\R                  " / SQ\R"                  S
9SS4\R                  " / SQ\R$                  S
9\R                   \R                   S4/5      S 5       r\
R                  R                  S\R                  " / S	Q\R(                  S
9SS\R                  " / SQ\R(                  S
94\R                  " / S	Q\R"                  S
9\R                  " S/\R*                  S
9S\R                  " / SQ\R"                  S
94\R                  " / S	Q\R,                  S
9SS\R                  " / SQ\R,                  S
94\R                  " / S	Q\R                  S
9SS\R                  " / SQ\R                  S
94/5      S 5       r\
R                  R                  S/ SQ5      S 5       r\
R                  R                  S/ SQ5      S  5       rS! r\
R                  R                  S/ SQ5      S" 5       rS# r\
R                  R                  S/ SQ5      S$ 5       r\
R                  R                  SSS%/5      S& 5       rS' r\
R                  R                  S(\R$                  \R(                  4\R(                  \R$                  4\R@                  \RB                  4\RB                  \R@                  4\R@                  \R(                  4\R(                  \R@                  4\RD                  \R                  4/5      \
R                  R                  S/ SQ5      S) 5       5       r#\
R                  R                  S*\R                  " S+S,/\RD                  S
9\R                  " S-S./\R                  S
9/5      \
R                  R                  S/ SQ5      S/ 5       5       r$\
R                  R                  S/ SQ5      S0 5       r%S1 r&S2 r'S3 r(S4 r)S5 r*S6 r+S7 r,S8 r-S9 r.S: r/S; r0S<r1g)=Ú
TestSetOpsé   c                 ó¦  • [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[        XSS9n[        XC5        [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[        X5      n[        XE5        [        / [        / / 5      5        g )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         ÚdC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\numpy/lib/tests/test_arraysetops.pyÚtest_intersect1dÚTestSetOps.test_intersect1d   s�   € ä�HŠH’\Ó"ˆÜ�HŠH’_Ó%ˆä�XŠX’iÓ ˆÜ˜¨DÑ1ˆÜ˜1Ô!ô �HŠH’_Ó%ˆÜ�HŠHÒ*Ó+ˆä�XŠX’iÓ ˆÜ˜ÓˆÜ˜1Ô!Ü˜2œ{¨2¨rÓ2Õ3ó    c                 óŽ   •  " S S5      nU" 5       n[        X"5      n[        X25        [        / SQ/ SQ5      n[        U/ SQ5        g )Nc                   ó   • \ rS rSrSS jrSrg)Ú4TestSetOps.test_intersect1d_array_like.<locals>.Testé'   Nc                 ó.   • [         R                  " S5      $ )Nr   )r   Úarange)r   ÚdtypeÚcopys      r%   Ú	__array__Ú>TestSetOps.test_intersect1d_array_like.<locals>.Test.__array__(   s   € Ü—y’y “|Ð#r(   © )NN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r1   Ú__static_attributes__r3   r(   r%   ÚTestr+   '   s   † ÷$r(   r9   ©r   r   r   )r   r   )r   r9   r    Úress       r%   Útest_intersect1d_array_likeÚ&TestSetOps.test_intersect1d_array_like%   s=   € ÷	$ñ 	$ñ ‹FˆÜ˜!ÓˆÜ˜3Ô"Üš)¢YÓ/ˆÜ˜3¢	Õ*r(   c                 óÜ  • [         R                  " / SQ5      n[         R                  " / SQ5      n[        XSSS9u  p4n[         R                  " / SQ5      n[        X65        [        X   U5        [        X%   U5        [         R                  " / SQ5      n[         R                  " / SQ5      n[        XSS9u  p4n[         R                  " / SQ5      n[        X75        [        X   U5        [        X%   U5        [         R                  " / S	Q/ S
Q/5      n[         R                  " / SQ/ SQ/5      n[        XSSS9u  p4n[         R                  " XAR
                  5      n[         R                  " XRR
                  5      n	[         R                  " / SQ5      n
[        X¡U   5        [        X¢U	   5        [         R                  " / SQ/ SQ/5      n[         R                  " / SQ/ SQ/5      n[        XSS9u  p4n[         R                  " XAR
                  5      n[         R                  " XRR
                  5      n	[         R                  " / SQ5      n
[        X¡U   5        [        X¢U	   5        g )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   )rA   )r   r   r   r@   )r   rB   r   é   )r   r   r   r@   )é
   é   rB   é	   )r   r@   r   rB   )r   r   r   r@   r@   )r   r   rB   r   r   )r   r   r   r   )rD   rE   rB   r   )r   r   rB   )r   r   r   r   Úunravel_indexÚshape)r   r    r!   r#   Úi1Úi2ÚeeÚefÚui1Úui2Úeas              r%   Útest_intersect1d_indicesÚ#TestSetOps.test_intersect1d_indices1   sÊ  € ä�HŠH’\Ó"ˆÜ�HŠH’\Ó"ˆÜ °DÈÑN‰	ˆˆrÜ�XŠX’iÓ ˆÜ˜1Ô!Ü˜1™5 "Ô%Ü˜1™5 "Ô%ô �HŠHÒ*Ó+ˆÜ�HŠHÒ-Ó.ˆÜ °TÑ:‰	ˆˆrÜ�XŠX’lÓ#ˆÜ˜1Ô!Ü˜1™5 "Ô%Ü˜1™5 "Ô%ô �HŠH’l¢MÐ2Ó3ˆÜ�HŠH’l¢NÐ3Ó4ˆÜ °DÈÑN‰	ˆˆrÜ×Ò˜r§7¡7Ó+ˆÜ×Ò˜r§7¡7Ó+ˆÜ�XŠX’lÓ#ˆÜ˜2 ™vÔ&Ü˜2 ™vÔ&ô �HŠH’o¢Ð7Ó8ˆÜ�HŠH’l¢NÐ3Ó4ˆÜ °TÑ:‰	ˆˆrÜ×Ò˜r§7¡7Ó+ˆÜ×Ò˜r§7¡7Ó+ˆÜ�XŠX’iÓ ˆÜ˜2 ™vÔ&Ü˜2 ™vÕ&r(   c                 ód  • [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[        X5      n[        XC5        [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[        X5      n[        XC5        [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[        X5      n[        XC5        [        / [        / / 5      5        g )	Nr   r   )r   r   r   r:   )r@   r   r   ©r   r   r   r   r   r@   ©r   rB   r   r   ©r@   r   r   rB   ©r   r   r   r   ©r   r    r!   r"   r#   s        r%   Útest_setxor1dÚTestSetOps.test_setxor1dX   sÆ   € Ü�HŠH’\Ó"ˆÜ�HŠH’_Ó%ˆä�XŠX’iÓ ˆÜ�Q‹NˆÜ˜1Ô!ä�HŠH’YÓˆÜ�HŠH’YÓˆä�XŠXÒ(Ó)ˆÜ�Q‹NˆÜ˜1Ô!ä�HŠH’\Ó"ˆÜ�HŠH’\Ó"ˆä�XŠXÒ(Ó)ˆÜ�Q‹NˆÜ˜1Ô!ä˜2œx¨¨BÓ/Õ0r(   c                 óŒ  • [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[        XSS9n[        XC5        [         R                  " S/S/S/S	//5      n[         R                  " S
S/SS//5      n[         R                  " / SQ5      n[        XSS9n[        XC5        g )NrT   rU   rS   Tr   r   rB   r   r   r@   r   r   rV   rW   s        r%   Útest_setxor1d_uniqueÚTestSetOps.test_setxor1d_uniquep   sž   € Ü�HŠH’\Ó"ˆÜ�HŠH’\Ó"ˆä�XŠXÒ(Ó)ˆÜ�Q¨Ñ.ˆÜ˜1Ô!ä�HŠH�q�c˜A˜3   a SÐ)Ó*ˆÜ�HŠH�q˜!�f˜q !˜fÐ%Ó&ˆä�XŠXÒ(Ó)ˆÜ�Q¨Ñ.ˆÜ˜1Õ!r(   c           	      ó¬  • [         R                  " / 5      n[         R                  " S/5      n[         R                  " SS/5      n[        / [        U5      5        [        S/[        USS95        [        S/[        USS95        [        SS/[        USSS95        [        / [        U5      5        [        S/[        U5      5        [        / SQ[        US	S
S95        [        / SQ[        USS/S	S/S95        [        SS
/[        US
S95        [        / SQ[        US	S/S95        [        S	S/[        US	S95        [        / SQ[        USS/S95        g )Nr   r   r   )Úto_begin)Úto_endéÿÿÿÿ)r^   r_   )r   r   rF   r   rF   )r   r@   r   r   rB   r   r@   rB   )r   r   rB   )r   r@   r   )r   r   r   r   )r   Ú	zero_elemÚone_elemÚtwo_elems       r%   Útest_ediff1dÚTestSetOps.test_ediff1d   s"  € Ü—H’H˜R“Lˆ	Ü—8’8˜Q˜C“=ˆÜ—8’8˜Q ˜FÓ#ˆä˜2œw yÓ1Ô2Ü˜A˜3¤¨	¸AÑ >Ô?Ü˜A˜3¤¨	¸!Ñ <Ô=Ü˜B ˜7¤G¨IÀÈ1Ñ$MÔNÜ˜2œw xÓ0Ô1Ü˜A˜3¤¨Ó 1Ô2Üš9¤g¨hÀÈ1Ñ&MÔNÜš?Ü" 8°q¸!°fÀaÈÀVÑLô	Nä˜A˜q˜6¤7¨8¸AÑ#>Ô?Üš9¤g¨hÀÀ1¸vÑ&FÔGÜ˜A˜q˜6¤7¨8¸aÑ#@ÔAÜš9¤g¨hÀ!ÀQÀÑ&HÕIr(   zary, prepend, append, expectedr:   ©r/   Nr_   )r   r   r   r^   )ç      ð?g      @g      "@c                 óz   • SU S3n[        [        U5         [        UUUS9  S S S 5        g ! , (       d  f       g = f)Nz
dtype of `z` must be compatible©Úaryr_   r^   )r   Ú	TypeErrorr   )r   rj   ÚprependÚappendÚexpectedÚmsgs         r%   Ú!test_ediff1d_forbidden_type_castsÚ,TestSetOps.test_ediff1d_forbidden_type_casts’   s9   € ð: ˜8˜*Ð$8Ð9ˆÜ ¤¨CÕ0Ü˜Ø!Ø$ò&÷ 1×0Ö0ús   —,¬
:zary,prepend,append,expectedi   i  )r   r   r   r   r   )r   r   r   r   )r   r   r   r   r   é÷ÿÿÿ)r   r   r   rr   c                 ó~   • [         R                  " UUUS9n[        XT5        UR                  UR                  :X  d   eg )Nri   )r   r   r   r/   )r   rj   rl   rm   rn   Úactuals         r%   Útest_ediff1d_scalar_handlingÚ'TestSetOps.test_ediff1d_scalar_handlingµ   s:   € ô: —’ Ø#)Ø%,ñ.ˆô 	�VÔ&Ø�|‰|˜xŸ~™~Ó-Ð-Ñ-r(   Úkind)NÚsortÚtablec                 óˆ  ^^• S n[         R                  " U[        /S1S9mUU4S jn[         R                  " S5      R	                  / SQ5      n[         R
                  " / SQ/ SQ/ S	Q/5      nU" XE5        S
S/nSnU" Xg5        [         R
                  " S5      nU" X…5        U" XH5        U" Xˆ5        U" SU5        U" US5        U" SS5        TS:w  a  / n	U" X•5        U" XI5        U" X™5        [        [         R                  [         R                  4 H¬  n
TS:X  a  U
[         R                  :X  a  M  U
[         R                  [         R                  1;   a  [         R
                  " / SQU
S9nO#U
[        1;   a  [         R
                  " / SQ5      n[         R
                  " / U
S9nU" UW5        U" X¼5        U" XÌ5        M®     g )Nc                 ón   • [         R                  " U5      R                  5       R                  5       nX;   $ ©N)r   ÚasarrayÚflattenÚtolist)r    r!   s     r%   Ú
_isin_slowÚ(TestSetOps.test_isin.<locals>._isin_slowÚ   s(   € Ü—
’
˜1“×%Ñ%Ó'×.Ñ.Ó0ˆAØ‘6ˆMr(   r   )ÚotypesÚexcludedc                 ó@   >• [        XTS9nT" X5      n[        X#5        g )N©rw   )r   r   )r    r!   ÚxÚyÚ	isin_slowrw   s       €€r%   Úassert_isin_equalÚ/TestSetOps.test_isin.<locals>.assert_isin_equalß   s    ø€ Ü�Q Ñ%ˆAÙ˜!“ˆAÜ˜qÕ$r(   é   ©r   r   r   )rD   é   é   )r   r   r   )é   é   é!   )rF   rB   )r   r@   )rF   r   r   r   r@   ry   rf   ©TFF)r   Ú	vectorizeÚboolr.   Úreshaper   Úint64Úfloat64)r   rw   r€   r‰   r    r!   r#   ÚdÚfr†   r/   ÚarÚempty_arrayrˆ   s    `           @r%   Ú	test_isinÚTestSetOps.test_isinØ   s{  ù€ ò	ô —L’L ´T°FÀaÀSÑIˆ	ö	%ô �IŠI�b‹M×!Ñ!¢)Ó,ˆÜ�HŠH’l¢Iª|Ð<Ó=ˆÙ˜!Ôð �VÐˆØˆÙ˜!Ôô �HŠH�Q‹KˆÙ˜!ÔÙ˜!ÔÙ˜!Ôñ 	˜!˜QÔÙ˜!˜QÔÙ˜!˜QÔð �7‹?ð ˆAÙ˜aÔ#Ù˜aÔ#Ù˜aÔ#ô œBŸH™H¤b§j¡jÓ1ˆEØ�w‹ 5¬B¯J©JÓ#6ÙàœŸ™¤2§:¡:Ð.Ó.Ü—X’Xšl°%Ñ8‘Øœ4˜&“Ü—X’XÒ2Ó3�äŸ(š( 2¨UÑ3ˆKá˜k¨2Ô.Ù˜bÔ.Ù˜kÖ7ò 2r(   c                 óF  • S GH$  n/ SQn/ SQU-  n[         R                  " / SQ5      n[        X4SUS9n[        Xe5        SUS'   [         R                  " / S	Q5      n[        X4SUS9n[        Xe5        S
u  US'   US'   [         R                  " / SQ5      n[        X4SUS9n[        Xe5        [         R                  " / SQ5      n/ SQU-  n/ SQn[        X4US9n[        Xe5        U/ SQU-  -   n/ SQn[        X4US9n[        Xe5        [         R                  " / SQ5      n[         R                  " / SQU-  5      n[         R                  " / SQ5      n[        X4US9n[        Xe5        [         R                  " / SQ5      n[         R                  " / SQU-  5      n[         R                  " / SQ5      n[        X4US9n[        Xe5        [         R                  " SS/5      n[         R                  " SS/U-  5      n[         R                  " SS/5      n[        X4US9n[        Xe5        GM'     [         R                  " S/5      n[         R                  " S/5      n[         R                  " S/5      n[        X4US9n[        Xe5        US;   a  [        [        / / US9/ 5        g g )N©r   rD   r   r   ©TFTTT)r   rw   rB   r   )FFTT)r   rB   r   )TFTF©r   r   r   r   r   r   r   r   r   r   r   r   r   r   rŒ   )FTFTTTTTTFTFFFr…   )r   r   r   )TTTTTTTTTTTFTT)r   r   r   r   r   )r   r   r   r   r   r   )TFTTTr   r   F>   Nrx   ©r   r   r   r   )r   rw   Úmultr    r!   r"   r#   s          r%   Útest_isin_additionalÚTestSetOps.test_isin_additional  sA  € ô ˆDâˆAÚ $Ñ&ˆAÜ—’Ò3Ó4ˆBÜ�Q¨°DÑ9ˆAÜ˜qÔ%àˆAˆa‰DÜ—’Ò4Ó5ˆBÜ�Q¨°DÑ9ˆAÜ˜qÔ%à‰JˆAˆa‰D�!�A‘$Ü—’Ò4Ó5ˆBÜ�Q¨°DÑ9ˆAÜ˜qÔ%ä—’ÒCÓDˆAÚ˜DÑ ˆAò4ˆBä�Q Ñ%ˆAÜ˜qÔ%à’I Ñ$Ñ$ˆAò+ˆBä�Q Ñ%ˆAÜ˜qÔ%ä—’šÓ&ˆAÜ—’š¨4Ñ/Ó0ˆAÜ—’Ò3Ó4ˆBÜ�Q Ñ%ˆAÜ˜qÔ%ä—’šÓ)ˆAÜ—’Ò+¨dÑ2Ó3ˆAÜ—’Ò9Ó:ˆBÜ�Q Ñ%ˆAÜ˜qÔ%ä—’˜!˜Q˜Ó ˆAÜ—’˜!˜Q˜ $™Ó'ˆAÜ—’˜5 %˜.Ó)ˆBÜ�Q Ñ%ˆAÜ˜q×%ñ_ ôb �HŠH�a�S‹MˆÜ�HŠH�a�S‹MˆÜ�XŠX�u�gÓˆÜ�˜DÑ!ˆÜ˜1Ô!à�>Ó!Üœt B¨°Ñ6¸Õ;ð "r(   c                 óÀ   • [         R                  " / SQ5      n[         R                  " SS/5      n[         R                  " / SQ5      n[        X5      n[        XC5        g )N)r    r!   r#   r˜   Úer#   r§   r!   r    r#   )TFTFFTFFr¢   rW   s        r%   Útest_isin_char_arrayÚTestSetOps.test_isin_char_arrayP  sC   € Ü�HŠHÒ=Ó>ˆÜ�HŠH�c˜3�ZÓ ˆä�XŠXÒKÓLˆÜ�‹Jˆä˜1Õ!r(   c                 óÖ  • S HS  n[         R                  " / SQ5      n/ SQU-  n[        [         R                  " [	        X4US95      [	        X4SUS95        MU     US;   aŠ  S Hƒ  n[         R                  " / SQ[         R
                  S9n/ SQU-  n[         R                  " U[         R
                  S9n[        [         R                  " [	        X4US95      [	        X4SUS95        M…     g	g	)
zTest isin's invert parameterrŸ   r¡   rŒ   r…   T©Úinvertrw   >   Nrx   rf   N)r   r   r   r¬   r   Úfloat32)r   rw   r£   r    r!   s        r%   Útest_isin_invertÚTestSetOps.test_isin_invertY  sÄ   € ó
 ˆDÜ—’ÒCÓDˆAÚ˜DÑ ˆAÜœrŸyšy¬¨a¸Ñ)>Ó?Ü# A°¸DÑAöCñ ð �>Ó!Û�Ü—H’HÒGÜ"$§*¡*ñ.�â Ñ$�Ü—H’H˜Q¤b§j¡jÑ1�Ü"¤2§9¢9¬T°!¸TÑ-BÓ#CÜ#'¨°TÀÑ#EöGò  ð "r(   c           	      ó6  • [         R                  " / SQ[         R                  S9n[         R                  " / SQ[         R                  S9n[         R                  " / SQ[        S9n[	        U[        X5      5        [	        [         R                  " U5      [        XSS95        [         R                  " / SQ[         R                  S9n[         R                  " / SQ[         R                  S9n[         R                  " / S	Q5      n[        XSS
9n[	        XT5        g)z(Hit the standard isin code with integers)r   r   r   r   r   r   ç    eÍÍArf   )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!   rn   r"   r#   s         r%   Ú!test_isin_hit_alternate_algorithmÚ,TestSetOps.test_isin_hit_alternate_algorithmn  s²   € ô �HŠHÒ,´B·H±HÑ=ˆÜ�HŠH’^¬2¯8©8Ñ4ˆÜ—8’8Ò1¼Ñ>ˆÜ˜8¤T¨!£ZÔ0Üœ2Ÿ9š9 XÓ.´°QÀ$Ñ0GÔHä�HŠH’\¬¯©Ñ2ˆÜ�HŠHÒ)´·±Ñ:ˆÜ�XŠXÒ/Ó0ˆÜ� TÑ*ˆÜ˜1Õ!r(   c           
      ó  • [         R                  " SS/5      n[         R                  " / SQ5      n[         R                  " SS/5      n[        U[        X#US95        [        [         R                  " U5      [        X#SUS95        g)z&Test that isin works for boolean inputTF)FFFr…   r«   N)r   r   r   r   r¬   )r   rw   r    r!   rn   s        r%   Útest_isin_booleanÚTestSetOps.test_isin_boolean~  sj   € ô �HŠH�d˜E�]Ó#ˆÜ�HŠHÒ*Ó+ˆÜ—8’8˜U D˜MÓ*ˆÜ˜8Ü ¨4Ñ0ô	2äœ2Ÿ9š9 XÓ.Ü ¨T¸Ñ=õ	?r(   rx   c           	      ó  • [         R                  R                  S5      nUR                  SSSS9nUR                  SSSS9n[	        X45      nUR                  S5      nUR                  S5      n[        U[	        XgUS95        g)z(Test that isin works for timedelta inputr   éd   rD   )Úsizeútimedelta64[s]r…   N)r   ÚrandomÚRandomStateÚrandintr   Úastyper   )r   rw   Úrstater    r!   ÚtruthÚa_timedeltaÚb_timedeltas           r%   Útest_isin_timedeltaÚTestSetOps.test_isin_timedelta‰  sx   € ô —‘×&Ñ& qÓ)ˆØ�N‰N˜1˜c¨ˆNÐ+ˆØ�N‰N˜1˜c¨ˆNÐ+ˆÜ�Q“
ˆØ—h‘hÐ/Ó0ˆØ—h‘hÐ/Ó0ˆÜ˜5¤$ {ÀdÑ"KÕLr(   c                 ó²   • [         R                  " / SQSS9nUn[        R                  " [        5         [        XSS9  S S S 5        g ! , (       d  f       g = f)N©r   r   r   r»   rf   ry   r…   )r   r   ÚpytestÚraisesÚ
ValueErrorr   ©r   r    r!   s      r%   Útest_isin_table_timedelta_failsÚ*TestSetOps.test_isin_table_timedelta_fails”  s:   € Ü�HŠH’YÐ&6Ñ7ˆØˆä�]Š]œ:Õ&Ü�˜GÒ$÷ '×&Ö&ús   ´AÁ
Azdtype1,dtype2c                 ó<  • [         R                  " U[         R                  5      n[         R                  " / SQUS9nU(       a  [         R                  " / SQUS9nO[         R                  " / SQUS9n[         R                  " / SQ5      nUS:H  =(       a-    U[         R                  :H  =(       a    U[         R
                  :H  nU(       a-  [        R                  " [        SS9   [        XVUS	9  S
S
S
5        g
[        [        XVUS	9U5        g
! , (       d  f       g
= f)z7Test that isin works as expected for mixed dtype input.)r   r   r   r   rf   )i€ÿÿÿr   é   )rÏ   r   éÿ   )TTFFry   zexceed the maximum)Úmatchr…   N)r   Ú
issubdtypeÚsignedintegerr   Úint16Úint8rÈ   rÉ   ÚRuntimeErrorr   r   )	r   Údtype1Údtype2rw   Úis_dtype2_signedÚar1Úar2rn   Úexpect_failures	            r%   Útest_isin_mixed_dtypeÚ TestSetOps.test_isin_mixed_dtype›  sÌ   € ô Ÿ=š=¨´×1AÑ1AÓBÐÜ�hŠh’|¨6Ñ2ˆæÜ—(’(š>°Ñ8‰Cä—(’(š=°Ñ7ˆCä—8’8Ò6Ó7ˆà ™÷ 6Ø”b—h‘hÑ×4 6¬R¯W©WÑ#4ð 	ö Ü—’œ|Ð3GÓHÜ�S DÒ)÷ IÐHô œt C°4Ñ8¸(ÕC÷ IÕHús   Ã$DÄ
DÚdatal            l           lûÿÿÿ         lûÿÿÿ        c                 óØ   • US   n[         R                  " X#US9n[        USS/5        UR                  [         R                  5      n[         R                  " X#US9n[        USS/5        g)z>Test values outside intp range (negative ones if 32bit system)r   r…   FTN)r   r   r   r¿   Úint32)r   rw   rß   Úqueryr;   s        r%   Útest_isin_mixed_huge_valsÚ$TestSetOps.test_isin_mixed_huge_vals½  s]   € ð �Q‘ˆÜ�gŠg�d¨Ñ-ˆÜ˜3 ¨ Ô.ð �{‰{œ2Ÿ8™8Ó$ˆÜ�gŠg�d¨Ñ-ˆÜ˜3 ¨ Õ/r(   c           	      ó\  • [         R                  S    H•  n[         R                  " / SQ[        S9n[         R                  " / SQUS9n[         R                  " / SQ[        S9n[	        [        X4US9U5        XCpC[         R                  " / SQ[        S9n[	        [        X4US9U5        M—     g)	z4Test that isin works as expected for bool/int input.Ú
AllIntegerr’   rf   ©r   r   r   r   )FTTr…   )TTTTN)r   Ú	typecodesr   r”   r   r   )r   rw   r/   r    r!   rn   s         r%   Útest_isin_mixed_booleanÚ"TestSetOps.test_isin_mixed_booleanÍ  s�   € ô —\‘\ ,Ô/ˆEÜ—’Ò-´TÑ:ˆAÜ—’š¨UÑ3ˆAÜ—x’xÒ 3¼4Ñ@ˆHÜœt A¨tÑ4°hÔ?àˆqÜ—x’xÒ 8ÄÑEˆHÜœt A¨tÑ4°hÖ?ò 0r(   c                 ó®   • S /n[         R                  " S/S-  5      n[         R                  " S/5      n[         R                  " X5      n[        XC5        g ©Nr   rD   Fr¢   ©r   rÚ   rÛ   rn   Úresults        r%   Útest_isin_first_array_is_objectÚ*TestSetOps.test_isin_first_array_is_objectÚ  sC   € ØˆfˆÜ�hŠh˜�s˜R‘xÓ ˆÜ—8’8˜U˜GÓ$ˆÜ—’˜Ó"ˆÜ˜6Õ,r(   c                 ó¬   • Sn[         R                  " S /S-  5      n[         R                  " S/5      n[         R                  " X5      n[        XC5        g rì   r¢   rí   s        r%   Ú test_isin_second_array_is_objectÚ+TestSetOps.test_isin_second_array_is_objectá  sA   € ØˆÜ�hŠh˜�v ‘{Ó#ˆÜ—8’8˜U˜GÓ$ˆÜ—’˜Ó"ˆÜ˜6Õ,r(   c                 ó®   • S /n[         R                  " S /S-  5      n[         R                  " S/5      n[         R                  " X5      n[        XC5        g )NrD   Tr¢   rí   s        r%   Ú test_isin_both_arrays_are_objectÚ+TestSetOps.test_isin_both_arrays_are_objectè  sC   € ØˆfˆÜ�hŠh˜�v ‘{Ó#ˆÜ—8’8˜T˜FÓ#ˆÜ—’˜Ó"ˆÜ˜6Õ,r(   c                 ó  • [         R                  " S[        4S[        4/5      n[         R                  " S/US9n[         R                  " S/S-  US9n[         R                  " S/5      n[         R
                  " X#5      n[        XT5        g )NÚfield1Úfield2)r   Nrf   rD   T)r   r/   ÚintÚobjectr   r   r   )r   ÚdtrÚ   rÛ   rn   rî   s         r%   Ú+test_isin_both_arrays_have_structured_dtypeÚ6TestSetOps.test_isin_both_arrays_have_structured_dtypeï  so   € ô �XŠX˜¤#�¨´6Ð(:Ð;Ó<ˆÜ�hŠh˜	�{¨"Ñ-ˆÜ�hŠh˜	�{ RÑ'¨rÑ2ˆÜ—8’8˜T˜FÓ#ˆÜ—’˜Ó"ˆÜ˜6Õ,r(   c                 óú  • [         R                  " SS/[        S9n[         R                  " SS/[        S9n[         R                  " SS/5      n[         R                  " X5      n[	        XC5        [         R                  " XSS9n[	        U[         R
                  " U5      5        [         R                  " / SQ[        S9nUS S n[         R                  " / SQ[        S9nUS S n[         R                  " SS/5      n[         R                  " X5      n[	        XC5        [         R                  " XSS9n[	        U[         R
                  " U5      5        [         R                  " / SQ[        S9nUS S n[         R                  " SS/[        S9n[         R                  " SS	/5      n[         R                  " X5      n[	        XC5        [         R                  " XSS9n[	        U[         R
                  " U5      5        g )
N©r   r   rf   Tr²   )r   )r   r   r   r`   )r   ©r   r   r   F)r   r   rû   r   r   r¬   rí   s        r%   Ú'test_isin_with_arrays_containing_tuplesÚ2TestSetOps.test_isin_with_arrays_containing_tuplesù  su  € Ü�hŠh˜˜a�y¬Ñ/ˆÜ�hŠh˜˜a�y¬Ñ/ˆÜ—8’8˜T 4˜LÓ)ˆÜ—’˜Ó"ˆÜ˜6Ô,Ü—’˜¨$Ñ/ˆÜ˜6¤2§9¢9¨XÓ#6Ô7ô �hŠhÒ(´Ñ7ˆØ�#�2ˆhˆÜ�hŠhÒ(´Ñ7ˆØ�#�2ˆhˆÜ—8’8˜T 4˜LÓ)ˆÜ—’˜Ó"ˆÜ˜6Ô,Ü—’˜¨$Ñ/ˆÜ˜6¤2§9¢9¨XÓ#6Ô7ä�hŠhÒ(´Ñ7ˆØ�#�2ˆhˆÜ�hŠh˜˜a�y¬Ñ/ˆÜ—8’8˜T 5˜MÓ*ˆÜ—’˜Ó"ˆÜ˜6Ô,Ü—’˜¨$Ñ/ˆÜ˜6¤2§9¢9¨XÓ#6Õ7r(   c           	      óÒ  • [         R                  " / SQ5      n[         R                  " / SQ5      n[        [        [        XSS9  [         R                  " / SQ[
        S9n[         R                  " / SQ[
        S9n[        [        [        X4SS9  [         R                  [         R                  4 Hµ  n[         R                  " / SQUS9n[         R                  " S	[         R                  " U5      R                  /US9n[        [        [        XSS9  [         R                  " XS
S9n[        US/S/S-  -   5        [         R                  " XSS9n[        US/S/S-  -   5        M·     g
)z&Test that isin raises expected errors.)r   r   r   r   r   )r   r   r@   rB   rD   Ú	quicksortr…   )r   r    r   r!   r   rf   ry   )r`   r   r   r   r   r`   NTFr   rx   )r   r   r   rÊ   r   rû   rá   r–   ÚiinfoÚmaxrÖ   r   )r   rÚ   rÛ   Úobj_ar1Úobj_ar2r/   Úoverflow_ar2rî   s           r%   Útest_isin_errorsÚTestSetOps.test_isin_errors  s  € ô �hŠh’Ó'ˆÜ�hŠhÒ'Ó(ˆÜ”j¤$¨°{ÒCô —(’(Ò.´fÑ=ˆÜ—(’(Ò.´fÑ=ˆÜ”j¤$¨¸wÒGä—h‘h¤§¡Ó)ˆEÜ—(’(Ò+°5Ñ9ˆCäŸ8š8 R¬¯ª°%«×)<Ñ)<Ð$=ÀUÑKˆLô
 ÜÜ�c¨gòô —W’W˜S°TÑ:ˆFÜ˜v¨ v°°¸!±Ñ';Ô<Ü—W’W˜S°VÑ<ˆFÜ˜v¨ v°°¸!±Ñ';Ö<ò' *r(   c                 ó°  • [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[        X5      n[        XC5        [         R                  " / SQ/ SQ/5      n[         R                  " / SQ5      n[         R                  " / SQ5      n[        XV5      n[        X‡5        [        / [        / / 5      5        g )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#   r†   r‡   ÚezÚzs	            r%   Útest_union1dÚTestSetOps.test_union1d<  s’   € Ü�HŠH’_Ó%ˆÜ�HŠHÒ*Ó+ˆä�XŠXÒ(Ó)ˆÜ�A‹MˆÜ˜1Ô!ô �HŠH’i¢Ð+Ó,ˆÜ�HŠH’_Ó%ˆÜ�XŠXÒ(Ó)ˆÜ�A‹MˆÜ˜1Ô!ä˜2œw r¨2›Õ/r(   c                 óF  • [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " SS/5      n[        X5      n[        XC5        [         R                  " S5      n[         R                  " S5      n[         R                  " SS/5      n[        X5      n[        XC5        [        / [        / / 5      5        [         R                  " S[         R
                  5      n[        [        U/ 5      R                  [         R
                  5        g )	N)r@   r   r   r   r   r   r   r   r  r@   r   é   é   r�   r3   )r   r   r   r   r.   Úuint32r   r/   rW   s        r%   Útest_setdiff1dÚTestSetOps.test_setdiff1dN  sÀ   € Ü�HŠHÒ-Ó.ˆÜ�HŠHÒ*Ó+ˆä�XŠX�q˜!�fÓˆÜ�a‹OˆÜ˜1Ô!ä�IŠI�b‹MˆÜ�IŠI�b‹MˆÜ�XŠX�r˜2�hÓˆÜ�a‹OˆÜ˜1Ô!ä˜2œy¨¨RÓ0Ô1Ü�HŠH�RœŸ™Ó#ˆÜ”Y˜q "Ó%×+Ñ+¬R¯Y©YÕ7r(   c                 ó¾   • [         R                  " / SQ5      n[         R                  " / SQ5      n[         R                  " SS/5      n[        XSS9n[        XC5        g )N)r   r   r   )r   r   r   r   r   Tr   )r   r   r   r   )r   r    r!   rn   rt   s        r%   Útest_setdiff1d_uniqueÚ TestSetOps.test_setdiff1d_unique`  sD   € Ü�HŠH’YÓˆÜ�HŠH’YÓˆÜ—8’8˜Q ˜FÓ#ˆÜ˜1¨tÑ4ˆÜ�VÕ&r(   c                 ó¸   • [         R                  " / SQ5      n[         R                  " / SQ5      n[        [        X5      [         R                  " S/5      5        g )N)r    r!   r#   )r    r!   Úsr#   )r   r   r   r   rË   s      r%   Útest_setdiff1d_char_arrayÚ$TestSetOps.test_setdiff1d_char_arrayg  s6   € Ü�HŠH’_Ó%ˆÜ�HŠH’_Ó%ˆÜœ9 Q›?¬B¯HªH°c°U«OÕ<r(   c                 óÒ   • [         R                  " / SQ5      n[         R                  " / SQ5      n[        X5      n[        X5      n[	        X5      n[        XT5      n[        X65        g )N)r   r   r   r   rB   )rF   rB   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r    r!   Úc1Úaux1Úaux2Úc2s          r%   Útest_manywaysÚTestSetOps.test_manywaysl  sM   € Ü�HŠH’_Ó%ˆÜ�HŠHÒ*Ó+ˆä�a‹^ˆÜ˜1Ó ˆÜ�q‹}ˆÜ�tÓ"ˆÜ˜2Õ"r(   r3   )2r4   r5   r6   r7   r&   r<   rP   rX   r[   rd   rÈ   ÚmarkÚparametrizer   r   r–   Únanr­   rÕ   rp   rÔ   r—   rá   ru   rœ   r¤   r¨   r®   r³   r¶   rÄ   rÌ   Úuint8Úuint16Úuint64rÝ   rã   ré   rï   rò   rõ   rý   r  r  r  r  r  r  r%  r8   r3   r(   r%   r   r      s1  † ò4ò$
+ò%'òN1ò0"òJð& ‡[�[×ÑÐ=ð 
�Š’) 2§8¡8Ñ	,Ø	Ø	�‰Ø	ð	ð 
�Š’) 2§8¡8Ñ	,Ø	�Š’) 2§:¡:Ñ	.Ø	Ø	ð	ð 
�Š’, b§g¡gÑ	.Ø	�‰Ø	�‰Ø	ð	ð%@ó ñ.
&ó/ð.
&ð ‡[�[×ÑØ%à
�(Š(’9 B§H¡HÑ
-Ø
Ø
Ø
�(Š(’< r§x¡xÑ
0ð
2ð �(Š(’9 B§J¡JÑ
/Ø
�(Š(�A�3˜bŸj™jÑ
)Ø
Ø
�(Š(’9 B§J¡JÑ
/ð
1ð �(Š(’9 B§H¡HÑ
-Ø
Ø
Ø
�(Š(’< r§x¡xÑ
0ð
2ð �(Š(’9 B§H¡HÑ
-Ø
Ø
Ø
�(Š(’=¨¯©Ñ
1ð
3ð	
óñ*.ó+ð*.ð ‡[�[×Ñ˜VÒ%<Ó=ñ78ó >ð78ðr ‡[�[×Ñ˜VÒ%<Ó=ñ;<ó >ð;<òz"ð ‡[�[×Ñ˜VÒ%<Ó=ñGó >ðGò("ð  ‡[�[×Ñ˜VÒ%<Ó=ñ?ó >ð?ð ‡[�[×Ñ˜V d¨F ^Ó4ñMó 5ðMò%ð ‡[�[×ÑØà�W‰W�b—h‘hÐØ�X‰X�r—w‘wÐØ�X‰X�r—y‘yÐ!Ø�Y‰Y˜Ÿ™Ð!Ø�X‰X�r—x‘xÐ Ø�X‰X�r—x‘xÐ Ø�Y‰Y˜Ÿ™Ð!ð	
óð ‡[�[×Ñ˜VÒ%<Ó=ñDó >óðDð* ‡[�[×Ñ˜VØ
�Š�%˜Ð#¨2¯9©9Ñ5Ø
�Š�&˜*Ð%¨R¯X©XÑ6ð&ó ð ‡[�[×Ñ˜VÒ%<Ó=ñ	0ó >ó	ð
	0ð ‡[�[×Ñ˜VÒ%<Ó=ñ
@ó >ð
@ò-ò-ò-ò-ò8òB =òD0ò$8ò$'ò=õ
#r(   r   c                   óL  • \ rS rSrS rS rS rS rS r\	R                  R                  S/ SQ5      S	 5       rS
 rS rS r\	R                  R                  SSS/5      S 5       r\	R                  R                  S/ SQ5      S 5       rS rS rS rS rS rS rS r\	R                  R                  S/ SQ/ SQ// SQS/5      \	R                  R                  SSS /5      \	R                  R                  S!\R4                  \R6                  /5      S" 5       5       5       rS#rg$)%Ú
TestUniqueiw  c                 ó¦  • SnUR                  SU5      n[        U5      n	[        X’U5        [        U	5      [        U5      :X  d   eUR                  SU5      n[        USSS5      u  pš[        X’U5        [        X£U5        [        U	5      [        U5      :X  d   eUR                  SU5      n[        USSS5      u  pš[        X’U5        [        X¤U5        [        U	5      [        U5      :X  d   eUR                  SU5      n[        USSS5      u  pš[        X’U5        [        X¥U5        [        U	5      [        U5      :X  d   eUR                  SU5      n[        USSS5      u  p›n[        X’U5        [        X³U5        [        XÄU5        [        U	5      [        U5      :X  d   eUR                  S	U5      n[        USSS5      u  p›n[        X’U5        [        X³U5        [        XÅU5        [        U	5      [        U5      :X  d   eUR                  S
U5      n[        USSS5      u  p›n[        X’U5        [        X´U5        [        XÅU5        [        U	5      [        U5      :X  d   eUR                  SU5      n[        USSS5      u  p›pÍ[        X’U5        [        X³U5        [        XÄU5        [        XÕU5        [        U	5      [        U5      :X  d   eg )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!   rI   rJ   r#   rü   Úbase_msgro   ÚvÚjÚj1Új2Új3s                 r%   Ú	check_allÚTestUnique.check_ally  s˜  € Ø2ˆà�o‰o˜h¨Ó+ˆÜ�1‹IˆÜ˜1 Ô%Ü�A‹wœ$˜q›'Ó!Ð!Ð!à�o‰o˜n¨bÓ1ˆÜ�a˜˜u eÓ,‰ˆÜ˜1 Ô%Ü˜1 #Ô&Ü�A‹wœ$˜q›'Ó!Ð!Ð!à�o‰oÐ.°Ó3ˆÜ�a˜  eÓ,‰ˆÜ˜1 Ô%Ü˜1 #Ô&Ü�A‹wœ$˜q›'Ó!Ð!Ð!à�o‰o˜o¨rÓ2ˆÜ�a˜  tÓ,‰ˆÜ˜1 Ô%Ü˜1 Ô%Ü�A‹wœ$˜q›'Ó!Ð!Ð!à�o‰oÐ?ÀÓDˆÜ˜1˜d D¨%Ó0‰	ˆˆrÜ˜1 Ô%Ü˜2 3Ô'Ü˜2 3Ô'Ü�A‹wœ$˜q›'Ó!Ð!Ð!à�o‰oÐ>ÀÓCˆÜ˜1˜d E¨4Ó0‰	ˆˆrÜ˜1 Ô%Ü˜2 3Ô'Ü˜2 #Ô&Ü�A‹wœ$˜q›'Ó!Ð!Ð!à�o‰oÐ@À"ÓEˆÜ˜1˜e T¨4Ó0‰	ˆˆrÜ˜1 Ô%Ü˜2 3Ô'Ü˜2 #Ô&Ü�A‹wœ$˜q›'Ó!Ð!Ð!à�o‰oð  4Ø68ó:ˆä˜q $¨¨dÓ3‰ˆˆrÜ˜1 Ô%Ü˜2 3Ô'Ü˜2 3Ô'Ü˜2 #Ô&Ü�A‹wœ$˜q›'Ó!Ð!Ñ!r(   c                 óÖ   • / nUR                  [        R                  S   5        UR                  [        R                  S   5        UR                  S5        UR                  S5        U$ )Nræ   ÚAllFloatúdatetime64[D]útimedelta64[D])Úextendr   rè   rm   )r   Útypess     r%   Ú	get_typesÚTestUnique.get_types±  sO   € ØˆØ�‰”R—\‘\ ,Ñ/Ô0Ø�‰”R—\‘\ *Ñ-Ô.Ø�‰�_Ô%Ø�‰Ð%Ô&Øˆr(   c           	      óÈ  • / SQS-  n/ SQn/ SQn/ SQS-  n[         R                  " / SQS5      nU R                  5       nU HB  n[         R                  " X5      n[         R                  " X'5      n	U R	                  X‰X4XW5        MD     Sn[         R
                  " [        U5      U5      nXS S & [         R
                  " [        U5      U5      n	X)S S & U R	                  X‰X4XW5        SS/n[         R                  " [        [        X5      5      U5      n[         R                  " [        [        X"5      5      U5      n	U R	                  X‰X4XW5        / S	Qn[        [         R                  " U5      S
S/5        / SQn/ SQn
SS/SS/SS//n[        U5      n[        XÊ5        [        USS9u  pÞ[        XÚ5        [        Xë5        [         R                  R                  S5      nSUS'   [         R                  " USS9u  pÞ[        U[         R                  " S5      5        / n[         R                  " USS9S   n[         R                  " USS9S   n[         R                  " USSS9SS  u  nn[        UR                  [         R                   5        [        UR                  [         R                   5        [        UR                  [         R                   5        [        UR                  [         R                   5        S[         R"                  S[         R"                  /nSS[         R"                  /n/ SQn/ SQn/ SQn[        [         R                  " U5      U5        [        [         R                  " USS9UU45        [        [         R                  " USS9UU45        [        [         R                  " USS9UU45        S[         R"                  S[%        S [         R"                  5      [%        S[         R"                  5      /nSS[%        S [         R"                  5      /n/ S!Qn/ S"Qn/ S#Qn[        [         R                  " U5      U5        [        [         R                  " USS9UU45        [        [         R                  " USS9UU45        [        [         R                  " USS9UU45        [         R&                  " S$5      n[         R&                  " S%5      U[         R&                  " S&5      U/n[         R&                  " S&5      [         R&                  " S%5      U/n/ SQn/ SQn/ SQn[        [         R                  " U5      U5        [        [         R                  " USS9UU45        [        [         R                  " USS9UU45        [        [         R                  " USS9UU45        [         R(                  " S$5      n[         R(                  " SS'5      U[         R(                  " SS(5      U/n[         R(                  " SS(5      [         R(                  " SS'5      U/n/ SQn/ SQn/ SQn[        [         R                  " U5      U5        [        [         R                  " USS9UU45        [        [         R                  " USS9UU45        [        [         R                  " USS9UU45        [         R"                  /S)-  n[         R"                  /nS/n/ S*QnS)/n[        [         R                  " U5      U5        [        [         R                  " USS9UU45        [        [         R                  " USS9UU45        [        [         R                  " USS9UU45        g )+N©r   r   r   r   r   r   r   rD   ©r   r   r   r   ©r   r   r   r   ©r   r   r   r   r   r   r   ©r   r   r   r   ÚO)Ú Úi)ù      ð?        ù      ð?      ð¿r   rP  rO  )©r   r   rQ  r  r:   r   r   r   T©r2  r   rM  .)r1  )r1  r2  g       @rg   )r   r   r   )r   r   r   r   )r   r   r   )r3  y       @      ð¿y      ð?      ð?ç        )r   r   r   )r   r   r   r   r   )r   r   r   Únatz
2020-12-26z
2020-12-24ÚDÚhr   rç   )r   ÚmultiplyrD  r   r<  ÚemptyÚlenÚlistÚzipr   r	   ÚcharÚ	chararrayÚzerosr   r/   Úintpr)  ÚcomplexÚ
datetime64Útimedelta64)r   r    r!   rI   rJ   r#   rC  rü   ÚaaÚbbÚunqÚinvÚa1Úa2Úa2_invÚa1_idxÚa3_idxÚa3_invÚuaÚua_idxÚua_invÚua_cntrT  Úall_nanss                           r%   Útest_unique_1dÚTestUnique.test_unique_1d¹  s§  € â! BÑ&ˆÚˆÚˆÚ" RÑ'ˆÜ�KŠKš bÓ)ˆð —‘Ó ˆÛˆBÜ—’˜!“ˆBÜ—’˜!“ˆBØ�N‰N˜2 2¨1Ö1ñ ð ˆÜ�XŠX”c˜!“f˜bÓ!ˆØ‰1ˆÜ�XŠX”c˜!“f˜bÓ!ˆØ‰1ˆØ�‰�r˜r qÔ-ð ˜Ð#ˆÜ�XŠX”dœ3˜q›9“o rÓ*ˆÜ�XŠX”dœ3˜q›9“o rÓ*ˆØ�‰�r˜r qÔ-ò $ˆÜœ2Ÿ9š9 R›=¨8°XÐ*>Ô?ò %ˆÚˆØ�1ˆv˜˜1�v  1˜vÐ&ˆÜ�A‹YˆÜ˜2Ô#Ü˜A¨dÑ3‰
ˆÜ˜2Ô#Ü˜6Ô'ô �G‰G×Ñ˜aÓ ˆØˆˆ#‰Ü—Y’Y˜q°Ñ6‰
ˆÜ˜6¤2§8¢8¨A£;Ô/ð ˆÜ—’˜1¨4Ñ0°Ñ3ˆÜ—’˜1¨TÑ2°1Ñ5ˆÜŸš 1°4Ø26ñ8Ø89¸ð<‰ˆ�ä�V—\‘\¤2§7¡7Ô+Ü�V—\‘\¤2§7¡7Ô+Ü�V—\‘\¤2§7¡7Ô+Ü�V—\‘\¤2§7¡7Ô+ð ”"—&‘&˜#œrŸv™vÐ&ˆØ�3œŸ™ÐˆÚˆÚˆÚˆÜ”R—Y’Y˜q“\ 2Ô&Ü”R—Y’Y˜q¨tÑ4°r¸6°lÔCÜ”R—Y’Y˜q°Ñ6¸¸V¸ÔEÜ”R—Y’Y˜q°Ñ5¸¸F°|ÔDð ”r—v‘v˜x¬°´b·f±fÓ)=¼wÀsÌBÏFÉFÓ?SÐTˆØ˜¤'¨#¬r¯v©vÓ"6Ð7ˆÚˆÚ ˆÚˆÜ”R—Y’Y˜q“\ 2Ô&Ü”R—Y’Y˜q¨tÑ4°r¸6°lÔCÜ”R—Y’Y˜q°Ñ6¸¸V¸ÔEÜ”R—Y’Y˜q°Ñ5¸¸F°|ÔDô �mŠm˜EÓ"ˆÜ�]Š]˜<Ó(¨#¬r¯}ª}¸\Ó/JÈCÐPˆÜ�mŠm˜LÓ)¬2¯=ª=¸Ó+FÈÐLˆÚˆÚˆÚˆÜ”R—Y’Y˜q“\ 2Ô&Ü”R—Y’Y˜q¨tÑ4°r¸6°lÔCÜ”R—Y’Y˜q°Ñ6¸¸V¸ÔEÜ”R—Y’Y˜q°Ñ5¸¸F°|ÔDô �nŠn˜UÓ#ˆÜ�^Š^˜A˜sÓ# S¬"¯.ª.¸¸CÓ*@À#ÐFˆÜ�nŠn˜Q Ó$¤b§n¢n°Q¸Ó&<¸cÐBˆÚˆÚˆÚˆÜ”R—Y’Y˜q“\ 2Ô&Ü”R—Y’Y˜q¨tÑ4°r¸6°lÔCÜ”R—Y’Y˜q°Ñ6¸¸V¸ÔEÜ”R—Y’Y˜q°Ñ5¸¸F°|ÔDô —F‘F�8˜a‘<ˆÜ�f‰fˆXˆØ�ˆÚˆØ�ˆÜ”R—Y’Y˜xÓ(¨"Ô-Ü”R—Y’Y˜x°dÑ;¸bÀ&¸\ÔJÜ”R—Y’Y˜x¸Ñ=ÀÀF¸|ÔLÜ”R—Y’Y˜x°tÑ<¸rÀ6¸lÕKr(   c           	      ó’  • U R                  5        H³  n[        R                  " / U5      n[        R                  " / U5      n[        R                  " / [        R                  5      n[        R                  " / [        R                  5      n[        R                  " / [        R                  5      nU R	                  X#XEXa5        Mµ     g r|   )rD  r   r   r–   r<  )r   rü   r    r!   rI   rJ   r#   s          r%   Útest_unique_zero_sizedÚ!TestUnique.test_unique_zero_sized.  s   € à—.‘.Ö"ˆBÜ—’˜˜RÓ ˆAÜ—’˜˜RÓ ˆAÜ—’˜"œbŸh™hÓ'ˆBÜ—’˜"œbŸh™hÓ'ˆBÜ—’˜œRŸX™XÓ&ˆAØ�N‰N˜1 ¨Ö/ò #r(   c           	      ó|  •  " S S[         R                  5      n/ SQn/ SQS-  n[         R                  " / SQS5      nU R                  5       nU Hi  n[         R                  " / SQS-  US9n[         R                  " / S	QUS9nU" UR
                  XgS
9n	U" UR
                  XhS
9n
U R                  XšX#XF5        Mk     g )Nc                   ó   • \ rS rSrSrg)Ú1TestUnique.test_unique_subclass.<locals>.Subclassi9  r3   N)r4   r5   r6   r7   r8   r3   r(   r%   ÚSubclassry  9  s   † Úr(   rz  rI  rJ  rD   rK  rG  rf   rH  )r/   Úbuffer)r   ÚndarrayrW  rD  r   rH   r<  )r   rz  rI   rJ   r#   rC  rü   r    r!   rc  rd  s              r%   Útest_unique_subclassÚTestUnique.test_unique_subclass8  s¡   € ô	”r—z‘zô 	ò ˆÚ" RÑ'ˆÜ�KŠKš bÓ)ˆð —‘Ó ˆÛˆBÜ—’Ò.°Ñ3¸2Ñ>ˆAÜ—’š¨RÑ0ˆAÙ˜!Ÿ'™'¨Ñ6ˆBÙ˜!Ÿ'™'¨Ñ6ˆBØ�N‰N˜2 2¨1Ö1ò r(   Úarg)r1  r2  r3  c                 óæ   • [         R                  " / SQ5      n[         R                  " SS/4SS0US0D6n[         R                  " SS/4SS0US0D6n[        X45       H  u  pV[	        XV5        M     g)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   rB   éÇ   r   r   r   r   ÚsortedFTN)r   r   r	   r[  r   )r   r  r    Úres_not_sortedÚ
res_sortedÚarrrn   s          r%   Útest_unsupported_hash_basedÚ&TestUnique.test_unsupported_hash_basedI  sl   € ô �HŠHÒ5Ó6ˆäŸš A q 6ÑG°%ÐG¸CÀ¸;ÑGˆÜ—Y’Y  1˜vÑB¨dÐB°s¸D°kÑBˆ
ä  Ö<‰MˆCÜ˜sÖ-ò =r(   c                 ó4  • [        [        U R                  [        5        [        [        U R                  S[        4S[        4/5        [        [
        [        [        R                  " S5      SS9  [        [
        [        [        R                  " S5      SS9  g )Nr    r!   rD   r   ©Úaxiséþÿÿÿ)	r   rk   Ú_run_axis_testsrû   rú   r
   r	   r   r.   )r   s    r%   Útest_unique_axis_errorsÚ"TestUnique.test_unique_axis_errorsY  sd   € Ü”i ×!5Ñ!5´vÔ>Ü”i ×!5Ñ!5ØœS�z C¬ =Ð1ô	3ô 	”i¤¬¯ª°2«¸QÒ?Ü”i¤¬¯ª°2«¸RÓ@r(   c                 ó¸   • Sn/ SQ/ SQ/n[         R                  " U5      n[        [        USS9[        USS9U5        [        [        USS9[        USS9U5        g )NzUnique failed on list of lists©r   r   r   r   r‰  r   )r   r}   r   r	   )r   ro   ÚinpÚinp_arrs       r%   Útest_unique_axis_listÚ TestUnique.test_unique_axis_lista  sR   € Ø.ˆÚš)Ð$ˆÜ—*’*˜S“/ˆÜœ6 #¨AÑ.´°wÀQÑ0GÈÔMÜœ6 #¨AÑ.´°wÀQÑ0GÈÕMr(   c                 ó  • / nUR                  [        R                  S   5        UR                  [        R                  S   5        UR                  S5        UR                  S5        UR                  S[        4S[        4/5        UR                  S[        4S[
        4/5        U H  nU R                  U5        M     Sn[        R                  " S[        R                  S	9R                  S
S5      R                  [        5      n[        R                  " SS/SS//[        S	9n[        [        USS9XS5        Sn[        R                  " SS/SS/SS/SS//5      n[        R                  " SS//5      n[        [        USS9XS5        g )Nræ   r?  r@  rA  r    r!   z&Non-bitwise-equal booleans test failedrD   rf   r`   r   FTr   r‰  z"Negative zero equality test failedg       €rS  )rB  r   rè   rm   rú   ÚfloatrŒ  r.   r*  r•   Úviewr”   r   r   r	   )r   rC  r/   ro   rß   rî   s         r%   Útest_unique_axisÚTestUnique.test_unique_axish  sF  € ØˆØ�‰”R—\‘\ ,Ñ/Ô0Ø�‰”R—\‘\ *Ñ-Ô.Ø�‰�_Ô%Ø�‰Ð%Ô&Ø�‰�sœC�j 3¬ *Ð-Ô.Ø�‰�sœC�j 3¬ ,Ð/Ô0ãˆEØ× Ñ  Ö'ñ ð 7ˆÜ�yŠy˜¤2§8¡8Ñ,×4Ñ4°R¸Ó;×@Ñ@ÄÓFˆÜ—’˜E 4˜=¨4°¨,Ð7¼tÑDˆÜœ6 $¨QÑ/°Ô=à2ˆÜ�xŠx˜$ ˜ s¨D k°D¸#°;ÀÀdÀÐLÓMˆÜ—’˜D #˜;˜-Ó(ˆÜœ6 $¨QÑ/°Õ=r(   rŠ  r   r`   c                 ób   • [         R                  " / SQ5      n[        X!S9n[        U/ SQ5        g )N)r   r   r   r   r   r   r   r   r‰  r?   ©r   r   r	   r   )r   rŠ  r†   Úuniqs       r%   Útest_unique_1d_with_axisÚ#TestUnique.test_unique_1d_with_axis~  s%   € ä�HŠHÒ-Ó.ˆÜ�aÑ#ˆÜ˜4¢Õ.r(   )Nr   r`   c           	      óê   • [         R                  " / SQ/ SQ/ SQ/ SQ/5      n[        USUS9u  p4[        UR                  Uc  UR                  OS5        [        U[         R                  " X4US95        g )N)r   r   r   )r   r   r   T)r2  rŠ  r   r‰  )r   r   r	   r   Úndimr   Útake)r   rŠ  r†   rœ  rf  s        r%   Útest_unique_inverse_with_axisÚ(TestUnique.test_unique_inverse_with_axis„  sV   € ä�HŠH’i¢ªI²yÐAÓBˆÜ˜1¨T¸Ñ=‰	ˆÜ�S—X‘X¨©˜qŸvšv¸1Ô=Ü˜1œbŸgšg d°dÑ;Õ<r(   c                 óî  • [         R                  " S[         R                  S9n[        USSSSS9u  p#pE[	        UR
                  UR
                  5        [        U[         R                  " SS95        [        U[         R                  " S/5      5        [        U[         R                  " SS/5      5        [        U[         R                  " S/5      5        [        US	SSSS9u  p#pE[	        UR
                  UR
                  5        [        U[         R                  " SS95        [        U[         R                  " / 5      5        [        U[         R                  " / 5      5        [        U[         R                  " / 5      5        S
n[         R                  " US9n[        [        U5      5       HD  n[        U5      n	Xh   S:X  a  SX˜'   OS	X˜'   [        [        XxS9[         R                  " U	S95        MF     g )N)r   r   )rH   r/   r   T©rŠ  r1  r2  r3  )r   r   )rH   r   r   )r   r   r   r   r   r   r   r‰  )r   rX  rÕ   r	   r   r/   r   r   ÚrangerY  rZ  )
r   Úsingle_zerorœ  Úidxrf  ÚcntrH   Úmultiple_zerosrŠ  Úexpected_shapes
             r%   Útest_unique_axis_zerosÚ!TestUnique.test_unique_axis_zeros‹  s{  € ä—h’h V´2·7±7Ñ;ˆÜ$ [°qÀtØ48ÈñNÑˆ�3ô 	�T—Z‘Z ×!2Ñ!2Ô3Ü˜4¤§¢°Ñ!7Ô8Ü˜3¤§¢¨!¨£Ô.Ü˜3¤§¢¨!¨Q¨Ó 0Ô1Ü˜3¤§¢¨!¨£Ô.ô % [°qÀtØ48ÈñNÑˆ�3ô 	�T—Z‘Z ×!2Ñ!2Ô3Ü˜4¤§¢°Ñ!7Ô8Ü˜3¤§¢¨£Ô-Ü˜3¤§¢¨£Ô-Ü˜3¤§¢¨£Ô-ð &ˆÜŸš¨Ñ.ˆÜœ#˜e›*Ö%ˆDÜ! %›[ˆNØ‰{˜aÓØ'(�Ò$à'(�Ñ$äœv nÑ@Ü!Ÿxšx¨nÑ=ö?ò &r(   c                 óX  • [         R                  " / SQSS9n[         R                  R                  US5      n[         R                  " U5      n[         R                  " USSS9u  pEnSn[        UR                  UR                  U5        [        UR                  UR                  U5        g )N)é@   r   r   r   r   é?   r°  r   r   r   r   r   r   r°  r   r*  rf   r   T)r1  r3  z6Unique returned different results when asked for index)r   r   ÚmaÚmasked_equalr	   r   rß   Úmask)r   r†   r‡   r7  Úv2rN  r#   ro   s           r%   Útest_unique_maskedÚTestUnique.test_unique_masked¯  s|   € ä�HŠHÒFØ"ñ$ˆä�E‰E×Ñ˜q !Ó$ˆä�IŠI�a‹LˆÜ—9’9˜Q¨TÀÑF‰ˆˆqàFˆÜ˜1Ÿ6™6 2§7¡7¨CÔ0Ü˜1Ÿ6™6 2§7¡7¨CÕ0r(   c                 ó–   • SnS HA  n[         R                  " S/S//U5      n[         R                  " USS9n[        X4X-  5        MC     g )Nz*sort order incorrect for integer type '%s'Úbhilqr`   r   r‰  r›  )r   Úfmtrü   r    r!   s        r%   Ú test_unique_sort_order_with_axisÚ+TestUnique.test_unique_sort_order_with_axis¼  sG   € ð ;ˆÛˆBÜ—’˜2˜$  ˜ bÓ)ˆAÜ—	’	˜! !Ñ$ˆAÜ˜q S¡XÖ.ò r(   c                 ó\  • [         R                  " / SQ/ SQ/ SQ/ SQ/5      R                  U5      nSn[         R                  " SS/5      n[        [	        U5      UR                  U5      U5        Sn[         R                  " / SQ/ SQ/5      n[        [	        USS9UR                  U5      U5        Sn[         R                  " / S	Q/ S
Q/ S	Q/ S
Q/5      n[        [	        USS9UR                  U5      U5        Sn[         R                  " SS/SS//SS/SS///5      R                  U5      n[         R
                  " USS/SS9n[        [	        USS9XC5        [	        USSSSS9u  pgp‰Sn[        X'   Xc5        Sn[        [         R
                  " XhSS9U5        Sn[        U	[         R                  " SS/5      U5        [	        USSSSS9u  pgp‰Sn[        US S 2U4   U5        Sn[        [         R
                  " XhSS9U5        Sn[        U	[         R                  " / SQ5      U5        g )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ß   ro   rî   Údata3drœ  r¨  rf  r©  s
             r%   rŒ  ÚTestUnique._run_axis_testsÅ  s
  € Ü�xŠxšÚ%Ú%Ú%ð'ó (÷ )/©¨u«ð 	ð
 7ˆÜ—’˜1˜a˜&Ó!ˆÜœ6 $›<¨¯©°uÓ)=¸sÔCà6ˆÜ—’š<ªÐ6Ó7ˆÜœ6 $¨QÑ/°·±¸uÓ1EÀsÔKà6ˆÜ—’š9¢i²ºIÐFÓGˆÜœ6 $¨QÑ/°·±¸uÓ1EÀsÔKà6ˆÜ—’˜Q ˜FØ ˜Fð$à ˜FØ ˜Fð$ð%ó &÷ '-¡f¨U£mð 	ô —’˜ ! Q ¨aÑ0ˆÜœ6 &¨qÑ1°6Ô?ä$ T°ÀØ48ÈñNÑˆ�3à=ˆÜ˜4™9 dÔ0Ø?ˆÜœ2Ÿ7š7 4°1Ñ5°tÔ<Ø>ˆÜ˜3¤§¢¨!¨Q¨Ó 0°#Ô6ä$ T°ÀØ48ÈñNÑˆ�3à=ˆÜ˜4¢ 3 ™<¨Ô.Ø?ˆÜœ2Ÿ7š7 4°1Ñ5°tÔ<Ø>ˆÜ˜3¤§¢ªÓ 3°SÕ9r(   c           	      óà  • [         R                  " SS[         R                  [         R                  [         R                  /5      n[         R                  " U5      n[         R                  " USS9n[	        U[         R                  " S[         R                  /5      5        [	        U[         R                  " S[         R                  [         R                  [         R                  /5      5        g )Nr   F©Ú	equal_nan)r   r   r)  r	   r   )r   r    re  Únot_unqs       r%   Útest_unique_nanequalsÚ TestUnique.test_unique_nanequalsñ  s‡   € ä�HŠH�a˜œBŸF™F¤B§F¡F¬B¯F©FÐ3Ó4ˆÜ�iŠi˜‹lˆÜ—)’)˜A¨Ñ/ˆÜ˜3¤§¢¨!¬R¯V©V¨Ó 5Ô6Ü˜7¤B§H¢H¨a´·±¼¿¹ÄÇÁÐ-HÓ$IÕJr(   c                 ó\  • [         R                  " [         R                  SSSSS[         R                  SS/	5      n[         R                  " U5      [         R                  " USS94[         R
                  " U5      [         R                  " USSS94[         R                  " U5      [         R                  " USSS	94[         R                  " U5      [         R                  " USSSSS
944 H>  u  p#[        U5      [        U5      :X  d   e[        X#5       H  u  pE[        XE5        M     M@     g )Nr   r   r   r   FrÀ  T)r3  rÁ  )r2  rÁ  )r1  r2  r3  rÁ  )r   r   r)  Úunique_valuesr	   Úunique_countsÚunique_inverseÚ
unique_allrY  r[  r   )r   r…  Úres_unique_array_apiÚ
res_uniquert   rn   s         r%   Útest_unique_array_api_functionsÚ*TestUnique.test_unique_array_api_functionsù  s  € Ü�hŠhœŸ™  1 a¨¨A¬r¯v©v°q¸!Ð<Ó=ˆô × Ò  Ó%Ü—	’	˜#¨Ñ/ðô
 × Ò  Ó%Ü—	’	˜#¨T¸UÑCðô
 ×!Ò! #Ó&Ü—	’	˜#¨d¸eÑDðô
 —’˜cÓ"Ü—	’	ØØ!%Ø#'Ø"&Ø#ñð	ó1
Ñ,Ð ô0 Ð+Ó,´°J³Ó?Ð?Ð?Ü$'Ð(<Ö$IÑ �Ü" 6Ö4ó %Jò31
r(   c                 ó–  • [         R                  " / SQ/ SQ/5      n[         R                  " USS9u  p#UR                  UR                  5      n[         R
                  [         R                  4 HW  nU" U5      n[        X%R                  5        [        X5R                  5        [        XR                  UR                     5        MY     g )Nr:   )r   r   r   TrR  )
r   r   r	   r•   rH   rÈ  rÉ  r   r0  Úinverse_indices)r   r…  Úexpected_valuesÚexpected_inverseÚfuncrî   s         r%   Útest_unique_inverse_shapeÚ$TestUnique.test_unique_inverse_shape  s‘   € ä�hŠhš	¢9Ð-Ó.ˆÜ,.¯IªI°cÈ$Ñ,OÑ)ˆØ+×3Ñ3°C·I±IÓ>ÐÜ×%Ñ%¤r§}¡}Ó4ˆDÙ˜#“YˆFÜ˜·±Ô>ÜÐ/×1GÑ1GÔHÜ˜s§M¡M°&×2HÑ2HÑ$IÖJò	 5r(   rß   )r   r   r   )r   r   r   r   Ú	transposeFTr/   c                 ó  • [         R                  " U5      R                  U5      nU(       a  UR                  n[         R                  " U5      n[         R                  " [         R
                  " U5      5      n[        XVSS9  g )NT)Ústrict)r   Úmatrixr¿   ÚTr	   r}   r   )r   rß   rÕ  r/   ÚmatÚurn   s          r%   Útest_unique_with_matrixÚ"TestUnique.test_unique_with_matrix#  sU   € ô �iŠi˜‹o×$Ñ$ UÓ+ˆÞØ—%‘%ˆCÜ�IŠI�c‹NˆÜ—9’9œRŸZšZ¨›_Ó-ˆÜ˜1¨tÓ4r(   r3   N)r4   r5   r6   r7   r<  rD  rr  ru  r}  rÈ   r'  r(  r†  r�  r“  r˜  r�  r¢  r¬  rµ  rº  rŒ  rÃ  rÌ  rÓ  r   rá   r—   rÜ  r8   r3   r(   r%   r.  r.  w  sM  † ò6"òpòsLòj0ò2ð" ‡[�[×Ñ˜UÒ$WÓXñ.ó Yð.òAòNò>ð, ‡[�[×Ñ˜V a¨ WÓ-ñ/ó .ð/ð
 ‡[�[×Ñ˜V¢]Ó3ñ=ó 4ð=ò"?òH1ò/ò*:òXKò5ò>	Kð ‡[�[×ÑØÚ
Ú
ð
â	Ø	
ð	óð ‡[�[×Ñ˜[¨5°$¨-Ó8Ø‡[�[×Ñ˜W r§x¡x°·±Ð&<Ó=ñ5ó >ó 9óó5r(   r.  )Ú__doc__rÈ   Únumpyr   r   r   r   r   r   r   r	   Únumpy.exceptionsr
   Únumpy.testingr   r   r   r   r   r.  r3   r(   r%   Ú<module>râ     sA   ðñó ã ß R× RÑ RÝ &÷ó ÷c	#ñ c	#÷L{5ò {5r(   