Ë
    ¤ehÔ%  ã                   ó
  — d dl Zd dlZd dlmZ d dlmZmZmZ d dl	m
Z ej                  j                  Zd„ Zd„ Zej                  j#                  d«      ej                  j%                  ddd	g«      ej                  j%                  d
ddg«      ej                  j%                  ddd	g«      d„ «       «       «       «       Zej                  j#                  d«      ej                  j%                  ddd	g«      ej                  j%                  d
ddg«      d„ «       «       «       Zd„ Zej                  j%                  dddgdddgddœg«      d„ «       Zd„ Zd„ Zd„ Zej                  j#                  d«      d„ «       Zd„ Zd„ Zd„ Zy)é    N)ÚNumbaUtilError)Ú	DataFrameÚSeriesÚoption_contextc                  ó®  — t        j                  d«       d„ } t        g d¢g d¢dœddg¬«      }t        j                  t        d	¬
«      5  |j                  d«      j                  | d¬«       d d d «       t        j                  t        d	¬
«      5  |j                  d«      d   j                  | d¬«       d d d «       y # 1 sw Y   ŒSxY w# 1 sw Y   y xY w)NÚnumbac                 ó   — | dz   S ©Né   © ©Úxs    úg/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/groupby/transform/test_numba.pyÚincorrect_functionz;test_correct_function_signature.<locals>.incorrect_function   s   € Ø�1‰uˆó    ©Úar   Úbr   r   ©ç      ð?ç       @g      @g      @g      @©ÚkeyÚdatar   r   ©ÚcolumnszThe first 2©Úmatch©Úengine©ÚpytestÚimportorskipr   Úraisesr   ÚgroupbyÚ	transform©r   r   s     r   Útest_correct_function_signaturer(      sÈ   € Ü
×Ñ˜Ô òô Ú)Ò3LÑMØ˜�ô€Dô 
�‰”~¨]Ô	;ñ JØ�‰�UÓ×%Ñ%Ð&8ÀÐ%ÔI÷Jô 
�‰”~¨]Ô	;ñ RØ�‰�UÓ˜FÑ#×-Ñ-Ð.@ÈÐ-ÔQ÷Rð R÷Jð Jú÷Rð Rús   Á
#B?Â&CÂ?CÃCc                  ó²  — t        j                  d«       d„ } t        g d¢g d¢dœddg¬«      }t        j                  t        d	¬
«      5  |j                  d«      j                  | dd¬«       d d d «       t        j                  t        d	¬
«      5  |j                  d«      d   j                  | dd¬«       d d d «       y # 1 sw Y   ŒTxY w# 1 sw Y   y xY w)Nr   c                 ó   — | dz   S r
   r   ©ÚvaluesÚindexs     r   r   z6test_check_nopython_kwargs.<locals>.incorrect_function$   ó   € Ø˜‰zÐr   r   r   r   r   r   r   znumba does not supportr   r   )r    r   r!   r'   s     r   Útest_check_nopython_kwargsr/   !   sÏ   € Ü
×Ñ˜Ô òô Ú)Ò3LÑMØ˜�ô€Dô 
�‰”~Ð-EÔ	Fñ OØ�‰�UÓ×%Ñ%Ð&8ÀÈAÐ%ÔN÷Oô 
�‰”~Ð-EÔ	Fñ WØ�‰�UÓ˜FÑ#×-Ñ-Ð.@ÈÐTUÐ-ÔV÷Wð W÷Oð Oú÷Wð Wús   Á
$CÂ'CÃC
ÃCÚignoreÚjitTFÚ
pandas_objr   r   Úas_indexc                 óP  — t        j                  d«       d„ }| rdd l}|j                  |«      }t	        g d¢g d¢dœddg¬«      }|||d	œ}	|j                  d|¬
«      }
|dk(  r|
d   }
|
j                  |d|	¬«      }|
j                  d„ d¬«      }t        j                  ||«       y )Nr   c                 ó   — | dz   S r
   r   r+   s     r   Úfuncz"test_numba_vs_cython.<locals>.func:   r.   r   r   r   r   ©r   r   r   r   ©ÚnogilÚparallelÚnopython)r3   r   ©r    Úengine_kwargsc                 ó   — | dz   S r
   r   r   s    r   ú<lambda>z&test_numba_vs_cython.<locals>.<lambda>L   ó
   € ¨1¨q©5€ r   Úcythonr   ©	r"   r#   r   r1   r   r%   r&   ÚtmÚassert_equal)r1   r2   r9   r:   r;   r3   r6   r   r   r=   ÚgroupedÚresultÚexpecteds                r   Útest_numba_vs_cythonrH   2   s±   € ô ×Ñ˜Ô òñ ãà�y‰y˜‹ˆäÚ%Ò*CÑDÈqÐRSÈfô€Dð $°ÀxÑP€MØ�l‰l˜1 xˆlÓ0€GØ�XÒØ˜!‘*ˆà×Ñ˜t¨GÀ=ÐÓQ€FØ× Ñ ¡¸Ð ÓB€Hä‡O�O�F˜HÕ%r   c                 ól  — t        j                  d«       d„ }d„ }| r&dd l}|j                  |«      }|j                  |«      }t	        g d¢g d¢dœddg¬	«      }|||d
œ}	|j                  d«      }
|dk(  r|
d   }
|
j                  |d|	¬«      }|
j                  d„ d¬«      }t        j                  ||«       |
j                  |d|	¬«      }|
j                  d„ d¬«      }t        j                  ||«       |
j                  |d|	¬«      }|
j                  d„ d¬«      }t        j                  ||«       y )Nr   c                 ó   — | dz   S r
   r   r+   s     r   Úfunc_1ztest_cache.<locals>.func_1Y   r.   r   c                 ó   — | dz  S ©Né   r   r+   s     r   Úfunc_2ztest_cache.<locals>.func_2\   r.   r   r   r   r   r7   r   r   r8   r   r<   c                 ó   — | dz   S r
   r   r   s    r   r?   ztest_cache.<locals>.<lambda>n   r@   r   rA   r   c                 ó   — | dz  S rM   r   r   s    r   r?   ztest_cache.<locals>.<lambda>r   r@   r   c                 ó   — | dz   S r
   r   r   s    r   r?   ztest_cache.<locals>.<lambda>w   r@   r   rB   )r1   r2   r9   r:   r;   rK   rO   r   r   r=   rE   rF   rG   s                r   Ú
test_cacherS   Q   s6  € ô ×Ñ˜Ô òòñ Ûà—‘˜6Ó"ˆØ—‘˜6Ó"ˆäÚ%Ò*CÑDÈqÐRSÈfô€Dð $°ÀxÑP€MØ�l‰l˜1‹o€GØ�XÒØ˜!‘*ˆà×Ñ˜v¨gÀ]ÐÓS€FØ× Ñ ¡¸Ð ÓB€HÜ‡O�O�F˜HÔ%à×Ñ˜v¨gÀ]ÐÓS€FØ× Ñ ¡¸Ð ÓB€HÜ‡O�O�F˜HÔ%ð ×Ñ˜v¨gÀ]ÐÓS€FØ× Ñ ¡¸Ð ÓB€HÜ‡O�O�F˜HÕ%r   c                  ó<  — t        j                  d«       d„ } t        g d¢g d¢dœddg¬«      }|j                  d«      }|j	                  | d¬	«      }t        d
d«      5  |j	                  | d ¬	«      }d d d «       t        j                  |«       y # 1 sw Y   Œ xY w)Nr   c                 ó   — | dz   S r
   r   r+   s     r   rK   z&test_use_global_config.<locals>.func_1~   r.   r   r   r   r7   r   r   r   r   zcompute.use_numbaT)r"   r#   r   r%   r&   r   rC   Úassert_frame_equal)rK   r   rE   rG   rF   s        r   Útest_use_global_configrW   {   sš   € Ü
×Ñ˜Ô òô Ú%Ò*CÑDÈqÐRSÈfô€Dð �l‰l˜1‹o€GØ× Ñ  °Ð Ó8€HÜ	Ð+¨TÓ	2ñ 8Ø×"Ñ" 6°$Ð"Ó7ˆ÷8ä×Ñ˜( FÕ+÷8ð 8ús   ÁBÂBÚagg_funcÚminÚmaxÚsum)ÚBÚCc                 ó’  — t        j                  d«       |\  } }t        g d¢g d¢dœddg¬«      }|j                  d«      } |j                  | fddi|¤Ž} |j                  | fdd	i|¤Ž}t        j                  ||«        |d   j                  | fddi|¤Ž} |d   j                  | fdd	i|¤Ž}t        j                  ||«       y )
Nr   r   r   r7   r   r   r   r    rA   )r"   r#   r   r%   r&   rC   rV   Úassert_series_equal)rX   Únumba_supported_reductionsÚkwargsr   rE   rF   rG   s          r   Útest_string_cython_vs_numbarb   Œ   sÝ   € ô ×Ñ˜Ô Ø1Ñ€HˆfÜÚ%Ò*CÑDÈqÐRSÈfô€Dð �l‰l˜1‹o€GàˆW×Ñ˜xÑB°ÐB¸6ÑB€FØ ˆw× Ñ  ÑE°(ÐE¸fÑE€HÜ×Ñ˜& (Ô+à!ˆW�Q‰Z×!Ñ! (ÑE°7ÐE¸fÑE€FØ#ˆw�q‰z×#Ñ# HÑH°XÐHÀÑH€HÜ×Ñ˜6 8Õ,r   c                  ól  — t        j                  d«       d„ } t        g d¢g d¢dœ«      }|j                  d«      d   }|j	                  | dd¬	«      }t        d
gdz  d¬«      }t        j                  ||«       |j	                  | dd¬	«      }t        dgdz  d¬«      }t        j                  ||«       y )Nr   c                 ó*   — | | d  j                  «       S ©N)r[   )r,   r-   Úns      r   Úsum_lastz&test_args_not_cached.<locals>.sum_last¤   s   € Ø�q�b�cˆ{�‰Ó Ð r   )r   r   r   r   )r   r   r   r   )Úidr   rh   r   r   r   r   é   )Únameé   r   )r"   r#   r   r%   r&   r   rC   r_   )rg   ÚdfÚ	grouped_xrF   rG   s        r   Útest_args_not_cachedrn       s«   € ä
×Ñ˜Ô ò!ô 
š,ª\Ñ:Ó	;€BØ—
‘
˜4Ó  Ñ%€IØ× Ñ  ¨1°WÐ Ó=€FÜ�s�e˜a‘i cÔ*€HÜ×Ñ˜6 8Ô,à× Ñ  ¨1°WÐ Ó=€FÜ�s�e˜a‘i cÔ*€HÜ×Ñ˜6 8Õ,r   c                  óö   — t        j                  d«       d„ } t        g d¢g d¢dœg d¢¬«      }|j                  d«      j	                  | d¬	«      }t        g d
¢dgg d¢¬«      }t        j                  ||«       y )Nr   c                 ó   — |dz
  S r
   r   r+   s     r   Úfz+test_index_data_correctly_passed.<locals>.f¶   s   € Ø�q‰yÐr   )ÚArr   r\   )ri   rN   é   )ÚgroupÚv)éÿÿÿÿéþÿÿÿéýÿÿÿ)r-   rt   r   )g      Àg      Àg       Àru   )r   r-   ©r"   r#   r   r%   r&   rC   rV   )rq   rl   rF   rG   s       r   Ú test_index_data_correctly_passedrz   ²   sg   € ä
×Ñ˜Ô òô 
š_²9Ñ=Â\Ô	R€BØ�Z‰Z˜Ó ×*Ñ*¨1°WÐ*Ó=€FÜÒ+°c°UÂ,ÔO€HÜ×Ñ˜& (Õ+r   c                  ó¬  ‡‡‡— t        j                  d«       dŠdŠdŠˆˆˆfd„} ‰‰‰dœ}t        dg d¢i«      }|j                  d¬	«      j	                  | d|¬
«      }t        dg d¢i«      }t        j                  ||«       dŠ‰‰‰dœ}|j                  d¬	«      j	                  | d|¬
«      }t        dg d¢i«      }t        j                  ||«       y )Nr   TFc                 ó   •— ‰‰z   ‰z   S re   r   )r,   r-   r9   r;   r:   s     €€€r   Úfunc_kwargsz2test_engine_kwargs_not_cached.<locals>.func_kwargsÇ   s   ø€ Ø�xÑ (Ñ*Ð*r   ©r;   r9   r:   Úvalue)r   r   r   r   )Úlevelr<   )r   r   r   )r   r   r   ry   )r}   r=   rl   rF   rG   r9   r;   r:   s        @@@r   Útest_engine_kwargs_not_cachedr�   ¿   så   ú€ ô ×Ñ˜Ô Ø€EØ€HØ€Hö+ð "*°EÀxÑP€MÜ	�GšYÐ'Ó	(€BØ�Z‰Z˜aˆZÓ ×*Ñ*Ø˜G°=ð +ó €Fô ˜'¢?Ð3Ó4€HÜ×Ñ˜& (Ô+à€EØ!)°EÀxÑP€MØ�Z‰Z˜aˆZÓ ×*Ñ*Ø˜G°=ð +ó €Fô ˜'¢?Ð3Ó4€HÜ×Ñ˜& (Õ+r   c                 ó6  — t        j                  d«       d„ }t        ddddœg«      j                  ddg«      }|| |d	œ}|j	                  d«      j                  |d|¬
«      }t        ddddœg«      j                  ddg«      }t        j                  ||«       y )Nr   c                  ó   — yr
   r   r+   s     r   Ú
numba_funcz+test_multiindex_one_key.<locals>.numba_funcß   ó   € Ør   r   rk   é   ©rr   r\   r]   rr   r\   r~   r<   r   )r"   r#   r   Ú	set_indexr%   r&   rC   rV   )r9   r:   r;   r„   rl   r=   rF   rG   s           r   Útest_multiindex_one_keyr‰   Û   sŸ   € ä
×Ñ˜Ô òô 
˜! !¨!Ñ,Ð-Ó	.×	8Ñ	8¸#¸s¸Ó	D€BØ!)°EÀxÑP€MØ�Z‰Z˜‹_×&Ñ&Ø˜7°-ð 'ó €Fô  ¨°Ñ4Ð5Ó6×@Ñ@À#ÀsÀÓL€HÜ×Ñ˜& (Õ+r   c                 ó,  — t        j                  d«       d„ }t        ddddœg«      j                  ddg«      }|| |d	œ}t        j                  t
        d
¬«      5  |j                  ddg«      j                  |d|¬«       d d d «       y # 1 sw Y   y xY w)Nr   c                  ó   — yr
   r   r+   s     r   r„   z;test_multiindex_multi_key_not_supported.<locals>.numba_funcî   r…   r   r   rk   r†   r‡   rr   r\   r~   zmore than 1 grouping labelsr   r<   )r"   r#   r   rˆ   r$   ÚNotImplementedErrorr%   r&   )r9   r:   r;   r„   rl   r=   s         r   Ú'test_multiindex_multi_key_not_supportedr�   ë   s’   € Ü
×Ñ˜Ô òô 
˜! !¨!Ñ,Ð-Ó	.×	8Ñ	8¸#¸s¸Ó	D€BØ!)°EÀxÑP€MÜ	�‰Ô*Ð2OÔ	Pñ 
Ø
�
‰
�C˜�:Ó×(Ñ(Ø˜w°mð 	)ô 	
÷
÷ 
ñ 
ús   Á&B
Â
Bc                 ó¶  — t        j                  d«       | \  }}t        g d¢g d¢t        j                  j                  d«      j                  d«      t        j                  j                  d«      j                  d«      dœ«      }|j                  ddg«      } |j                  |fd	di|¤Ž} |j                  |fd	d
i|¤Ž}t        j                  ||«       y )Nr   ©ÚfooÚbarr�   r‘   r�   r‘   r�   r�   ©Úoner“   ÚtwoÚthreer”   r”   r“   r•   rk   é   ©rr   r\   r]   ÚDrr   r\   r    rA   ©r"   r#   r   ÚnpÚrandomÚdefault_rngÚstandard_normalr%   r&   rC   rV   )r`   Ú	reductionra   rl   ÚgbÚres_aggÚexpected_aggs          r   Útest_multilabel_numba_vs_cythonr¢   ù   sÁ   € Ü
×Ñ˜Ô Ø2Ñ€IˆvÜ	âIÚMÜ—‘×&Ñ& qÓ)×9Ñ9¸!Ó<Ü—‘×&Ñ& qÓ)×9Ñ9¸!Ó<ñ		
ó
€Bð 
�‰�S˜#�JÓ	€BØˆb�l‰l˜9Ñ?¨WÐ?¸Ñ?€GØ�2—<‘< 	ÑE°(ÐE¸fÑE€LÜ×Ñ˜' <Õ0r   c                  ó¨  — t        j                  d«       t        g d¢g d¢t        j                  j                  d«      j                  d«      t        j                  j                  d«      j                  d«      dœ«      } | j                  ddg«      }|j                  d	„ d¬
«      }|j                  d„ d¬
«      }t        j                  ||«       y )Nr   r�   r’   rk   r–   r—   rr   r\   c                 ól   — | | j                  «       z
  | j                  «       | j                  «       z
  z  S re   ©rY   rZ   r+   s     r   r?   z5test_multilabel_udf_numba_vs_cython.<locals>.<lambda>  s'   € ˜v¨¯
©
«Ñ4¸¿¹»ÈÏ
É
ËÑ9TÑU€ r   r   c                 ól   — | | j                  «       z
  | j                  «       | j                  «       z
  z  S re   r¥   r   s    r   r?   z5test_multilabel_udf_numba_vs_cython.<locals>.<lambda>  s&   € �1�q—u‘u“w‘; 1§5¡5£7¨Q¯U©U«WÑ#4Ñ5€ r   rA   r™   )rl   rŸ   rF   rG   s       r   Ú#test_multilabel_udf_numba_vs_cythonr§   
  s¸   € Ü
×Ñ˜Ô Ü	âIÚMÜ—‘×&Ñ& qÓ)×9Ñ9¸!Ó<Ü—‘×&Ñ& qÓ)×9Ñ9¸!Ó<ñ		
ó
€Bð 
�‰�S˜#�JÓ	€BØ�\‰\ÙUØð ó €Fð �|‰|Ù5¸hð ó €Hô ×Ñ˜& (Õ+r   )Únumpyrš   r"   Úpandas.errorsr   Úpandasr   r   r   Úpandas._testingÚ_testingrC   ÚmarkÚ
single_cpuÚ
pytestmarkr(   r/   ÚfilterwarningsÚparametrizerH   rS   rW   rb   rn   rz   r�   r‰   r�   r¢   r§   r   r   r   ú<module>r²      s–  ðÛ Û å (÷ñ õ
 à�[‰[×#Ñ#€
òRò"Wð" ‡�×Ñ˜HÓ%à‡�×Ñ˜  u Ó.Ø‡�×Ñ˜¨°+Ð'>Ó?Ø‡�×Ñ˜ d¨E ]Ó3ñ&ó 4ó @ó /ó &ð
&ð4 ‡�×Ñ˜HÓ%à‡�×Ñ˜  u Ó.Ø‡�×Ñ˜¨°+Ð'>Ó?ñ#&ó @ó /ó &ð#&òL,ð" ‡�×ÑØ�%˜� ¨u°e¨nÀ5Ñ(IÐJóñ-óð-ò"-ò$
,ò,ð8 ‡�×Ñ˜HÓ%ñ,ó &ð,ò
ò1ó",r   