+
    xȇiLj                     z   ^ RI Ht ^ RIHt ^ RIHt ^ RIt^ RIt^ RIt^ RI	t
^ RIt^ RIHt ^ RIt^ RIHt ^ RIHt ]R R l4       tR	 t]P0                  P3                  R
]P4                  ]
P6                  3]P8                  ]
P:                  3]P<                  ]
P>                  3]P@                  ]
PB                  3]PD                  ]
PF                  3]PH                  ]
PJ                  3]PL                  ]
PN                  3]PP                  ]
PR                  3]PT                  ]
PV                  3]PX                  ]
PZ                  3]P\                  ]
P^                  3]P`                  ]
Pb                  3]Pd                  ]
Pf                  3]Ph                  ]
Pj                  3.4       ! R R4      4       t6 ! R R4      t7 ! R R4      t8R t9R t:R t;R t<R t=R t>]P0                  P3                  R]?! ^^n^4      4      R 4       t@]P0                  P3                  R
]PD                  ]
PF                  3]PT                  ]
PV                  3]P8                  ]
P:                  3]PH                  ]
PJ                  3.4       ! R R4      4       tAR tBR tCR tD]P0                  P3                  R]
P6                  ]
P:                  ]
P>                  ]
PB                  ]
PF                  ]
PJ                  ]
PN                  ]
PR                  ]
PV                  ]
PZ                  ]
P^                  ]
Pb                  ]
Pf                  ]
Pj                  .4       ! R R 4      4       tER! tFR" tGR# tH]P0                  P3                  R]
PF                  ]
PV                  ]
P:                  ]
PJ                  .4       ! R$ R%4      4       tIR& tJR' tKR# )(    )
namedtuple	Generator)contextmanagerN)	hashtable)isinc                2    V ^8  d   QhR\         R,          /# )   return)NNNr   )formats   "p/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/libs/test_hashtable.py__annotate__r      s      y)9:     c               #      "   \         P                  ! 4         R x  \         P                  ! 4        R #   \         P                  ! 4        i ; i5iN)tracemallocstartstop r   r   activated_tracemallocr      s1     s   A4 AAAc                      \         P                  ! 4       p V P                  \         P                  ! R \        P
                  ! 4       4      34      p \        R V P                   4       4      # )Tc              3   8   "   T F  qP                   x  K  	  R # 5ir   )size).0xs   & r   	<genexpr>-get_allocated_khash_memory.<locals>.<genexpr>    s     /!vvs   )r   take_snapshotfilter_tracesDomainFilterhtget_hashtable_trace_domainsumtraces)snapshots    r   get_allocated_khash_memoryr&      sS    ((*H%%		!	!$(E(E(G	HJH /x///r   ztable_type, dtypec                      a  ] tR t^#t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR t]P"                  P%                  R]! ^^n^4      4      R 4       tRtV tR# )TestHashTablec                   ^pV! ^74      p\        V4      ^ 8X  g   Q hW49  g   Q hVP                  V^*4       \        V4      ^8X  g   Q hW49   g   Q hVP                  V4      ^*8X  g   Q hVP                  V^,           ^)4       W49   g   Q hV^,           V9   g   Q h\        V4      ^8X  g   Q hVP                  V4      ^*8X  g   Q hVP                  V^,           4      ^)8X  g   Q hVP                  V^4       W49   g   Q hV^,           V9   g   Q h\        V4      ^8X  g   Q hVP                  V4      ^8X  g   Q hVP                  V^,           4      ^)8X  g   Q hV^,           V9  g   Q hVP                  V^,           ^4       W49   g   Q hV^,           V9   g   Q h\        V4      ^8X  g   Q hVP                  V4      ^8X  g   Q hVP                  V^,           4      ^8X  g   Q h\        P                  ! \
        \        V^,           4      R7      ;_uu_ 4        VP                  V^,           4       RRR4       R#   + '       g   i     R# ; i)   matchN)lenset_itemget_itempytestraisesKeyErrorstrself
table_typedtypeindextables   &&&  r   test_get_set_contains_len'TestHashTable.test_get_set_contains_len7   s   25zQ!!!ub!5zQ~~~~e$***uqy"%~~qyE!!!5zQ~~e$***~~eai(B...ub!~~qyE!!!5zQ~~e$***~~eai(B...qy%%%uqy"%~~qyE!!!5zQ~~e$***~~eai(B...]]83uqy>::NN519% ;:::s   H77I	c                   V\         P                  8X  d   \        P                  ! R 4       ^pV! ^7RR7      p\	        V4      ^ 8X  g   Q hW49  g   Q hVP                  V^*4       \	        V4      ^8X  g   Q hW49   g   Q hVP                  V4      ^*8X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        VP                  4        RRR4       VP                  V^,           ^)4       VP                  ^)4       \        P                  V9   g   Q hW49   g   Q hV^,           V9   g   Q h\	        V4      ^8X  g   Q hVP                  V4      ^*8X  g   Q hVP                  V^,           4      ^)8X  g   Q hVP                  4       ^)8X  g   Q hVP                  ^4       W49   g   Q hV^,           V9   g   Q h\	        V4      ^8X  g   Q hVP                  V^,           4      ^)8X  g   Q hVP                  4       ^8X  g   Q hV^,           V9  g   Q h\        P                  ! \        \        V^,           4      R7      ;_uu_ 4        VP                  V^,           4       RRR4       R#   + '       g   i     EL; i  + '       g   i     R# ; i)Mask not supported for objectT	uses_maskNAr+   N)r!   PyObjectHashTabler0   skipr-   r.   r/   r1   r2   get_naset_napdr@   r3   r4   s   &&&  r   test_get_set_contains_len_mask,TestHashTable.test_get_set_contains_len_mask[   s   ---KK782.5zQ!!!ub!5zQ~~~~e$***]]8400LLN 1 	uqy"%Ruu~~~~qyE!!!5zQ~~e$***~~eai(B...||~###R~~qyE!!!5zQ~~eai(B...||~###qy%%%]]83uqy>::NN519% ;:+ 100* ;::s   :I$I8$I5	8J		c                   V\         P                  8X  d   ^MpV! 4       p\        P                  ! V4      P	                  V4      p\        P                  ! V4      P	                  \        P
                  4      V,           pW6P                  n        W7P                  n        VP                  Wg4       \        V4       F'  pVP                  Wh,          4      W,           8X  d   K'  Q h	  R# R# )M   N)r!   Int64HashTablenparangeastypeint64flags	writeablemap_keys_to_valuesranger/   )	r5   r6   r7   writableNr9   keysvalsis	   &&&&     r   test_map_keys_to_values%TestHashTable.test_map_keys_to_values   s    ***ALE99Q<&&u-D99Q<&&rxx014D#+JJ #+JJ $$T01X~~dg.!%777  +r   c                   ^pV! 4       p\         P                  ! V4      V,           P                  V4      pW6P                  n        VP                  V4       \        V4       F!  pVP                  Wg,          4      V8X  d   K!  Q h	  R# )   N)rK   rL   rM   rO   rP   map_locationsrR   r/   )r5   r6   r7   rS   rT   r9   rU   rW   s   &&&&    r   test_map_locations TestHashTable.test_map_locations   sj    		!q ((/'

D!qA>>$'*a/// r   c           
     4   V\         P                  8X  d   \        P                  ! R 4       ^pV! RR7      p\        P
                  ! V4      V,           P                  V4      pW6P                  n        \        P                  ! \        P                  ! RV^,
          4      R..^ R7      pVP                  Wg4       \        V^,
          4       F!  pVP                  Wh,          4      V8X  d   K!  Q h	  \        P                  ! \        \         P"                  ! \%        Wd^,
          ,          4      4      R7      ;_uu_ 4        VP                  Wd^,
          ,          4       RRR4       VP'                  4       V^,
          8X  g   Q hR#   + '       g   i     L0; i)r=   Tr>   F)axisr+   N)r!   rA   r0   rB   rK   rL   rM   rO   rP   concatenaterepeatr\   rR   r/   r1   r2   reescaper3   rC   )	r5   r6   r7   rS   rT   r9   rU   maskrW   s	   &&&&     r   test_map_locations_mask%TestHashTable.test_map_locations_mask   s   ---KK78T*		!q ((/'

~~ryyA6?aHD'q1uA>>$'*a///  ]]8299S!e5E+FGGNN4A;' H ||~Q&&& HGs    FF	c                   ^pV! 4       p\         P                  ! V4      V,           P                  V4      pW6P                  n        VP                  V4       VP                  V4      p\         P                  ! V4      p\        P                  ! VP                  \         P                  4      VP                  \         P                  4      4       R# )   N)
rK   rL   rM   rO   rP   r\   lookuptmassert_numpy_array_equalrN   )	r5   r6   r7   rS   rT   r9   rU   resultexpecteds	   &&&&     r   test_lookupTestHashTable.test_lookup   s    		!q ((/'

D!d#99Q<
##FMM"(($;X__RXX=VWr   c                   V\         P                  \         P                  39   d   ^dpMRpV! 4       p\         P                  ! V4      V,           P	                  V4      pVP                  V4       \         P                  ! V4      P	                  V4      pVP                  V4      p\         P                  ! VR8H  4      '       g   Q hR# )d   i   N)rK   int8uint8rL   rM   r\   rj   all)r5   r6   r7   rT   r9   rU   
wrong_keysrm   s   &&&     r   test_lookup_wrongTestHashTable.test_lookup_wrong   s    RWWbhh''AA		!q ((/D!YYq\((/
j)vvfl####r   c                   V\         P                  8X  d   \        P                  ! R 4       ^pV! RR7      p\        P
                  ! V4      V,           P                  V4      p\        P                  ! . RO4      pW6P                  n	        VP                  Wg4       VP                  Wg4      p\        P
                  ! V4      p	\        P                  ! VP                  \        P                  4      V	P                  \        P                  4      4       VP                  \        P                  ! ^V,           .4      P                  V4      \        P                  ! R.4      4      p\        P                  ! VP                  \        P                  4      \        P                  ! R.\        P                  R7      4       R# )r=   Tr>   Fr7   N)FTFrs   )r!   rA   r0   rB   rK   rL   rM   arrayrO   rP   r\   rj   rk   rl   rN   )
r5   r6   r7   rS   rT   r9   rU   re   rm   rn   s
   &&&&      r   test_lookup_maskTestHashTable.test_lookup_mask   s   ---KK78T*		!q ((/xx,-'

D'd)99Q<
##FMM"(($;X__RXX=VWbhhAw/66u=rxx?PQ
##MM"((#RXXrd"((%C	
r   c                \   V\         P                  \         P                  39   d   ^XpMRpV! 4       p\         P                  ! V4      V,           P	                  V4      p\         P
                  ! V^4      pW7P                  n        VP                  V4      p\        P                  ! W4       R# )X     N)rK   rt   ru   rL   rM   rb   rO   rP   uniquerk   rl   )	r5   r6   r7   rS   rT   r9   rn   rU   r   s	   &&&&     r   test_uniqueTestHashTable.test_unique   s{    RWWbhh''AAIIaL1$,,U3yy1%'

d#
##F5r   c                   V\         P                  \         P                  39   d   R pMRp\         P                  ! V4      P	                  V4      p\        4       ;_uu_ 4        V! 4       pVP                  V4       \        4       pVP                  4       pWg8X  g   Q h?\        4       ^ 8X  g   Q h RRR4       R#   + '       g   i     R# ; i)   i0u  N)	rK   rt   ru   rL   rM   r   r\   r&   sizeof)r5   r6   r7   rT   rU   r9   usedmy_sizes   &&&     r   test_tracemalloc_works$TestHashTable.test_tracemalloc_works   s    RWWbhh''AAyy|""5)"$$LE%-/DllnG?"?-/1444 %$$$s   "AB::C	c                    \        4       ;_uu_ 4        V! 4       p\        4       pVP                  4       pWE8X  g   Q h?\        4       ^ 8X  g   Q h RRR4       R#   + '       g   i     R# ; ir   N)r   r&   r   )r5   r6   r7   r9   r   r   s   &&&   r   test_tracemalloc_for_empty(TestHashTable.test_tracemalloc_for_empty   sR    "$$LE-/DllnG?"?-/1444 %$$$s   <AA+	c                    V! R 4      pVP                  4       pVR,          ^ 8X  g   Q hVR,          ^ 8X  g   Q hRV9   g   Q hRV9   g   Q hR# )r   r   
n_occupied	n_bucketsupper_boundN)	get_state)r5   r6   r7   r9   states   &&&  r   test_get_stateTestHashTable.test_get_state   sY    4 !V}!!!\"a'''e###%%%r   rT   c                X   \         P                  ! V4      P                  V4      pV! V4      pVP                  4       R ,          pVP	                  V4       VP                  4       R ,          pWg8X  g   Q hV! 4       pVP	                  V4       WhP                  4       R ,          8X  g   Q hR# r   N)rK   rL   rM   r   r\   )	r5   r6   r7   rT   rU   preallocated_tablen_buckets_startn_buckets_endclean_tables	   &&&&     r   test_no_reallocation"TestHashTable.test_no_reallocation   s    yy|""5)'],668E((.*446{C/// l!!$'"7"7"9+"FFFFr   r   N)__name__
__module____qualname____firstlineno__r:   rF   rX   r]   rf   ro   rx   r}   r   r   r   r   r0   markparametrizerR   r   __static_attributes____classdictcell____classdict__s   @r   r(   r(   #   st     ("&H"&H80'"X
$
$
655& [[S%3"23G 4Gr   r(   c                     a  ] tR tRt o R tR tR tR tR t]	P                  P                  R^ ^
.4      ]	P                  P                  R]P                  ]P                  R	R
3]P                  ]P                  R	R3]P                   ]P"                  RR
3]P$                  ]P&                  RR
3]P(                  ]P*                  RR
3]P,                  ]P.                  RR
3.4      R 4       4       t]	P                  P                  R]P                  ]P                  ]P                   ]P$                  ]P(                  ]P,                  .4      R 4       tRtV tR# )TestHashTableUnsortedi	  c                   \         P                  ! 4       pVP                  R ^4       VP                  R 4      ^8X  g   Q h\        P
                  ! \        RR7      ;_uu_ 4        VP                  ^^4       RRR4       \        P
                  ! \        RR7      ;_uu_ 4        VP                  ^4       RRR4       R#   + '       g   i     LP; i  + '       g   i     R# ; i)keyz'key' has incorrect typer+   Nz'val' has incorrect type)r!   StringHashTabler.   r/   r0   r1   	TypeError)r5   tbls   & r   (test_string_hashtable_set_item_signature>TestHashTableUnsorted.test_string_hashtable_set_item_signature  s      "UA||E"a''']]9,FGGLLA H ]]9,FGGLLO HG HG HGGs   $B?#C?C	C#	c           	     r   \         P                  ! R R\         P                  R^^^.4      pVP                  VR7       \        P
                  ! 4       pVP                  V4       \        P                  ! VP                  V4      \         P                  ! \        V4      \         P                  R7      4       R# )gX9v@gQ	@writer{   Ni)rK   r|   nansetflagsr!   Float64HashTabler\   rk   rl   rj   rL   r-   intpr5   rS   xsms   &&  r   test_lookup_nan%TestHashTableUnsorted.test_lookup_nan  sv    XXudBFFB1a89
(#!	
##AHHRL"))CG2772STr   c                    ^p\         P                  ! V4      pVP                  R^ 4       VP                  R^ 4       \        V4      ^8X  g   Q hR# )   g        Ng       )r!   r   r.   r-   )r5   rT   r   s   &  r   test_add_signed_zeros+TestHashTableUnsorted.test_add_signed_zeros   sE    
 "	

3	

41v{{r   c                   \         P                  ! R \         P                  ! RR4      4      ^ ,          p\         P                  ! R \         P                  ! RR4      4      ^ ,          pW8w  g   Q hW"8w  g   Q h\        P                  ! 4       pVP                  V^ 4       VP                  V^ 4       \        V4      ^8X  g   Q hR# )dz=Ql          l         N)structunpackpackr!   r   r.   r-   )r5   NAN1NAN2r   s   &   r   test_add_different_nans-TestHashTableUnsorted.test_add_different_nans+  s     }}S&++d4F"GHK}}S&++d4F"GHK|||| !	

4	

41v{{r   c                l   \         P                  ! . RO\         P                  R7      pVP                  VR7       \        P
                  ! 4       pVP                  V4       \        P                  ! VP                  V4      \         P                  ! \        V4      \         P                  R7      4       R# )   r{   r   N)r   r
   l            )rK   r|   uint64r   r!   UInt64HashTabler\   rk   rl   rj   rL   r-   r   r   s   &&  r   test_lookup_overflow*TestHashTableUnsorted.test_lookup_overflow9  si    XXm2995
(# 	
##AHHRL"))CG2772STr   nvalsz&htable, uniques, dtype, safely_resizesobjectFTfloat64rN   int32r   c                   \         P                  ! \        R 4      VR7      pVP                  VR7       V! 4       pV! 4       pVP	                  VRV V^ R4       VP                  4       pVP                  p	V'       d   VP	                  Ws^ R4       M@\        P                  ! \        RR7      ;_uu_ 4        VP	                  Ws^ R4       RRR4       VP                  4        VP                  V	8X  g   Q hR#   + '       g   i     L5; i)r   r{   r   Nzexternal reference.*r+   rs   )
rK   r|   rR   r   
get_labelsto_arrayshaper0   r1   
ValueError)
r5   rS   htableuniquesr7   safely_resizesr   rV   tmpoldshapes
   &&&&&&&   r   test_vector_resize(TestHashTableUnsorted.test_vector_resizeA  s    & xxd51 	H%
 ) 	$v,B7 99 dQ3z1GHH!!$B7 I 	yyH$$$	 IHs   5C66D	r   c                    \         P                  ! \         P                  4      P                  ^,           pV! VR7       R# )r   )	size_hintN)rK   iinfouint32max)r5   r   r   s   && r   test_hashtable_large_sizehint3TestHashTableUnsorted.test_hashtable_large_sizehintp  s)     HHRYY'++a/	I&r   r   N)r   r   r   r   r   r   r   r   r   r0   r   r   r!   rA   ObjectVectorr   r   Float64VectorrJ   Int64VectorInt32HashTableInt32Vectorr   UInt64Vectorr   r   r   r   r   s   @r   r   r   	  sP    U	U [[Wq"g.[[0!!2??HeD(DA  ""2"2IuE??(EB	

!%
 /!%F [[  	

'
'r   r   c                   P   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )TestPyObjectHashTableWithNansi  c                    \        R 4      p\        R 4      pWJg   Q h\        P                  ! 4       pVP                  V^*4       VP	                  V4      ^*8X  g   Q hR# r   Nfloatr!   rA   r.   r/   r5   nan1nan2r9   s   &   r   test_nan_float,TestPyObjectHashTableWithNans.test_nan_float  sS    U|U|$$&tR ~~d#r)))r   c                
   \        \        R 4      \        R 4      4      p\        \        R 4      \        R 4      4      pWJg   Q h\        P                  ! 4       pVP	                  V^*4       VP                  V4      ^*8X  g   Q hR# r   )complexr   r!   rA   r.   r/   r   s   &   r   test_nan_complex_both3TestPyObjectHashTableWithNans.test_nan_complex_both  si    uU|U5\2uU|U5\2$$&tR ~~d#r)))r   c                   \        \        R 4      ^4      p\        \        R 4      ^4      p\        \        R 4      ^4      pWJg   Q h\        P                  ! 4       pVP	                  V^*4       VP                  V4      ^*8X  g   Q h\        P                  ! \        \        P                  ! \        V4      4      R7      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     R# ; i)r   r+   Nr   r   r!   rA   r.   r/   r0   r1   r2   rc   rd   reprr5   r   r   otherr9   s   &    r   test_nan_complex_real3TestPyObjectHashTableWithNans.test_nan_complex_real  s    uU|Q'uU|Q'ea($$&tR ~~d#r)))]]8299T%[+ABBNN5! CBBB   C##C4	c                   \        ^\        R4      4      p\        ^\        R4      4      p\        ^\        R4      4      pWJg   Q h\        P                  ! 4       pVP	                  V^*4       VP                  V4      ^*8X  g   Q h\        P                  ! \        \        P                  ! \        V4      4      R7      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     R# ; i)r   r   r+   Nr   r  s   &    r   test_nan_complex_imag3TestPyObjectHashTableWithNans.test_nan_complex_imag  s    q%,'q%,'5<($$&tR ~~d#r)))]]8299T%[+ABBNN5! CBBBr  c                    \        R 4      3p\        R 4      3pV^ ,          V^ ,          Jg   Q h\        P                  ! 4       pVP                  V^*4       VP	                  V4      ^*8X  g   Q hR# r   r   r   s   &   r   test_nan_in_tuple/TestPyObjectHashTableWithNans.test_nan_in_tuple  sa    eeAwd1g%%%$$&tR ~~d#r)))r   c                   ^^\        R4      333p^^\        R4      333pRp\        P                  ! 4       pVP                  V^*4       VP	                  V4      ^*8X  g   Q h\
        P                  ! \        \        P                  ! \        V4      4      R7      ;_uu_ 4        VP	                  V4       RRR4       R#   + '       g   i     R# ; i)r   r   r+   N)r   r
   )r   r!   rA   r.   r/   r0   r1   r2   rc   rd   r   r  s   &    r   test_nan_in_nested_tuple6TestPyObjectHashTableWithNans.test_nan_in_nested_tuple  s    Ae'(Ae'($$&tR ~~d#r)))]]8299T%[+ABBNN5! CBBBs   #B??C	c                   \        R R.4      pV! \        R4      4      pV! \        R4      4      pVP                  VP                  Jg   Q h\        P                  ! 4       pVP                  V^*4       VP                  V4      ^*8X  g   Q hR# )Tr   r   N)r   r   r   r!   rA   r.   r/   )r5   r  r   r   r9   s   &    r   test_nan_in_namedtuple4TestPyObjectHashTableWithNans.test_nan_in_namedtuple  ss    sSE"uuvvTVV###$$&tR ~~d#r)))r   c                   \        R RR.4      pV! ^^\        R4      334      pV! ^^\        R4      334      pV! ^^4      p\        P                  ! 4       pVP	                  V^*4       VP                  V4      ^*8X  g   Q h\        P                  ! \        \        P                  ! \        V4      4      R7      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     R# ; i)r  r   yr   r+   N)r   r   r!   rA   r.   r/   r0   r1   r2   rc   rd   r   )r5   r  r   r   r  r9   s   &     r   test_nan_in_nested_namedtuple;TestPyObjectHashTableWithNans.test_nan_in_nested_namedtuple  s    sS#J'Qu()Qu()!Q$$&tR ~~d#r)))]]8299T%[+ABBNN5! CBBBs   CC/	r   N)r   r   r   r   r   r   r  r  r
  r  r  r  r   r   r   s   @r   r   r     s2     **	"	"*"*	" 	"r   r   c                  (   \        R 4      \        R 4      \        R 4      33p \        R 4      \        R 4      \        R 4      33p\        P                  ! V 4      \        P                  ! V4      8X  g   Q h\        P                  ! W4      '       g   Q hR# r   )r   r!   object_hashobjects_are_equal)abs     r   test_hash_equal_tuple_with_nansr    so    	ueeEl34A	ueeEl34A>>!q 1111%%%%r   c                  X   \        R RR.4      p V ! \        R4      \        R4      \        R4      34      pV ! \        R4      \        R4      \        R4      34      p\        P                  ! V4      \        P                  ! V4      8X  g   Q h\        P                  ! W4      '       g   Q hR# )r  r   r  r   N)r   r   r!   r  r  r  r  r  s      r   $test_hash_equal_namedtuple_with_nansr    s    3c
#A	%,uuU|45A	%,uuU|45A>>!q 1111%%%%r   c                      \        R RR.4      p V ! ^R4      pRp\        P                  ! V4      \        P                  ! V4      8X  g   Q h\        P                  ! W4      '       g   Q hR# )r  r   r  Nr
   ri   )r   r!  )r   r!   r  r  r  s      r   $test_hash_equal_namedtuple_and_tupler"    sY    3c
#A	!VAA>>!q 1111%%%%r   c                    \         P                  ! 4       p\        P                  ! . RO\        P                  R7      pWP
                  n        VP                  V4      w  r4\        P                  ! . RO\        P                  R7      p\        P                  ! ^^.\        P                  R7      p\        P                  ! W54       \        P                  ! WF4       R# )r   r{   N)r   r
   rs   r
   r   rs   )r   r   rs   r   r   rs   )r!   rJ   rK   r|   rN   rO   rP   get_labels_groupbyr   rk   rl   )rS   r9   rV   arrr   expected_arrexpected_uniques   &      r   !test_get_labels_groupby_for_Int64r(    s    E88(9D#JJ**40KC880@Lhh1vRXX6O28r   c                     R p \         P                  ! V 4      P                  \         P                  4      P                  \         P                  4      p\        4       ;_uu_ 4        \        P                  ! 4       pVP                  V4       \        4       pVP                  4       pW48X  g   Q h?\        4       ^ 8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r   N)rK   rL   rM   str_object_r   r!   r   r\   r&   r   )rT   rU   r9   r   r   s        r   *test_tracemalloc_works_for_StringHashTabler,    s    A99Q<rww'..rzz:D		 	 ""$D!)+,,.)+q000 
!	 	 	 s   %ACC	c                      \        4       ;_uu_ 4        \        P                  ! 4       p \        4       pV P	                  4       pW8X  g   Q h? \        4       ^ 8X  g   Q h RRR4       R#   + '       g   i     R# ; ir   )r   r!   r   r&   r   )r9   r   r   s      r   *test_tracemalloc_for_empty_StringHashTabler.    sY    		 	 ""$)+,,.)+q000 
!	 	 	 s   A
A((A9	rT   c                    \         P                  ! V 4      P                  \         P                  4      P                  \         P                  4      p\
        P                  ! V 4      pVP                  4       R ,          pVP                  V4       VP                  4       R ,          pW48X  g   Q h\
        P                  ! 4       pVP                  V4       W5P                  4       R ,          8X  g   Q hR# r   )	rK   rL   rM   r*  r+  r!   r   r   r\   )rT   rU   r   r   r   r   s   &     r   $test_no_reallocation_StringHashTabler0    s    99Q<rww'..rzz:D++A.(224[AO$$T*&002;?M+++$$&Kd#335kBBBBr   c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestHashTableWithNansi  c                J   \        R 4      pV! 4       pW49  g   Q hVP                  V^*4       \        V4      ^8X  g   Q hW49   g   Q hVP                  V4      ^*8X  g   Q hVP                  V^)4       \        V4      ^8X  g   Q hW49   g   Q hVP                  V4      ^)8X  g   Q hR# r   )r   r.   r-   r/   r4   s   &&&  r   r:   /TestHashTableWithNans.test_get_set_contains_len!  s    e!!!ub!5zQ~~~~e$***ub!5zQ~~~~e$***r   c                   ^
pV! 4       p\         P                  ! V\         P                  VR7      pVP                  V4       \	        V4      ^8X  g   Q hVP                  \         P                  4      V^,
          8X  g   Q hR# )
   r{   N)rK   fullr   r\   r-   r/   )r5   r6   r7   rT   r9   rU   s   &&&   r   r]   (TestHashTableWithNans.test_map_locations0  sa    wwq"&&.D!5zQ~~bff%Q...r   c                   R pV! 4       p\         P                  ! V\         P                  VR7      pVP                  V4      p\         P                  ! \         P
                  ! V4      4      '       d   \        V4      ^8X  g   Q hR# )i  r{   N)rK   r7  r   r   rv   isnanr-   )r5   r6   r7   rT   r9   rU   r   s   &&&    r   r   !TestHashTableWithNans.test_unique8  s^    wwq"&&.d#vvbhhv&''CK1,<<<,<r   r   N)	r   r   r   r   r:   r]   r   r   r   r   s   @r   r2  r2    s     +/= =r   r2  c                     \         P                  ! 4       p \        P                  ! \	        ^24       Uu. uF  p\        R4      NK  	  up\        P                  R7      pV P                  V4      p\        V4      ^8X  g   Q hR# u upi )2   r   r{   N	r!   rA   rK   r|   rR   r   r+  r   r-   r9   rW   rU   r   s       r   "test_unique_for_nan_objects_floatsr@  @  s`      "E885959aU5\95RZZHD\\$Fv;! 6s   Bc            
      $   \         P                  ! 4       p \        P                  ! \	        ^24       Uu. uF  p\        \        R4      R4      NK  	  up\        P                  R7      pV P                  V4      p\        V4      ^8X  g   Q hR# u upi )r=  r         ?r{   N)
r!   rA   rK   r|   rR   r   r   r+  r   r-   r?  s       r   #test_unique_for_nan_objects_complexrC  G  sh      "E88rCAWU5\3/C2::VD\\$Fv;! Ds   Bc            
      (   \         P                  ! 4       p \        P                  ! ^.\	        ^24       Uu. uF  pR\        R4      R33NK  	  up,           \        P                  R7      pV P                  V4      p\        V4      ^8X  g   Q hR# u upi )r   rB  r   r{   Nr>  r?  s       r   !test_unique_for_nan_objects_tuplerE  N  sv      "E88	
59=9aeElC()9==RZZD \\$Fv;! >s   B
r7   c                   P   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )TestHelpFunctionsiW  c                |   ^+p\         P                  ! V4      V,           P                  V4      p\         P                  ! V^4      pW%P                  n        \        P                  ! VR4      w  rgp\        P                  ! \         P                  ! V4      V4       \         P                  ! V^8H  4      '       g   Q hR# )+   FN)rK   rL   rM   rb   rO   rP   r!   value_countrk   rl   sortrv   )	r5   r7   rS   rT   rn   valuesrU   counts_s	   &&&      r   test_value_count"TestHelpFunctions.test_value_countk  s    IIaL1$,,U38Q'!)..7a
##BGGDM8<vvfk""""r   c                j   V\         P                  8X  d   \        P                  ! R 4       \         P                  ! ^.^,          VR7      p\         P
                  ! R\         P                  R7      pRV^&   RV^&   \        P                  ! VRVR7      w  rEp\        V4      ^8X  g   Q hV^8X  g   Q hR# )z%mask not implemented for object dtyper{   TF)re   N)r*   )
rK   r+  r0   rB   r|   zerosbool_r!   rJ  r-   )r5   r7   rL  re   rU   rM  
na_counters   &&     r   test_value_count_mask'TestHelpFunctions.test_value_count_maskt  s    BJJKK?@1#'/xxBHH-QQ#%>>&%d#K j4yA~~Qr   c                   \         P                  ! . RO4      P                  V4      pW#P                  n        \
        P                  ! VR4      w  rEp\        P                  ! WC4       \         P                  ! V^8H  4      '       g   Q hR# r
   FN)r
   r   r*      ri   rs   r[   )
rK   r|   rM   rO   rP   r!   rJ  rk   rl   rv   )r5   r7   rS   rL  rU   rM  rN  s   &&&    r   test_value_count_stable)TestHelpFunctions.test_value_count_stable  sa    1299%@!)..7a
##D1vvfk""""r   c                L   ^dp\         P                  ! \         P                  ! V4      P                  V4      ^4      pW$P                  n        \        P                  ! V4      p\         P                  ! V\         P                  R7      pRVR&   \        P                  ! WV4       R# )rr   r{   F:NNr*   N)rK   rb   rL   rM   rO   rP   r!   
duplicated	ones_likerS  rk   rl   )r5   r7   rS   rT   rL  rm   rn   s   &&&    r   test_duplicated_first'TestHelpFunctions.test_duplicated_first  sm    299Q<..u5q9!)v&<<bhh7
##F5r   c                   ^p\         P                  ! V4      P                  V4      p\         P                  ! V4      P                  V4      pW$P                  n        W%P                  n        \
        P                  ! WE4      p\         P                  ! V\         P                  R7      p\        P                  ! Wg4       R# )   r{   N)rK   rL   rM   rO   rP   r!   ismemberr^  rS  rk   rl   )r5   r7   rS   rT   r%  rL  rm   rn   s   &&&     r   test_ismember_yes#TestHelpFunctions.test_ismember_yes  s{    iil!!%(1$$U+&		!)S)<<bhh7
##F5r   c                P   ^p\         P                  ! V4      P                  V4      p\         P                  ! V4      V,           P                  V4      p\        P                  ! W44      p\         P
                  ! V\         P                  R7      p\        P                  ! WV4       R# )   r{   N)	rK   rL   rM   r!   rc  
zeros_likerS  rk   rl   )r5   r7   rT   r%  rL  rm   rn   s   &&     r   test_ismember_no"TestHelpFunctions.test_ismember_no  sl    iil!!%())A,"**51S)==rxx8
##F5r   c                F   V\         P                  \         P                  39   d   ^5pMRp\         P                  ! \         P                  ! V4      P                  V4      ^4      p^*V^ &   W$P                  n        \        P                  ! VR4      ^ ,          pV^*8X  g   Q hR# )5   ig+  FN)
rK   rt   ru   rb   rL   rM   rO   rP   r!   mode)r5   r7   rS   rT   rL  rm   s   &&&   r   	test_modeTestHelpFunctions.test_mode  sx    RWWbhh''AA299Q<..u5q9q	!)'*||r   c                    \         P                  ! . RO4      P                  V4      pW#P                  n        \
        P                  ! VR4      ^ ,          p\        P                  ! WC4       R# rX  )	rK   r|   rM   rO   rP   r!   rm  rk   rl   )r5   r7   rS   rL  rU   s   &&&  r   test_mode_stable"TestHelpFunctions.test_mode_stable  sI    1299%@!)wwvu%a(
##D1r   r   N)r   r   r   r   rO  rU  rZ  r_  rd  ri  rn  rq  r   r   r   s   @r   rG  rG  W  s2     (#	#666	2 2r   rG  c                  D   \         P                  \        P                  \         P                  R .p \        P
                  ! R.V ^,          ,           \        P                  R7      p\        P                  ! VR4      ^ ,          pVP                  \        V 4      8X  g   Q hR # )NTr{   F)rE   r@   rK   r   NaTr|   r+  r!   rm  r   r-   )nullsrL  modess      r   test_modes_with_nansrw    sf    UUBFFBFFD)EXXtfuqy(

;FGGFE"1%E::U###r   c                    \         P                  ! . RO\         P                  R7      pWP                  n        \
        P                  ! V4      p\         P                  ! . RO\         P                  R7      p\        P                  ! W#4       R# )r   r{   N)r   r
   r
   r
   r   ri   )r   r   r*   )	rK   r|   r   rO   rP   r!   unique_label_indicesrk   rl   )rS   rU   rm   rn   s   &   r   test_unique_label_indices_intprz    sS    88&bgg6D#JJ$$T*Fxx	1H1r   c                  X   \         P                  P                  ^4      P                  ^RR4      P	                  \         P
                  4      p \        P                  ! V 4      p\         P                  ! V RR7      ^,          p\        P                  ! WRR7       R	V \         P                  P                  ^4      P                  \        V 4      ^
4      &   \        P                  ! V 4      p\         P                  ! V RR7      ^,          R,          p\        P                  ! WRR7       R# )
r
   T)return_indexF)check_dtype:r   NNNi   i   rs   )rK   randomdefault_rngintegersrM   r   r!   ry  r   rk   rl   choicer-   )r  leftrights      r   test_unique_label_indicesr    s    
		a ))!Wg>EEbggNA""1%DIIad+A.E?57AbiiA%%c!fb12""1%DIIad+A.r2E?r   c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	TestHelpFunctionsWithNansi  c                   \         P                  ! \         P                  \         P                  \         P                  .VR 7      p\        P                  ! VR4      w  r4p\        V4      ^ 8X  g   Q h\        P                  ! VR4      w  r4p\        V4      ^8X  d1   \         P                  ! \         P                  ! V4      4      '       g   Q hV^ ,          ^8X  g   Q hR# )r{   TFN)rK   r|   r   r!   rJ  r-   rv   r:  )r5   r7   rL  rU   rM  rN  s   &&    r   rO  *TestHelpFunctionsWithNans.test_value_count  s    2662662662%@..6a4yA~~..7a4yA~"&&$"8"888ayA~~r   c                   \         P                  ! \         P                  \         P                  \         P                  .VR 7      p\        P                  ! V4      p\         P                  ! . RO4      p\
        P                  ! W44       R# )r{   N)FTT)rK   r|   r   r!   r]  rk   rl   )r5   r7   rL  rm   rn   s   &&   r   r_  /TestHelpFunctionsWithNans.test_duplicated_first  sP    2662662662%@v&88/0
##F5r   c                   \         P                  ! \         P                  \         P                  \         P                  .VR 7      p\         P                  ! \         P                  \         P                  .VR 7      p\        P                  ! W#4      p\         P                  ! . RO\         P
                  R 7      p\        P                  ! WE4       R# )r{   N)TTTrK   r|   r   r!   rc  rS  rk   rl   r5   r7   r%  rL  rm   rn   s   &&    r   rd  +TestHelpFunctionsWithNans.test_ismember_yes  ss    hh/u=266266*%8S)88.bhh?
##F5r   c                j   \         P                  ! \         P                  \         P                  \         P                  .VR 7      p\         P                  ! ^.VR 7      p\        P                  ! W#4      p\         P                  ! . RO\         P
                  R 7      p\        P                  ! WE4       R# )r{   N)FFFr  r  s   &&    r   ri  *TestHelpFunctionsWithNans.test_ismember_no  sh    hh/u=1#U+S)881B
##F5r   c                P   \         P                  ! ^*\         P                  \         P                  \         P                  .VR7      p\        P                  ! VR4      ^ ,          ^*8X  g   Q h\         P
                  ! \        P                  ! VR4      ^ ,          4      '       g   Q hR# )*   r{   TFN)rK   r|   r   r!   rm  r:  )r5   r7   rL  s   && r   rn  #TestHelpFunctionsWithNans.test_mode  sj    2rvvrvvrvv6eDwwvt$Q'2---xx.q12222r   r   N)r   r   r   r   rO  r_  rd  ri  rn  r   r   r   s   @r   r  r    s#     6663 3r   r  c                     \         P                  ! ^\        R7      p R\        R4      3R.V R&   R\        R4      3.p\	        W4      p\         P
                  ! RR.\         P                  R7      p\        P                  ! W#4       R# )	r
   r{   r  r   :NNNTFN)r  r   )	rK   emptyr   r   r   r|   rS  rk   rl   rL  compsrm   rn   s       r   test_ismember_tuple_with_nansr    sj    XXav&FuU|$h/F1I5< !E& FxxuRXX6H1r   c                  &   . ROp \        \        ^4      4      p\        \        P                  ! V \
        R7      \        P                  ! V4      4      p\        P                  ! . RO\        P                  R7      p\        P                  ! W#4       R# )r  r{   N)r  r*   g      @y      @        )FTTT)
listrR   r   rK   r|   r   asarrayrS  rk   rl   r  s       r   +test_float_complex_int_are_equal_as_objectsr  	  sX    $FsE"((60"**U2CDFxx1BH1r   )Lcollectionsr   collections.abcr   
contextlibr   rc   r   r   numpyrK   r0   pandas._libsr   r!   pandasrE   pandas._testing_testingrk   pandas.core.algorithmsr   r   r&   r   r   rA   r+  Complex128HashTable
complex128rJ   rN   r   r   r   r   Complex64HashTable	complex64r   r   UInt32HashTabler   Float32HashTablefloat32Int16HashTableint16UInt16HashTableuint16Int8HashTablert   UInt8HashTableru   IntpHashTabler   r(   r   r   r  r  r"  r(  r,  r.  rR   r0  r2  r@  rC  rE  rG  rw  rz  r  r  r  r  r   r   r   <module>r     sb   " % % 	     (   '  0 			rzz*			/			BHH%			RYY'			bjj)			-			BHH%			RYY'			bjj)			BHH%			RYY'			277#			BHH%			277#&PG PG'&PGfu' u'pK" K"\&&&9
11 eAsA./C 0C 			bjj)			bjj)			/			-	= ==@ 





		





		




		


&G2 G2'&G2T$2@ 







	 3  3 3F22r   