Ë
    ›2ÚiHŒ  ã                   ó€   — d Z ddlZddlmZmZmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZ ddlZ G d„ d«      Z G d„ d«      Zy)	z-Test functions for 1D array set operations.

é    N)Úassert_array_equalÚassert_equalÚassert_raisesÚassert_raises_regex)Úediff1dÚintersect1dÚsetxor1dÚunion1dÚ	setdiff1dÚuniqueÚin1dÚisinc                   ó$  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  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                  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                  j                  dg d¢«      d„ «       Zej                  j                  dg d¢«      d„ «       Zd„ Zej                  j                  dg d¢«      d „ «       Zej                  j                  dg d¢«      d!„ «       Zd"„ Zej                  j                  dg d¢«      d#„ «       Zej                  j                  dd	d$g«      d%„ «       Zd&„ Zej                  j                  d'ej                   ej$                  fej$                  ej                   fej>                  ej@                  fej@                  ej>                  fej>                  ej$                  fej$                  ej>                  fg«      ej                  j                  dg d¢«      d(„ «       «       Z!ej                  j                  dg d¢«      d)„ «       Z"d*„ Z#d+„ Z$d,„ Z%d-„ Z&d.„ Z'd/„ Z(d0„ Z)d1„ Z*d2„ Z+d3„ Z,d4„ Z-y	)5Ú
TestSetOpsc                 ó¨  — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        ||d¬«      }t        ||«       t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        ||«      }t        ||«       t        g t        g g «      «       y )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         úW/var/www/html/acx/venv/lib/python3.12/site-packages/numpy/lib/tests/test_arraysetops.pyÚtest_intersect1dzTestSetOps.test_intersect1d   s˜   € ä�H‰H’\Ó"ˆÜ�H‰H’_Ó%ˆä�X‰X’iÓ ˆÜ˜˜1¨DÔ1ˆÜ˜1˜bÔ!ô �H‰H’_Ó%ˆÜ�H‰HÒ*Ó+ˆä�X‰X’iÓ ˆÜ˜˜1ÓˆÜ˜1˜bÔ!Ü˜2œ{¨2¨rÓ2Õ3ó    c                 ó’   —  G d„ d«      } |«       }t        ||«      }t        ||«       t        g d¢g d¢«      }t        |g d¢«       y )Nc                   ó   — e Zd Zd„ Zy)ú4TestSetOps.test_intersect1d_array_like.<locals>.Testc                 ó,   — t        j                  d«      S )Nr   )r   Úarange©r   s    r$   Ú	__array__z>TestSetOps.test_intersect1d_array_like.<locals>.Test.__array__%   s   € Ü—y‘y “|Ð#r&   N)Ú__name__Ú
__module__Ú__qualname__r-   © r&   r$   ÚTestr)   $   s   „ ó$r&   r2   ©r   r   r   )r   r   )r   r2   r   Úress       r$   Útest_intersect1d_array_likez&TestSetOps.test_intersect1d_array_like"   sA   € ÷	$ñ 	$ñ ‹FˆÜ˜!˜QÓˆÜ˜3 Ô"Üš)¢YÓ/ˆÜ˜3¢	Õ*r&   c                 ó   — 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        |
||	   «       y )N©r   r   r   r   )r   r   r   é   T)r   Úreturn_indices)r   r   r   )r   r   r   r   r   r   r   )r   é   r   r   r   r   r   r   )r9   )r   r   r   r8   )r   r:   r   é   )r   r   r   r8   )é
   é   r:   é	   )r   r8   r   r:   )r   r   r   r8   r8   )r   r   r:   r   r   )r   r   r   r   )r<   r=   r:   r   )r   r   r:   )r   r   r   r   Úunravel_indexÚshape)r   r   r    r"   Úi1Úi2ÚeeÚefÚui1Úui2Úeas              r$   Útest_intersect1d_indicesz#TestSetOps.test_intersect1d_indices.   sö  € ä�H‰H’\Ó"ˆÜ�H‰H’\Ó"ˆÜ  1°DÈÔN‰	ˆˆ2ˆrÜ�X‰X’iÓ ˆÜ˜1˜bÔ!Ü˜1˜R™5 "Ô%Ü˜1˜R™5 "Ô%ô �H‰HÒ*Ó+ˆÜ�H‰HÒ-Ó.ˆÜ  1°TÔ:‰	ˆˆ2ˆrÜ�X‰X’lÓ#ˆÜ˜1˜bÔ!Ü˜1˜R™5 "Ô%Ü˜1˜R™5 "Ô%ô �H‰H’l¢MÐ2Ó3ˆÜ�H‰H’l¢NÐ3Ó4ˆÜ  1°DÈÔN‰	ˆˆ2ˆrÜ×Ñ˜r 1§7¡7Ó+ˆÜ×Ñ˜r 1§7¡7Ó+ˆÜ�X‰X’lÓ#ˆÜ˜2˜q ™vÔ&Ü˜2˜q ™vÔ&ô �H‰H’o¢Ð7Ó8ˆÜ�H‰H’l¢NÐ3Ó4ˆÜ  1°TÔ:‰	ˆˆ2ˆrÜ×Ñ˜r 1§7¡7Ó+ˆÜ×Ñ˜r 1§7¡7Ó+ˆÜ�X‰X’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 «      «       y )	Nr   r   )r   r   r   r3   )r8   r   r   )r   r   r   r   r   r8   )r   r:   r   r   )r8   r   r   r:   )r   r   r	   r   ©r   r   r    r!   r"   s        r$   Útest_setxor1dzTestSetOps.test_setxor1dU   sÒ   € Ü�H‰H’\Ó"ˆÜ�H‰H’_Ó%ˆä�X‰X’iÓ ˆÜ�Q˜‹NˆÜ˜1˜bÔ!ä�H‰H’YÓˆÜ�H‰H’YÓˆä�X‰XÒ(Ó)ˆÜ�Q˜‹NˆÜ˜1˜bÔ!ä�H‰H’\Ó"ˆÜ�H‰H’\Ó"ˆä�X‰XÒ(Ó)ˆÜ�Q˜‹NˆÜ˜1˜bÔ!ä˜2œx¨¨BÓ/Õ0r&   c           	      óÜ  — t        j                  g «      }t        j                  dg«      }t        j                  ddg«      }t        g t        |«      «       t        dgt        |d¬«      «       t        dgt        |d¬«      «       t        ddgt        |dd¬«      «       t        g t        |«      «       t        dgt        |«      «       t        g d¢t        |d	d
¬«      «       t        g d¢t        |ddgd	dg¬«      «       t        dd
gt        |d
¬«      «       t        g d¢t        |d	dg¬«      «       t        d	dgt        |d	¬«      «       t        g d¢t        |ddg¬«      «       y )Nr   r   r   )Úto_begin)Úto_endéÿÿÿÿ)rM   rN   )r   r   r>   r   r>   )r   r8   r   r   r:   r   r8   r:   )r   r   r:   )r   r8   r   )r   r   r   r   )r   Ú	zero_elemÚone_elemÚtwo_elems       r$   Útest_ediff1dzTestSetOps.test_ediff1dm   s"  € Ü—H‘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, expectedr3   ©ÚdtypeNrN   )r   r   r   rM   )ç      ð?g      @g      "@c                 óŒ   — dj                  |«      }t        t        |«      5  t        |||¬«       d d d «       y # 1 sw Y   y xY w)Nz dtype of `{}` must be compatible©ÚaryrN   rM   )Úformatr   Ú	TypeErrorr   )r   rY   ÚprependÚappendÚexpectedÚmsgs         r$   Ú!test_ediff1d_forbidden_type_castsz,TestSetOps.test_ediff1d_forbidden_type_casts€   sC   € ð: 1×7Ñ7¸ÓAˆÜ ¤¨CÓ0ñ 	&Ü˜Ø!Ø$õ&÷	&÷ 	&ñ 	&ús	   ¢:ºAzary,prepend,append,expectedi   i  )r   r   r   r   r   )r   r   r   r   )r   r   r   r   r   é÷ÿÿÿ)r   r   r   ra   c                 ó‚   — t        j                  |||¬«      }t        ||«       |j                  |j                  k(  sJ ‚y )NrX   )r   r   r   rU   )r   rY   r\   r]   r^   Úactuals         r$   Útest_ediff1d_scalar_handlingz'TestSetOps.test_ediff1d_scalar_handling£   s<   € ô: —‘ Ø#)Ø%,ô.ˆô 	�V˜XÔ&Ø�|‰|˜xŸ~™~Ò-Ð-Ñ-r&   Úkind)NÚsortÚtablec                 óŠ  ‡‡— d„ }t        j                  |t        gdh¬«      Šˆˆfd„}t        j                  d«      j	                  g d¢«      }t        j
                  g d¢g d¢g d	¢g«      } |||«       d
dg}d} |||«       t        j
                  d«      } |||«        |||«        |||«        |d|«        ||d«        |dd«       ‰dk7  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 |
¬«      } ||«        |||«        |||«       Œ« y )Nc                 ól   — t        j                  |«      j                  «       j                  «       }| |v S )N)r   ÚasarrayÚflattenÚtolist)r   r    s     r$   Ú
_isin_slowz(TestSetOps.test_isin.<locals>._isin_slowË   s*   € Ü—
‘
˜1“×%Ñ%Ó'×.Ñ.Ó0ˆAØ˜�6ˆMr&   r   )ÚotypesÚexcludedc                 óL   •— t        | |‰¬«      } ‰| |«      }t        ||«       y )N©re   )r   r   )r   r    ÚxÚyÚ	isin_slowre   s       €€r$   Úassert_isin_equalz/TestSetOps.test_isin.<locals>.assert_isin_equalÐ   s&   ø€ Ü�Q˜ Ô%ˆAÙ˜!˜Q“ˆAÜ˜q !Õ$r&   é   ©r   r   r   )r<   é   é   )r   r   r   )é   é   é!   )r>   r:   )r   r8   )r>   r   r   r   r8   rg   rT   ©TFF)r   Ú	vectorizeÚboolr+   Úreshaper   Úint64Úfloat64)r   re   rm   ru   r   r    r"   ÚdÚfrr   rU   ÚarÚempty_arrayrt   s    `           @r$   Ú	test_isinzTestSetOps.test_isinÆ   s”  ù€ ò
	ô —L‘L ´T°FÀaÀSÔIˆ	õ	%ô �I‰I�b‹M×!Ñ!¢)Ó,ˆÜ�H‰H’l¢Iª|Ð<Ó=ˆÙ˜!˜QÔð �VÐˆØˆÙ˜!˜QÔô �H‰H�Q‹KˆÙ˜!˜QÔÙ˜!˜QÔÙ˜!˜QÔñ 	˜!˜QÔÙ˜!˜QÔÙ˜!˜QÔð �7Š?ð ˆAÙ˜a Ô#Ù˜a Ô#Ù˜a Ô#ô œBŸH™H¤b§j¡jÐ1ò 	8ˆ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ñ	8r&   c                 ó~  — dD �]>  }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        ||«       �ŒA t        j                  dg«      }t        j                  dg«      }t        j                  dg«      }t        |||¬«      }t        ||«       |dv rt        t        g g |¬«      g «       y y )N©r   r<   r   r   ©TFTTT©r   re   r:   r   )FFTT)r   r:   r   )TFTF©r   r   r   r   r   r   r   r   r   r   r   r   r   r   rw   )FTFTTTTTTFTFFFrq   )r   r   r   )TTTTTTTTTTTFTT)r   r   r   r   r   )r   r   r   r   r   r   )TFTTTr   r   F>   Nrf   ©r   r   r   r   )r   re   Úmultr   r    r!   r"   s          r$   Ú	test_in1dzTestSetOps.test_in1d  sj  € ð ó /	&ˆ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ÓˆÜ��A˜DÔ!ˆÜ˜1˜bÔ!à�>Ñ!Üœt B¨°Ô6¸Õ;ð "r&   c                 ó¾   — t        j                  g d¢«      }t        j                  ddg«      }t        j                  g d¢«      }t        ||«      }t        ||«       y )N)r   r    r"   rƒ   Úer"   r‘   r    r   r"   )TFTFFTFFr�   rJ   s        r$   Útest_in1d_char_arrayzTestSetOps.test_in1d_char_arrayA  sG   € Ü�H‰HÒ=Ó>ˆÜ�H‰H�c˜3�ZÓ ˆä�X‰XÒKÓLˆÜ��A‹Jˆä˜1˜bÕ!r&   c           
      óì  — dD ]X  }t        j                  g d¢«      }g d¢|z  }t        t        j                  t	        |||¬«      «      t	        ||d|¬«      «       ŒZ |dv r“dD ]�  }t        j                  g d¢t         j
                  ¬«      }g d¢|z  }t        j                  |t         j
                  ¬«      }t        t        j                  t	        |||¬«      «      t	        ||d|¬«      «       Œ� y	y	)
zTest in1d's invert parameterr‰   rŒ   rw   rq   T©Úinvertre   >   Nrf   rT   N)r   r   r   r•   r   Úfloat32)r   re   rŽ   r   r    s        r$   Útest_in1d_invertzTestSetOps.test_in1d_invertJ  sÚ   € ð
 ò 	CˆDÜ—‘ÒCÓDˆAÚ˜DÑ ˆAÜœrŸy™y¬¨a°¸Ô)>Ó?Ü# A q°¸DÔAõCð	Cð �>Ñ!Øò G�Ü—H‘HÒGÜ"$§*¡*ô.�â Ñ$�Ü—H‘H˜Q¤b§j¡jÔ1�Ü"¤2§9¡9¬T°!°Q¸TÔ-BÓ#CÜ#'¨¨1°TÀÔ#EõGñGð "r&   c                 óÜ  — t        j                  d«      j                  dd«      }t        j                  dd«      j                  dd«      }t        j                  dd«      j                  dd«      }t        j                  g d¢«      }t	        t        ||d|¬	«      |«       t	        t        ||d
|¬	«      |«       t	        t        ||d|¬	«      |«       t	        t        ||d
|¬	«      |«       y )Nr8   r   r   r>   é?   ry   )FFFTTTTr‹   F)r   r+   r€   r   r   r   )r   re   r   r    Úlong_br!   s         r$   Útest_in1d_ravelzTestSetOps.test_in1d_ravel_  sÓ   € ô �I‰I�a‹L× Ñ   AÓ&ˆÜ�I‰I�a˜‹O×#Ñ# A qÓ)ˆÜ—‘˜1˜bÓ!×)Ñ)¨"¨aÓ0ˆÜ�X‰XÒ=Ó>ˆäœ4  1°D¸tÔDØô	äœ4  1°EØ%)ô+àô	ô 	œ4  6¸Ø%)ô+àô	ô 	œ4  6¸Ø%)ô+àõ	r&   c                 óZ  — 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	        ||«       y)z(Hit the standard isin code with integers)r   r   r   r   r   r   ç    eÍÍArT   )r   r   r   r�   )r   r   r   r   r   r   r   T©r•   r   )r   r   r   r   r   r�   rŠ   r   N)r   r   r�   r   r   r   r•   )r   r   r    r^   r!   r"   s         r$   Ú!test_in1d_hit_alternate_algorithmz,TestSetOps.test_in1d_hit_alternate_algorithmt  sº   € ô �H‰HÒ,´B·H±HÔ=ˆÜ�H‰H’^¬2¯8©8Ô4ˆÜ—8‘8Ò1¼Ô>ˆÜ˜8¤T¨!¨Q£ZÔ0Üœ2Ÿ9™9 XÓ.´°Q¸À$Ô0GÔHä�H‰H’\¬¯©Ô2ˆÜ�H‰HÒ)´·±Ô:ˆÜ�X‰XÒ/Ó0ˆÜ��A TÔ*ˆÜ˜1˜bÕ!r&   c           	      ó  — t        j                  ddg«      }t        j                  g d¢«      }t        j                  ddg«      }t        |t        |||¬«      «       t        t        j                  |«      t        ||d|¬«      «       y)z&Test that in1d works for boolean inputTF)FFFrq   r”   N)r   r   r   r   r•   )r   re   r   r    r^   s        r$   Útest_in1d_booleanzTestSetOps.test_in1d_boolean„  sn   € ô �H‰H�d˜E�]Ó#ˆÜ�H‰HÒ*Ó+ˆÜ—8‘8˜U D˜MÓ*ˆÜ˜8Ü  1¨4Ô0ô	2äœ2Ÿ9™9 XÓ.Ü  1¨T¸Ô=õ	?r&   rf   c                 ó  — t         j                  j                  d«      }|j                  ddd¬«      }|j                  ddd¬«      }t	        ||«      }|j                  d«      }|j                  d«      }t        |t	        |||¬«      «       y)z(Test that in1d works for timedelta inputr   éd   r<   )Úsizeútimedelta64[s]rq   N)r   ÚrandomÚRandomStateÚrandintr   Úastyper   )r   re   Úrstater   r    ÚtruthÚa_timedeltaÚb_timedeltas           r$   Útest_in1d_timedeltazTestSetOps.test_in1d_timedelta�  s|   € ô —‘×&Ñ& qÓ)ˆØ�N‰N˜1˜c¨ˆNÓ+ˆØ�N‰N˜1˜c¨ˆNÓ+ˆÜ�Q˜“
ˆØ—h‘hÐ/Ó0ˆØ—h‘hÐ/Ó0ˆÜ˜5¤$ {°KÀdÔ"KÕLr&   c                 ó²   — t        j                  g d¢d¬«      }|}t        j                  t        «      5  t        ||d¬«       d d d «       y # 1 sw Y   y xY w)N©r   r   r   r¥   rT   rg   rq   )r   r   ÚpytestÚraisesÚ
ValueErrorr   ©r   r   r    s      r$   Útest_in1d_table_timedelta_failsz*TestSetOps.test_in1d_table_timedelta_failsš  sE   € Ü�H‰H’YÐ&6Ô7ˆØˆä�]‰]œ:Ó&ñ 	%Ü��A˜GÕ$÷	%÷ 	%ñ 	%ús   µ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(  xrY t	        |t         j
                  k(  xr |t         j                  k(  |t         j                  k(  xr |t         j
                  k(  f«      }|r3t        j                  t        d¬«      5  t        |||¬	«       d
d
d
«       y
t        t        |||¬	«      |«       y
# 1 sw Y   y
xY w)z7Test that in1d works as expected for mixed dtype input.)r   r   r   r   rT   )i€ÿÿÿr   é   )r·   r   éÿ   )TTFFrg   zexceed the maximum)Úmatchrq   N)r   Ú
issubdtypeÚsignedintegerr   ÚanyÚint8Úint16r±   r²   ÚRuntimeErrorr   r   )	r   Údtype1Údtype2re   Úis_dtype2_signedÚar1Úar2r^   Úexpect_failures	            r$   Útest_in1d_mixed_dtypez TestSetOps.test_in1d_mixed_dtype¡  sú   € ô Ÿ=™=¨´×1AÑ1AÓBÐÜ�h‰h’|¨6Ô2ˆáÜ—(‘(š>°Ô8‰Cä—(‘(š=°Ô7ˆCä—8‘8Ò6Ó7ˆà ™ò ¬SØ”b—g‘gÑÒ4 &¬B¯H©HÑ"4Ø”b—h‘hÑÒ4 6¬R¯W©WÑ#4ð2
ó .ˆñ
 Ü—‘œ|Ð3GÔHñ *Ü�S˜# DÕ)÷*ð *ô œt C¨°4Ô8¸(ÕC÷*ð *ús   ÄD8Ä8E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        |||¬«      |«       Œ¨ y)	z4Test that in1d works as expected for bool/int input.Ú
AllIntegerr}   rT   ©r   r   r   r   )FTTrq   )TTTTN)r   Ú	typecodesr   r   r   r   )r   re   rU   r   r    r^   s         r$   Útest_in1d_mixed_booleanz"TestSetOps.test_in1d_mixed_booleanÄ  s�   € ô —\‘\ ,Ñ/ò 	@ˆEÜ—‘Ò-´TÔ:ˆAÜ—‘š¨UÔ3ˆAÜ—x‘xÒ 3¼4Ô@ˆHÜœt A q¨tÔ4°hÔ?à�aˆqˆAÜ—x‘xÒ 8ÄÔEˆHÜœt A q¨tÔ4°hÕ?ñ	@r&   c                 ó¬   — d g}t        j                  dgdz  «      }t        j                  dg«      }t        j                  ||«      }t        ||«       y ©Nr   r<   Fr�   ©r   rÃ   rÄ   r^   Úresults        r$   Útest_in1d_first_array_is_objectz*TestSetOps.test_in1d_first_array_is_objectÑ  sG   € ØˆfˆÜ�h‰h˜�s˜2‘vÓˆÜ—8‘8˜U˜GÓ$ˆÜ—‘˜˜cÓ"ˆÜ˜6 8Õ,r&   c                 óª   — d}t        j                  d gdz  «      }t        j                  dg«      }t        j                  ||«      }t        ||«       y rÍ   r�   rÎ   s        r$   Ú test_in1d_second_array_is_objectz+TestSetOps.test_in1d_second_array_is_objectØ  sE   € ØˆÜ�h‰h˜�v˜b‘yÓ!ˆÜ—8‘8˜U˜GÓ$ˆÜ—‘˜˜cÓ"ˆÜ˜6 8Õ,r&   c                 ó¬   — d g}t        j                  d gdz  «      }t        j                  dg«      }t        j                  ||«      }t        ||«       y )Nr<   Tr�   rÎ   s        r$   Ú test_in1d_both_arrays_are_objectz+TestSetOps.test_in1d_both_arrays_are_objectß  sG   € ØˆfˆÜ�h‰h˜�v˜b‘yÓ!ˆÜ—8‘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        ||«       y )NÚfield1Úfield2)r   NrT   r<   T)r   rU   ÚintÚobjectr   r   r   )r   ÚdtrÃ   rÄ   r^   rÏ   s         r$   Ú+test_in1d_both_arrays_have_structured_dtypez6TestSetOps.test_in1d_both_arrays_have_structured_dtypeæ  sr   € ô �X‰X˜¤#�¨´6Ð(:Ð;Ó<ˆÜ�h‰h˜	�{¨"Ô-ˆÜ�h‰h˜	�{ 2‘~¨RÔ0ˆÜ—8‘8˜T˜FÓ#ˆÜ—‘˜˜cÓ"ˆÜ˜6 8Õ,r&   c                 ó  — 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
                  |«      «       y )
N©r   r   rT   Trž   )rÝ   )r   r   r   rO   )rÝ   ©r   r   r   F)r   r   rÙ   r   r   r•   rÎ   s        r$   Ú'test_in1d_with_arrays_containing_tuplesz2TestSetOps.test_in1d_with_arrays_containing_tuplesð  s‡  € Ü�h‰h˜˜a�y¬Ô/ˆÜ�h‰h˜˜a�y¬Ô/ˆÜ—8‘8˜T 4˜LÓ)ˆÜ—‘˜˜cÓ"ˆÜ˜6 8Ô,Ü—‘˜˜c¨$Ô/ˆÜ˜6¤2§9¡9¨XÓ#6Ô7ô �h‰hÒ(´Ô7ˆØ�#�2ˆhˆÜ�h‰hÒ(´Ô7ˆØ�#�2ˆhˆÜ—8‘8˜T 4˜LÓ)ˆÜ—‘˜˜cÓ"ˆÜ˜6 8Ô,Ü—‘˜˜c¨$Ô/ˆÜ˜6¤2§9¡9¨XÓ#6Ô7ä�h‰hÒ(´Ô7ˆØ�#�2ˆhˆÜ�h‰h˜˜a�y¬Ô/ˆÜ—8‘8˜T 5˜MÓ*ˆÜ—‘˜˜cÓ"ˆÜ˜6 8Ô,Ü—‘˜˜c¨$Ô/ˆÜ˜6¤2§9¡9¨XÓ#6Õ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   «       ŒÃ y
)z&Test that in1d raises expected errors.)r   r   r   r   r   )r   r   r8   r:   r<   Ú	quicksortrq   )r   r   r   r    r   rT   rg   )rO   r   r   r   r   rO   NTFr   rf   )r   r   r   r³   r   rÙ   Úint32r�   ÚiinfoÚmaxr¿   r   )r   rÃ   rÄ   Úobj_ar1Úobj_ar2rU   Úoverflow_ar2rÏ   s           r$   Útest_in1d_errorszTestSetOps.test_in1d_errors  s  € ô �h‰h’Ó'ˆÜ�h‰hÒ'Ó(ˆÜ”j¤$¨¨S°{Õ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                 ó¬  — 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 «      «       y )N)r   r   r   r   r   ©r   r   r   r   r   r   r   )r   r   r   r   r   r   r°   )r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   )r   r   r
   r   )	r   r   r    r!   r"   rr   rs   ÚezÚzs	            r$   Útest_union1dzTestSetOps.test_union1d3  sš   € Ü�H‰H’_Ó%ˆÜ�H‰HÒ*Ó+ˆä�X‰XÒ(Ó)ˆÜ�A�q‹MˆÜ˜1˜bÔ!ô �H‰H’i¢Ð+Ó,ˆÜ�H‰H’_Ó%ˆÜ�X‰XÒ(Ó)ˆÜ�A�q‹MˆÜ˜1˜bÔ!ä˜2œw r¨2›Õ/r&   c                 ó@  — 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
                  «       y )	N)r8   r   r   r   r   r   r   r   rê   r8   r   é   é   rx   r1   )r   r   r   r   r+   Úuint32r   rU   rJ   s        r$   Útest_setdiff1dzTestSetOps.test_setdiff1dE  sÈ   € Ü�H‰HÒ-Ó.ˆÜ�H‰HÒ*Ó+ˆä�X‰X�q˜!�fÓˆÜ�a˜‹OˆÜ˜1˜bÔ!ä�I‰I�b‹MˆÜ�I‰I�b‹MˆÜ�X‰X�r˜2�hÓˆÜ�a˜‹OˆÜ˜1˜bÔ!ä˜2œy¨¨RÓ0Ô1Ü�H‰H�RœŸ™Ó#ˆÜ”Y˜q "Ó%×+Ñ+¬R¯Y©YÕ7r&   c                 óÂ   — t        j                  g d¢«      }t        j                  g d¢«      }t        j                  ddg«      }t        ||d¬«      }t        ||«       y )N)r   r   r   )r   r   r   r   r   Tr   )r   r   r   r   )r   r   r    r^   rc   s        r$   Útest_setdiff1d_uniquez TestSetOps.test_setdiff1d_uniqueW  sH   € Ü�H‰H’YÓˆÜ�H‰H’YÓˆÜ—8‘8˜Q ˜FÓ#ˆÜ˜1˜a¨tÔ4ˆÜ�V˜XÕ&r&   c                 ó´   — t        j                  g d¢«      }t        j                  g d¢«      }t        t        ||«      t        j                  dg«      «       y )N)r   r    r"   )r   r    Úsr"   )r   r   r   r   r´   s      r$   Útest_setdiff1d_char_arrayz$TestSetOps.test_setdiff1d_char_array^  s8   € Ü�H‰H’_Ó%ˆÜ�H‰H’_Ó%ˆÜœ9 Q¨›?¬B¯H©H°c°U«OÕ<r&   c                 óØ   — t        j                  g d¢«      }t        j                  g d¢«      }t        ||«      }t        ||«      }t	        ||«      }t        ||«      }t        ||«       y )N)r   r   r   r   r:   )r>   r:   r   r   r   r   r   )r   r   r	   r   r
   r   r   )r   r   r    Úc1Úaux1Úaux2Úc2s          r$   Útest_manywayszTestSetOps.test_manywaysc  sW   € Ü�H‰H’_Ó%ˆÜ�H‰HÒ*Ó+ˆä�a˜‹^ˆÜ˜1˜aÓ ˆÜ�q˜!‹}ˆÜ�t˜TÓ"ˆÜ˜2˜rÕ"r&   ).r.   r/   r0   r%   r5   rH   rK   rS   r±   ÚmarkÚparametrizer   r   r�   Únanr–   r½   r`   r¾   r‚   râ   rd   r‡   r�   r’   r—   r›   rŸ   r¡   r®   rµ   Úuint8Úuint16rÆ   rË   rÐ   rÒ   rÔ   rÛ   rß   rè   rí   rò   rô   r÷   rý   r1   r&   r$   r   r      sè  „ ò4ò$
+ò%'ò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Ò%<Ó=ñ:8ó >ð:8ðx ‡[�[×Ñ˜VÒ%<Ó=ñ;<ó >ð;<òz"ð ‡[�[×Ñ˜VÒ%<Ó=ñGó >ðGð( ‡[�[×Ñ˜VÒ%<Ó=ñó >ðò("ð  ‡[�[×Ñ˜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Ð ð	
ó
ð ‡[�[×Ñ˜VÒ%<Ó=ñDó >ó
ðDð. ‡[�[×Ñ˜VÒ%<Ó=ñ
@ó >ð
@ò-ò-ò-ò-ò8òB =òD0ò$8ò$'ò=ó
#r&   r   c                   óŠ   — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  dddg«      d„ «       Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zy)Ú
TestUniquec           	      ól  — d„ }g d¢dz  }g d¢}g d¢}g d¢dz  }t        j                  g d¢d«      }g }|j                  t         j                  d   «       |j                  t         j                  d	   «       |j	                  d
«       |j	                  d«       |D ];  }t        j
                  ||«      }	t        j
                  ||«      }
 ||	|
||||«       Œ= d}t        j                  t        |«      |«      }	||	d d  t        j                  t        |«      |«      }
||
d d   ||	|
||||«       ddg}t        j
                  t        t        ||«      «      |«      }	t        j
                  t        t        ||«      «      |«      }
 ||	|
||||«       g d¢}	t        t        j                  |	«      ddg«       g d¢}g d¢}g d¢}t        |«      }t        ||«       t        |d¬«      \  }}t        ||«       t        ||«       t        j                  d«      }d|d<   t        j                  |d¬«      \  }}t        |t        j                  d«      «       g }t        j                  |d¬«      d   }t        j                  |d¬«      d   }t        j                  |dd¬«      dd  \  }}t        |j                  t         j                   «       t        |j                  t         j                   «       t        |j                  t         j                   «       t        |j                  t         j                   «       dt         j"                  dt         j"                  g}ddt         j"                  g}g d¢}g d¢}g d ¢}t        t        j                  |«      |«       t        t        j                  |d¬«      ||f«       t        t        j                  |d¬«      ||f«       t        t        j                  |d¬!«      ||f«       d"t         j"                  d#t%        d$t         j"                  «      t%        dt         j"                  «      g}d#d"t%        d$t         j"                  «      g}g d%¢}g d&¢}g d'¢}t        t        j                  |«      |«       t        t        j                  |d¬«      ||f«       t        t        j                  |d¬«      ||f«       t        t        j                  |d¬!«      ||f«       t        j&                  d(«      }t        j&                  d)«      |t        j&                  d*«      |g}t        j&                  d*«      t        j&                  d)«      |g}g d¢}g d¢}g d ¢}t        t        j                  |«      |«       t        t        j                  |d¬«      ||f«       t        t        j                  |d¬«      ||f«       t        t        j                  |d¬!«      ||f«       t        j(                  d(«      }t        j(                  dd+«      |t        j(                  dd,«      |g}t        j(                  dd,«      t        j(                  dd+«      |g}g d¢}g d¢}g d ¢}t        t        j                  |«      |«       t        t        j                  |d¬«      ||f«       t        t        j                  |d¬«      ||f«       t        t        j                  |d¬!«      ||f«       t         j"                  gd-z  }t         j"                  g}d.g}g d/¢}d-g}t        t        j                  |«      |«       t        t        j                  |d¬«      ||f«       t        t        j                  |d¬«      ||f«       t        t        j                  |d¬!«      ||f«       y )0Nc                 ó>  — d}|j                  d|«      }t        | «      }t        |||«       |j                  d|«      }t        | ddd«      \  }}	t        |||«       t        |	||«       |j                  d|«      }t        | ddd«      \  }}	t        |||«       t        |	||«       |j                  d|«      }t        | ddd«      \  }}	t        |||«       t        |	||«       |j                  d|«      }t        | ddd«      \  }}
}t        |||«       t        |
||«       t        |||«       |j                  d	|«      }t        | ddd«      \  }}
}t        |||«       t        |
||«       t        |||«       |j                  d
|«      }t        | ddd«      \  }}
}t        |||«       t        |
||«       t        |||«       |j                  d|«      }t        | ddd«      \  }}
}}t        |||«       t        |
||«       t        |||«       t        |||«       y )Nzcheck {0} failed for type {1}ÚvaluesÚreturn_indexTFÚreturn_inverseÚreturn_countszreturn_index and return_inversezreturn_index and return_countsz return_inverse and return_countsz.return_index, return_inverse and return_counts)rZ   r   r   )r   r    rA   rB   r"   rÚ   Úbase_msgr_   ÚvÚjÚj1Új2Új3s                r$   Ú	check_allz,TestUnique.test_unique_1d.<locals>.check_allr  s   € Ø6ˆHà—/‘/ (¨BÓ/ˆCÜ�q“	ˆAÜ˜q ! SÔ)à—/‘/ .°"Ó5ˆCÜ˜!˜T 5¨%Ó0‰DˆAˆqÜ˜q ! SÔ)Ü˜q " cÔ*à—/‘/Ð"2°BÓ7ˆCÜ˜!˜U D¨%Ó0‰DˆAˆqÜ˜q ! SÔ)Ü˜q " cÔ*à—/‘/ /°2Ó6ˆCÜ˜!˜U E¨4Ó0‰DˆAˆqÜ˜q ! SÔ)Ü˜q ! SÔ)à—/‘/Ð"CÀRÓHˆCÜ˜q $¨¨eÓ4‰IˆAˆr�2Ü˜q ! SÔ)Ü˜r 2 sÔ+Ü˜r 2 sÔ+à—/‘/Ð"BÀBÓGˆCÜ˜q $¨¨tÓ4‰IˆAˆr�2Ü˜q ! SÔ)Ü˜r 2 sÔ+Ü˜r 1 cÔ*à—/‘/Ð"DÀbÓIˆCÜ˜q %¨¨tÓ4‰IˆAˆr�2Ü˜q ! SÔ)Ü˜r 2 sÔ+Ü˜r 1 cÔ*à—/‘/ð $7Ø9;ó=ˆCä" 1 d¨D°$Ó7‰MˆAˆr�2�rÜ˜q ! SÔ)Ü˜r 2 sÔ+Ü˜r 2 sÔ+Ü˜r 1 cÕ*r&   )r   r   r   r   r   r   r   r<   )r   r   r   r   )r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   rÈ   ÚAllFloatúdatetime64[D]útimedelta64[D]ÚO)Ú Úi)ù      ð?        ù      ð?      ð¿r   r  r  )©r   r   r  rÞ   r3   )r   r   r   r   r   r   T)r	  r   r  .)r  r   )r  r	  g       @rV   )r   r   r   )r   r   r   r   )r   r   r   )r
  y       @      ð¿y      ð?      ð?ç        )r   r   r   )r   r   r   r   r   )r   r   r   Únatz
2020-12-26z
2020-12-24ÚDÚhr   r   rÉ   )r   ÚmultiplyÚextendrÊ   r]   r   ÚemptyÚlenÚlistÚzipr   r   Ú	chararrayÚzerosr   rU   Úintpr   ÚcomplexÚ
datetime64Útimedelta64)r   r  r   r    rA   rB   r"   ÚtypesrÚ   ÚaaÚbbÚunqÚinvÚa1Úa2Úa2_invÚa1_idxÚa3_idxÚa3_invÚuaÚua_idxÚua_invÚua_cntr  Úall_nanss                            r$   Útest_unique_1dzTestUnique.test_unique_1dp  sò  € ò.	+ò` " "Ñ$ˆÚˆÚˆÚ" 2Ñ%ˆÜ�K‰Kš bÓ)ˆð ˆØ�‰”R—\‘\ ,Ñ/Ô0Ø�‰”R—\‘\ *Ñ-Ô.Ø�‰�_Ô%Ø�‰Ð%Ô&Øò 	-ˆBÜ—‘˜!˜R“ˆBÜ—‘˜!˜R“ˆBÙ�b˜"˜b " a¨Õ,ð	-ð ˆÜ�X‰X”c˜!“f˜bÓ!ˆØˆ‰1ˆÜ�X‰X”c˜!“f˜bÓ!ˆØˆ‰1ˆÙ�"�b˜"˜b ! RÔ(ð ˜Ð#ˆÜ�X‰X”dœ3˜q !›9“o rÓ*ˆÜ�X‰X”dœ3˜q !›9“o rÓ*ˆÙ�"�b˜"˜b ! RÔ(ò $ˆÜœ2Ÿ9™9 R›=¨8°XÐ*>Ô?ò %ˆÚˆÚ ˆÜ�A‹YˆÜ˜2˜sÔ#Ü˜A¨dÔ3‰
ˆˆFÜ˜2˜sÔ#Ü˜6 3Ô'ô �L‰L˜‹OˆØˆˆ#‰Ü—Y‘Y˜q°Ô6‰
ˆˆFÜ˜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˜V¤W¨S´"·&±&Ó%9¼7À3ÌÏÉÓ;OÐPˆØ�fœg c¬2¯6©6Ó2Ð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ô �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                 ód  — t        t        | j                  t        «       t        t        | j                  dt        fdt        fg«       t        t
        j                  t        t        j                  d«      d¬«       t        t
        j                  t        t        j                  d«      d¬«       y )Nr   r    r<   r   ©Úaxiséþÿÿÿ)	r   r[   Ú_run_axis_testsrÙ   rØ   r   Ú	AxisErrorr   r+   r,   s    r$   Útest_unique_axis_errorsz"TestUnique.test_unique_axis_errors  sl   € Ü”i ×!5Ñ!5´vÔ>Ü”i ×!5Ñ!5ØœS�z C¬ =Ð1ô	3ô 	”b—l‘l¤F¬B¯I©I°b«MÀÕBÜ”b—l‘l¤F¬B¯I©I°b«MÀÖCr&   c                 óÎ   — d}g d¢g d¢g}t        j                  |«      }t        t        |d¬«      t        |d¬«      |«       t        t        |d¬«      t        |d¬«      |«       y )NzUnique failed on list of lists©r   r   r   r   r=  r   )r   rj   r   r   )r   r_   ÚinpÚinp_arrs       r$   Útest_unique_axis_listz TestUnique.test_unique_axis_list!  sR   € Ø.ˆÚš)Ð$ˆÜ—*‘*˜S“/ˆÜœ6 #¨AÔ.´°wÀQÔ0GÈÔMÜœ6 #¨AÔ.´°wÀQÔ0GÈÕMr&   c                 ó,  — g }|j                  t        j                  d   «       |j                  t        j                  d   «       |j                  d«       |j                  d«       |j                  dt        fdt        fg«       |j                  dt        fdt
        fg«       |D ]  }| j                  |«       Œ d}t        j                  dt        j                  ¬	«      j                  d
d«      j                  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¬«      ||«       y )NrÈ   r  r  r  r   r    z&Non-bitwise-equal booleans test failedr<   rT   rO   r   FTr   r=  z"Negative zero equality test failedg       €r  )r   r   rÊ   r]   rØ   Úfloatr@  r+   r  r€   Úviewr   r   r   r   )r   r+  rU   r_   ÚdatarÏ   s         r$   Útest_unique_axiszTestUnique.test_unique_axis(  sO  € ØˆØ�‰”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   rO   c                 óh   — t        j                  g d¢«      }t        ||¬«      }t        |g d¢«       y )N)r   r   r   r   r   r   r   r   r=  r7   ©r   r   r   r   )r   r>  rr   Úuniqs       r$   Útest_unique_1d_with_axisz#TestUnique.test_unique_1d_with_axis>  s'   € ä�H‰HÒ-Ó.ˆÜ�a˜dÔ#ˆÜ˜4¢Õ.r&   c                 ó  — 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 ]K  }t        |«      }	||   dk(  rd|	|<   nd	|	|<   t        t        ||¬«      t        j                  |	¬«      «       ŒM y )N)r   r   )r@   rU   r   T©r>  r  r	  r
  )r   r   )r@   r   r   )r   r   r   r   r   r   r   r=  )r   r!  r½   r   r   rU   r   r   Úranger"  r#  )
r   Úsingle_zerorO  Úidxr/  Úcntr@   Úmultiple_zerosr>  Úexpected_shapes
             r$   Útest_unique_axis_zerosz!TestUnique.test_unique_axis_zerosD  s�  € ä—h‘h V´2·7±7Ô;ˆÜ$ [°qÀtØ48ÈôNÑˆˆc�3˜ô 	�T—Z‘Z ×!2Ñ!2Ô3Ü˜4¤§¡°Ô!7Ô8Ü˜3¤§¡¨!¨£Ô.Ü˜3¤§¡¨!¨Q¨Ó 0Ô1Ü˜3¤§¡¨!¨£Ô.ô % [°qÀtØ48ÈôNÑˆˆc�3˜ô 	�T—Z‘Z ×!2Ñ!2Ô3Ü˜4¤§¡°Ô!7Ô8Ü˜3¤§¡¨£Ô-Ü˜3¤§¡¨£Ô-Ü˜3¤§¡¨£Ô-ð &ˆÜŸ™¨Ô.ˆÜœ#˜e›*Ó%ò 	?ˆDÜ! %›[ˆNØ�T‰{˜aÒØ'(�˜tÒ$à'(�˜tÑ$äœv n¸4Ô@Ü!Ÿx™x¨nÔ=õ?ñ	?r&   c                 ó`  — t        j                  g d¢d¬«      }t         j                  j                  |d«      }t        j                  |«      }t        j                  |dd¬«      \  }}}d}t        |j                  |j                  |«       t        |j                  |j                  |«       y )N)é@   r   r   r   r   r™   r™   r   r   r   r   r   r   r™   r   r  rT   r   T)r  r
  z6Unique returned different results when asked for index)r   r   ÚmaÚmasked_equalr   r   rK  Úmask)r   rr   rs   r  Úv2r  r"   r_   s           r$   Útest_unique_maskedzTestUnique.test_unique_maskedh  s~   € ä�H‰HÒFØ"ô$ˆä�E‰E×Ñ˜q !Ó$ˆä�I‰I�a‹LˆÜ—9‘9˜Q¨TÀÔF‰ˆˆAˆqàFˆÜ˜1Ÿ6™6 2§7¡7¨CÔ0Ü˜1Ÿ6™6 2§7¡7¨CÕ0r&   c                 ó˜   — d}dD ]C  }t        j                  dgdgg|«      }t        j                  |d¬«      }t        ||||z  «       ŒE y )Nz*sort order incorrect for integer type '%s'ÚbhilqrO   r   r=  rN  )r   ÚfmtrÚ   r   r    s        r$   Ú test_unique_sort_order_with_axisz+TestUnique.test_unique_sort_order_with_axisu  sP   € ð ;ˆØò 	/ˆBÜ—‘˜2˜$  ˜ bÓ)ˆAÜ—	‘	˜! !Ô$ˆAÜ˜q ! S¨2¡XÕ.ñ	/r&   c                 óF  — t        j                  g d¢g d¢g d¢g d¢g«      j                  |«      }d}t        j                  ddg«      }t        t	        |«      |j                  |«      |«       d}t        j                  g d¢g d¢g«      }t        t	        |d¬«      |j                  |«      |«       d}t        j                  g d	¢g d
¢g d	¢g d
¢g«      }t        t	        |d¬«      |j                  |«      |«       d}t        j                  ddgddggddgddggg«      j                  |«      }t        j
                  |ddgd¬«      }t        t	        |d¬«      ||«       t	        |dddd¬«      \  }}}}	d}t        ||   ||«       d}t        ||   |«       d}t        |	t        j                  ddg«      |«       t	        |dddd¬«      \  }}}}	d}t        |d d …|f   |«       d}t        |d d …|f   |«       d}t        |	t        j                  g d¢«      |«       y )N)r   r   r   r   )r   r   r   r   z&Unique with 1d array and axis=0 failedr   r   z&Unique with 2d array and axis=0 failedr=  z&Unique with 2d array and axis=1 failed)r   r   r   rD  z&Unique with 3d array and axis=2 failedr   TrR  z-Unique's return_index=True failed with axis=0z/Unique's return_inverse=True failed with axis=0z.Unique's return_counts=True failed with axis=0z-Unique's return_index=True failed with axis=1z/Unique's return_inverse=True failed with axis=1z.Unique's return_counts=True failed with axis=1)r   r   r   )r   r   r©   r   r   Útake)
r   rU   rK  r_   rÏ   Údata3drO  rU  r/  rV  s
             r$   r@  zTestUnique._run_axis_tests~  s  € Ü�x‰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¸3Ô?ä$ T°ÀØ48ÈôNÑˆˆc�3˜à=ˆÜ˜4 ™9 d¨CÔ0Ø?ˆÜ˜4 ™9 dÔ+Ø>ˆÜ˜3¤§¡¨!¨Q¨Ó 0°#Ô6ä$ T°ÀØ48ÈôNÑˆˆc�3˜à=ˆÜ˜4¢ 3 ™<¨Ô.Ø?ˆÜ˜4¢ 3 ™<¨Ô.Ø>ˆÜ˜3¤§¡ªÓ 3°SÕ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«      «       y )Nr   F)Ú	equal_nan)r   r   r   r   r   )r   r   r.  Únot_unqs       r$   Útest_unique_nanequalsz 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&   N)r.   r/   r0   r;  rB  rG  rL  r±   rþ   rÿ   rP  rY  r`  rd  r@  rk  r1   r&   r$   r  r  n  s`   „ ògLòRDòNò>ð, ‡[�[×Ñ˜V a¨ WÓ-ñ/ó .ð/ò
"?òH1ò/ò*:óXKr&   r  )Ú__doc__Únumpyr   Únumpy.testingr   r   r   r   Únumpy.lib.arraysetopsr   r   r	   r
   r   r   r   r   r±   r   r  r1   r&   r$   ú<module>rp     sH   ðñó ÷?ó ?÷÷ ó ó ÷]	#ñ ]	#÷@BKò BKr&   