Ë
    ¡eh‡”  ã                   óˆ   — d Z ddlZddlmZmZmZmZmZmZm	Z	 ddl
mZ ddlmZmZmZmZ ddlZ G d„ d«      Z G d„ d	«      Zy)
z-Test functions for 1D array set operations.

é    N)Úediff1dÚintersect1dÚsetxor1dÚunion1dÚ	setdiff1dÚuniqueÚisin)Ú	AxisError)Úassert_array_equalÚassert_equalÚassert_raisesÚassert_raises_regexc                   ó	  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j                  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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ejB                  ej                  fg«      e	j                  j                  dg d¢«      d(„ «       «       Z"e	j                  j                  d) ej                  d*d+gejB                  ¬	«       ej                  d,d-gej                  ¬	«      g«      e	j                  j                  dg d¢«      d.„ «       «       Z#e	j                  j                  dg d¢«      d/„ «       Z$d0„ Z%d1„ Z&d2„ Z'd3„ Z(d4„ Z)d5„ Z*d6„ Z+d7„ Z,d8„ Z-d9„ Z.d:„ Z/y
);Ú
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         ú^/var/www/skyplay_api_hub/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d„Zy)ú4TestSetOps.test_intersect1d_array_like.<locals>.TestNc                 ó,   — t        j                  d«      S )Nr   )r   Úarange)r   ÚdtypeÚcopys      r$   Ú	__array__z>TestSetOps.test_intersect1d_array_like.<locals>.Test.__array__&   s   € Ü—y‘y “|Ð#r&   )NN)Ú__name__Ú
__module__Ú__qualname__r.   © r&   r$   ÚTestr)   %   s   „ ô$r&   r3   ©r   r   r   )r   r   )r   r3   r   Úress       r$   Útest_intersect1d_array_likez&TestSetOps.test_intersect1d_array_like#   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   )r:   )r   r   r   r9   )r   r;   r   é   )r   r   r   r9   )é
   é   r;   é	   )r   r9   r   r;   )r   r   r   r9   r9   )r   r   r;   r   r   )r   r   r   r   )r=   r>   r;   r   )r   r   r;   )r   r   r   r   Úunravel_indexÚshape)r   r   r    r"   Úi1Úi2ÚeeÚefÚui1Úui2Úeas              r$   Útest_intersect1d_indicesz#TestSetOps.test_intersect1d_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   r4   )r9   r   r   ©r   r   r   r   r   r9   ©r   r;   r   r   ©r9   r   r   r;   ©r   r   r   r   ©r   r   r    r!   r"   s        r$   Útest_setxor1dzTestSetOps.test_setxor1dV   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 d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        ||d¬«      }t        ||«       t        j                  dgdgdgd	gg«      }t        j                  d
dgddgg«      }t        j                  g d¢«      }t        ||d¬«      }t        ||«       y )NrL   rM   rK   Tr   r   r;   r   r   r9   r   r   rN   rO   s        r$   Útest_setxor1d_uniquezTestSetOps.test_setxor1d_uniquen   s¦   € Ü�H‰H’\Ó"ˆÜ�H‰H’\Ó"ˆä�X‰XÒ(Ó)ˆÜ�Q˜¨Ô.ˆÜ˜1˜bÔ!ä�H‰H�q�c˜A˜3   a SÐ)Ó*ˆÜ�H‰H�q˜!�f˜q !˜fÐ%Ó&ˆä�X‰XÒ(Ó)ˆÜ�Q˜¨Ô.ˆÜ˜1˜bÕ!r&   c           	      óÜ  — t        j                  g «      }t        j                  dg«      }t        j                  ddg«      }t        g t        |«      «       t        dgt        |d¬«      «       t        dgt        |d¬«      «       t        ddgt        |dd¬«      «       t        g t        |«      «       t        dgt        |«      «       t        g d¢t        |d	d
¬«      «       t        g d¢t        |ddgd	dg¬«      «       t        dd
gt        |d
¬«      «       t        g d¢t        |d	dg¬«      «       t        d	dgt        |d	¬«      «       t        g d¢t        |ddg¬«      «       y )Nr   r   r   )Úto_begin)Úto_endéÿÿÿÿ)rT   rU   )r   r   r?   r   r?   )r   r9   r   r   r;   r   r9   r;   )r   r   r;   )r   r9   r   )r   r   r   r   )r   Ú	zero_elemÚone_elemÚtwo_elems       r$   Útest_ediff1dzTestSetOps.test_ediff1d}   s"  € Ü—H‘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, expectedr4   ©r,   NrU   )r   r   r   rT   )ç      ð?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©ÚaryrU   rT   )Úformatr   Ú	TypeErrorr   )r   r_   Ú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   rg   c                 ó‚   — t        j                  |||¬«      }t        ||«       |j                  |j                  k(  sJ ‚y )Nr^   )r   r   r   r,   )r   r_   rb   rc   rd   Ú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©rk   )r	   r   )r   r    ÚxÚyÚ	isin_slowrk   s       €€r$   Úassert_isin_equalz/TestSetOps.test_isin.<locals>.assert_isin_equalÝ   s&   ø€ Ü�Q˜ Ô%ˆAÙ˜!˜Q“ˆAÜ˜q !Õ$r&   é   ©r   r   r   )r=   é   é   )r   r   r   )é   é   é!   )r?   r;   )r   r9   )r?   r   r   r   r9   rm   r[   ©TFF)r   Ú	vectorizeÚboolr+   Úreshaper   Úint64Úfloat64)r   rk   rs   r{   r   r    r"   ÚdÚfrx   r,   ÚarÚempty_arrayrz   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   rk   r;   r   )FFTT)r   r;   r   )TFTF©r   r   r   r   r   r   r   r   r   r   r   r   r   r   r}   )FTFTTTTTTFTFFFrw   )r   r   r   )TTTTTTTTTTTFTT)r   r   r   r   r   )r   r   r   r   r   r   )TFTTTr   r   F>   Nrl   ©r   r   r	   r   )r   rk   Úmultr   r    r!   r"   s          r$   Útest_isin_additionalzTestSetOps.test_isin_additional  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’   rO   s        r$   Útest_isin_char_arrayzTestSetOps.test_isin_char_arrayN  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 isin's invert parameterr�   r‘   r}   rw   T©Úinvertrk   >   Nrl   r[   N)r   r   r   rš   r	   Úfloat32)r   rk   r“   r   r    s        r$   Útest_isin_invertzTestSetOps.test_isin_invertW  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                 ó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ÍÍAr[   )r   r   r   rž   )r   r   r   r   r   r   r   T©rš   r   )r   r   r   r   r   rž   r�   r   N)r   r   r‡   r…   r   r	   rš   )r   r   r    rd   r!   r"   s         r$   Ú!test_isin_hit_alternate_algorithmz,TestSetOps.test_isin_hit_alternate_algorithml  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 isin works for boolean inputTF)FFFrw   r™   N)r   r   r   r	   rš   )r   rk   r   r    rd   s        r$   Útest_isin_booleanzTestSetOps.test_isin_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&   rl   c                 ó  — t         j                  j                  d«      }|j                  ddd¬«      }|j                  ddd¬«      }t	        ||«      }|j                  d«      }|j                  d«      }t        |t	        |||¬«      «       y)z(Test that isin works for timedelta inputr   éd   r=   )Úsizeútimedelta64[s]rw   N)r   ÚrandomÚRandomStateÚrandintr	   Úastyper   )r   rk   Úrstater   r    ÚtruthÚa_timedeltaÚb_timedeltas           r$   Útest_isin_timedeltazTestSetOps.test_isin_timedelta‡  s|   € ô —‘×&Ñ& qÓ)ˆØ�N‰N˜1˜c¨ˆNÓ+ˆØ�N‰N˜1˜c¨ˆNÓ+ˆÜ�Q˜“
ˆØ—h‘hÐ/Ó0ˆØ—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¦   r[   rm   rw   )r   r   ÚpytestÚraisesÚ
ValueErrorr	   ©r   r   r    s      r$   Útest_isin_table_timedelta_failsz*TestSetOps.test_isin_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r( |t         j                  k(  xr |t         j
                  k(  }|r3t        j                  t        d¬«      5  t        |||¬	«       d
d
d
«       y
t        t        |||¬	«      |«       y
# 1 sw Y   y
xY w)z7Test that isin works as expected for mixed dtype input.)r   r   r   r   r[   )i€ÿÿÿr   é   )r¸   r   éÿ   )TTFFrm   zexceed the maximum)Úmatchrw   N)r   Ú
issubdtypeÚsignedintegerr   Úint16Úint8r²   r³   ÚRuntimeErrorr	   r   )	r   Údtype1Údtype2rk   Úis_dtype2_signedÚar1Úar2rd   Úexpect_failures	            r$   Útest_isin_mixed_dtypez 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Õ)÷*ð *ô œt C¨°4Ô8¸(ÕC÷*ð *ús   ÃDÄDÚdatal            l           lûÿÿÿ         lûÿÿÿ        c                 óä   — |d   }t        j                  |||¬«      }t        |ddg«       |j                  t         j                  «      }t        j                  |||¬«      }t        |ddg«       y)z>Test values outside intp range (negative ones if 32bit system)r   rw   FTN)r   r	   r   rª   Úint32)r   rk   rÇ   Úqueryr5   s        r$   Útest_isin_mixed_huge_valsz$TestSetOps.test_isin_mixed_huge_vals»  sa   € ð �Q‘ˆÜ�g‰g�d˜E¨Ô-ˆÜ˜3 ¨ Ô.ð �{‰{œ2Ÿ8™8Ó$ˆÜ�g‰g�d˜E¨Ô-ˆÜ˜3 ¨ Õ/r&   c                 ó|  — t         j                  d   D ]¦  }t        j                  g d¢t        ¬«      }t        j                  g d¢|¬«      }t        j                  g d¢t        ¬«      }t	        t        |||¬«      |«       ||}}t        j                  g d¢t        ¬«      }t	        t        |||¬«      |«       Œ¨ y)	z4Test that isin works as expected for bool/int input.Ú
AllIntegerrƒ   r[   ©r   r   r   r   )FTTrw   )TTTTN)r   Ú	typecodesr   r…   r   r	   )r   rk   r,   r   r    rd   s         r$   Útest_isin_mixed_booleanz"TestSetOps.test_isin_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Ä   rd   Úresults        r$   Útest_isin_first_array_is_objectz*TestSetOps.test_isin_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_isin_second_array_is_objectz+TestSetOps.test_isin_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_isin_both_arrays_are_objectz+TestSetOps.test_isin_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   Nr[   r=   T)r   r,   ÚintÚobjectr   r	   r   )r   ÚdtrÃ   rÄ   rd   rÔ   s         r$   Ú+test_isin_both_arrays_have_structured_dtypez6TestSetOps.test_isin_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   r[   TrŸ   )râ   )r   r   r   rV   )râ   ©r   r   r   F)r   r   rÞ   r	   r   rš   rÓ   s        r$   Ú'test_isin_with_arrays_containing_tuplesz2TestSetOps.test_isin_with_arrays_containing_tuples÷  s‡  € Ü�h‰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 isin raises expected errors.)r   r   r   r   r   )r   r   r9   r;   r=   Ú	quicksortrw   )r   r   r   r    r   r[   rm   )rV   r   r   r   r   rV   NTFr   rl   )r   r   r   r´   r	   rÞ   rÉ   r‡   ÚiinfoÚmaxr¿   r   )r   rÃ   rÄ   Úobj_ar1Úobj_ar2r,   Úoverflow_ar2rÔ   s           r$   Útest_isin_errorszTestSetOps.test_isin_errors  s  € ô �h‰h’Ó'ˆÜ�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"   rx   ry   ÚezÚzs	            r$   Útest_union1dzTestSetOps.test_union1d:  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)r9   r   r   r   r   r   r   r   rî   r9   r   é   é   r~   r2   )r   r   r   r   r+   Úuint32r   r,   rO   s        r$   Útest_setdiff1dzTestSetOps.test_setdiff1dL  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    rd   ri   s        r$   Útest_setdiff1d_uniquez TestSetOps.test_setdiff1d_unique^  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_arraye  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_manywaysj  sW   € Ü�H‰H’_Ó%ˆÜ�H‰HÒ*Ó+ˆä�a˜‹^ˆÜ˜1˜aÓ ˆÜ�q˜!‹}ˆÜ�t˜TÓ"ˆÜ˜2˜rÕ"r&   )0r/   r0   r1   r%   r6   rI   rP   rR   rZ   r²   ÚmarkÚparametrizer   r   r‡   Únanr›   r¾   rf   r½   rˆ   rÉ   rj   r�   r”   r—   rœ   r    r¢   r¯   r¶   Úuint8Úuint16Úuint64rÆ   rË   rÐ   rÕ   r×   rÙ   rà   rä   rì   rñ   rö   rø   rû   r  r2   r&   r$   r   r      sO  „ ò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Øˆ�‰�%˜Ð!¨¯©Ô3Øˆ�‰�&˜(Ð#¨2¯8©8Ô4ð&ó ð ‡[�[×Ñ˜VÒ%<Ó=ñ	0ó >ó	ð
	0ð ‡[�[×Ñ˜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
ej                  j                  dg d	¢«      d
„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú
TestUniquec           	      óŽ  — 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¢}ddgddgddgg}t        |«      }t        ||«       t        |d¬«      \  }}t        ||«       t        ||«       t         j                  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)r`   r   r   )r   r    rB   rC   r"   rß   Úbase_msgre   ÚvÚjÚj1Új2Új3s                r$   Ú	check_allz,TestUnique.test_unique_1d.<locals>.check_ally  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ã   r4   r   r   r   T©r  r   r  .)r  )r  r  g       @r\   )r   r   r   )r   r   r   r   )r   r   r   )r  y       @      ð¿y      ð?      ð?ç        )r   r   r   )r   r   r   r   r   )r   r   r   Únatz
2020-12-26z
2020-12-24ÚDÚhr   rÎ   )r   ÚmultiplyÚextendrÏ   rc   r   ÚemptyÚlenÚlistÚzipr   r   ÚcharÚ	chararrayÚzerosr   r,   Úintpr  ÚcomplexÚ
datetime64Útimedelta64)r   r  r   r    rB   rC   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_1dw  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Ð*>Ô?ò %ˆÚˆØ�1ˆv˜˜1�v  1˜vÐ&ˆÜ�A‹YˆÜ˜2˜sÔ#Ü˜A¨dÔ3‰
ˆˆFÜ˜2˜sÔ#Ü˜6 3Ô'ô �G‰G×Ñ˜aÓ ˆØˆˆ#‰Ü—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                 ó<  — t        t        | j                  t        «       t        t        | j                  dt        fdt        fg«       t        t
        t        t        j                  d«      d¬«       t        t
        t        t        j                  d«      d¬«       y )Nr   r    r=   r   ©Úaxiséþÿÿÿ)	r   ra   Ú_run_axis_testsrÞ   rÝ   r
   r   r   r+   )r   s    r$   Útest_unique_axis_errorsz"TestUnique.test_unique_axis_errors   sd   € Ü”i ×!5Ñ!5´vÔ>Ü”i ×!5Ñ!5ØœS�z C¬ =Ð1ô	3ô 	”i¤¬¯©°2«¸QÕ?Ü”i¤¬¯©°2«¸RÖ@r&   c                 óÎ   — d}g d¢g d¢g}t        j                  |«      }t        t        |d¬«      t        |d¬«      |«       t        t        |d¬«      t        |d¬«      |«       y )NzUnique failed on list of lists©r   r   r   r   rD  r   )r   rp   r   r   )r   re   Ú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=   r[   rV   r   FTr   rD  z"Negative zero equality test failedg       €r!  )r&  r   rÏ   rc   rÝ   ÚfloatrG  r+   r  r†   Úviewr…   r   r   r   )r   r2  r,   re   rÇ   rÔ   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&   rE  r   rV   c                 óh   — t        j                  g d¢«      }t        ||¬«      }t        |g d¢«       y )N)r   r   r   r   r   r   r   r   rD  r8   ©r   r   r   r   )r   rE  rx   Úuniqs       r$   Útest_unique_1d_with_axisz#TestUnique.test_unique_1d_with_axisE  s'   € ä�H‰HÒ-Ó.ˆÜ�a˜dÔ#ˆÜ˜4¢Õ.r&   )Nr   rV   c                 óô   — t        j                  g d¢g d¢g d¢g d¢g«      }t        |d|¬«      \  }}t        |j                  |€|j                  nd«       t        |t        j                  |||¬«      «       y )N)r   r   r   )r   r   r   T)r  rE  r   rD  )r   r   r   r   Úndimr   Útake)r   rE  rx   rT  r6  s        r$   Útest_unique_inverse_with_axisz(TestUnique.test_unique_inverse_with_axisK  sZ   € ä�H‰H’i¢ªI²yÐAÓBˆÜ˜1¨T¸Ô=‰	ˆˆcÜ�S—X‘X¨¨˜qŸvšv¸1Ô=Ü˜1œbŸg™g d¨C°dÔ;Õ<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   )rA   r,   r   T©rE  r  r  r  )r   r   )rA   r   r   )r   r   r   r   r   r   r   rD  )r   r'  r¾   r   r   r,   r   r   Úranger(  r)  )
r   Úsingle_zerorT  Úidxr6  ÚcntrA   Úmultiple_zerosrE  Úexpected_shapes
             r$   Útest_unique_axis_zerosz!TestUnique.test_unique_axis_zerosR  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   é?   re  r   r   r   r   r   r   re  r   r  r[   r   T)r  r  z6Unique returned different results when asked for index)r   r   ÚmaÚmasked_equalr   r   rÇ   Úmask)r   rx   ry   r  Úv2r  r"   re   s           r$   Útest_unique_maskedzTestUnique.test_unique_maskedv  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'ÚbhilqrV   r   rD  rS  )r   Úfmtrß   r   r    s        r$   Ú test_unique_sort_order_with_axisz+TestUnique.test_unique_sort_order_with_axisƒ  sP   € ð ;ˆØò 	/ˆBÜ—‘˜2˜$  ˜ bÓ)ˆAÜ—	‘	˜! !Ô$ˆAÜ˜q ! S¨2¡XÕ.ñ	/r&   c                 óŠ  — 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        t        j
                  ||d¬«      |«       d}t        |	t        j                  ddg«      |«       t	        |dddd¬«      \  }}}}	d}t        |d d …|f   |«       d}t        t        j
                  ||d¬«      |«       d}t        |	t        j                  g d¢«      |«       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 failedrD  z&Unique with 2d array and axis=1 failed)r   r   r   rJ  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   rX  )
r   r,   rÇ   re   rÔ   Údata3drT  r^  r6  r_  s
             r$   rG  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Ø?ˆÜœ2Ÿ7™7 4¨°1Ô5°tÔ<Ø>ˆÜ˜3¤§¡¨!¨Q¨Ó 0°#Ô6ä$ T°ÀØ48ÈôNÑˆˆc�3˜à=ˆÜ˜4¢ 3 ™<¨Ô.Ø?ˆÜœ2Ÿ7™7 4¨°1Ô5°tÔ<Ø>ˆÜ˜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   r5  Ú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&   c                 ó`  — t        j                  t         j                  dddddt         j                  ddg	«      }t        j                  |«      t        j                  |d¬«      ft        j
                  |«      t        j                  |dd¬«      ft        j                  |«      t        j                  |dd¬	«      ft        j                  |«      t        j                  |dddd¬
«      ffD ]>  \  }}t        |«      t        |«      k(  sJ ‚t        ||«      D ]  \  }}t        ||«       Œ Œ@ y )Nr   r   r   r   Frr  T)r  rs  )r  rs  )r  r  r  rs  )r   r   r  Úunique_valuesr   Úunique_countsÚunique_inverseÚ
unique_allr(  r*  r   )r   ÚarrÚres_unique_array_apiÚ
res_uniqueri   rd   s         r$   Útest_unique_array_api_functionsz*TestUnique.test_unique_array_api_functionsÀ  s  € Ü�h‰hœŸ™  1 a¨¨A¬r¯v©v°q¸!Ð<Ó=ˆô × Ñ  Ó%Ü—	‘	˜#¨Ô/ðô
 × Ñ  Ó%Ü—	‘	˜#¨T¸UÔCðô
 ×!Ñ! #Ó&Ü—	‘	˜#¨d¸eÔDðô
 —‘˜cÓ"Ü—	‘	ØØ!%Ø#'Ø"&Ø#ôð	ð1
ò 	5Ñ,Ð  *ô0 Ð+Ó,´°J³Ò?Ð?Ð?Ü$'Ð(<¸jÓ$Iò 5Ñ �˜Ü" 6¨8Õ4ñ5ñ3	5r&   c                 óœ  — t        j                  g d¢g d¢g«      }t        j                  |d¬«      \  }}|j                  |j                  «      }t         j
                  t         j                  fD ]Y  } ||«      }t        ||j                  «       t        ||j                  «       t        ||j                  |j                     «       Œ[ y )Nr4   )r   r   r   Tr   )
r   r   r   r†   rA   ry  rz  r   r  Úinverse_indices)r   r{  Úexpected_valuesÚexpected_inverseÚfuncrÔ   s         r$   Útest_unique_inverse_shapez$TestUnique.test_unique_inverse_shapeß  s¡   € ä�h‰hš	¢9Ð-Ó.ˆÜ,.¯I©I°cÈ$Ô,OÑ)ˆÐ)Ø+×3Ñ3°C·I±IÓ>ÐÜ×%Ñ%¤r§}¡}Ð4ò 	KˆDÙ˜#“YˆFÜ˜°·±Ô>ÜÐ/°×1GÑ1GÔHÜ˜s F§M¡M°&×2HÑ2HÑ$IÕJñ		Kr&   N)r/   r0   r1   rB  rH  rM  rQ  r²   r  r  rU  rY  rb  rj  rn  rG  ru  r~  r„  r2   r&   r$   r	  r	  u  s�   „ ògLòRAòNò>ð, ‡[�[×Ñ˜V a¨ WÓ-ñ/ó .ð/ð
 ‡[�[×Ñ˜V¢]Ó3ñ=ó 4ð=ò"?òH1ò/ò*:òXKò5ó>	Kr&   r	  )Ú__doc__Únumpyr   r   r   r   r   r   r   r	   Únumpy.exceptionsr
   Únumpy.testingr   r   r   r   r²   r   r	  r2   r&   r$   ú<module>r‰     sK   ðñó ÷÷ ñ õ '÷?ó ?ã ÷c	#ñ c	#÷LsKò sKr&   