Ë
    u™ãj	,  ã                   ó2  — d dl Zd dlZd dlmZ d dlmZ d dlZd dl	m
Z d dlmZ ej                  j                  gZ ej"                  d«      Zej'                  ej                  j)                   eej*                  «       ed«      k(  xr  e«       dej*                  › �¬«      «       d	„ Zd
„ Zej                  j1                  d«      ej                  j3                  dddg«      d„ «       «       Zej                  j1                  d«      ej                  j3                  dddg«      d„ «       «       Zd„ Zej                  j3                  dddgdddgddœg«      d„ «       Zd„ Zd„ Zd„ Z d„ Z!ej                  j1                  d«      d„ «       Z"d„ Z#d„ Z$d„ Z%y) é    N)Úis_platform_arm)ÚNumbaUtilError)ÚVersionÚnumbaz0.61z&Segfaults on ARM platforms with numba )Úreasonc                  óÂ  — t        j                  d«       d„ } t        j                  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)Nr   c                 ó   — | dz   S ©Né   © ©Úxs    út/var/www/html/python-recuperauto-other/env/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      @©ÚkeyÚdatar   r   ©ÚcolumnszThe first 2©Úmatch©Úengine)ÚpytestÚimportorskipÚpdÚ	DataFrameÚ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   Á#C	Â&CÃ	CÃCc                  ó~  — t        j                  d«       d„ } d„ }t        j                  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«      j                  |dd¬«       d d d «       t        j                  t
        d
¬«      5  |j                  d«      d   j                  | dd¬«       d d d «       t        j                  t
        d¬«      5  |j                  d«      d   j                  |dd¬«       d d d «       t        j                  t        d¬«      5  |j                  d«      j                  | dd¬«       d d d «       |j                  d«      j                  |dd¬«      }t        j                  |dg   dz   |«       t        j                  t        d¬«      5  |j                  d«      d   j                  | dd¬«       d d d «       |j                  d«      d   j                  |dd¬«      }t        j                  |d   dz   |«       y # 1 sw Y   �ŒùxY w# 1 sw Y   �Œ¿xY w# 1 sw Y   �Œ‚xY w# 1 sw Y   �ŒExY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ�xY w)Nr   c                ó   — | |z   S ©Nr   ©ÚvaluesÚindexr   s      r   r   z6test_check_nopython_kwargs.<locals>.incorrect_function*   ó   € Ø˜‰zÐr   c                 ó   — | |z   S r,   r   r-   s      r   Úcorrect_functionz4test_check_nopython_kwargs.<locals>.correct_function-   r0   r   r   r   r   r   r   r   z8missing a required (keyword-only argument|argument): 'a'r   r   )r!   r   z missing a required argument: 'a'znumba does not support)r!   r   )r"   r#   r$   r%   r&   Ú	TypeErrorr'   r(   r   ÚtmÚassert_frame_equalÚassert_series_equal)r   r2   r   Úactuals       r   Útest_check_nopython_kwargsr8   '   s‹  € Ü
×Ñ˜Ô òòô �<‰<Ú)Ò3LÑMØ˜�ô€Dô
 
�‰ÜÐSô
ñ Oð 	�‰�UÓ×%Ñ%Ð&8ÀÈAÐ%ÔN÷Oô 
�‰”yÐ(JÔ	Kñ MØ�‰�UÓ×%Ñ%Ð&6¸wÈ!Ð%ÔL÷Mô 
�‰ÜÐSô
ñ Wð 	�‰�UÓ˜FÑ#×-Ñ-Ð.@ÈÐTUÐ-ÔV÷Wô 
�‰”yÐ(JÔ	Kñ UØ�‰�UÓ˜FÑ#×-Ñ-Ð.>ÀwÐRSÐ-ÔT÷Uô 
�‰”~Ð-EÔ	Fñ OØ�‰�UÓ×%Ñ%Ð&8ÀÈAÐ%ÔN÷Oà�\‰\˜%Ó ×*Ñ*Ð+;ÀGÈqÐ*ÓQ€FÜ×Ñ˜$ ˜x™.¨1Ñ,¨fÔ5ä	�‰”~Ð-EÔ	Fñ WØ�‰�UÓ˜FÑ#×-Ñ-Ð.@ÈÐTUÐ-ÔV÷Wà�\‰\˜%Ó  Ñ(×2Ñ2Ø ¨Að 3ó €Fô ×Ñ˜4 ™<¨!Ñ+¨VÕ4÷3Oñ Oú÷Mñ Mú÷Wñ Wú÷Uñ Uú÷Oñ Oú÷
Wð WúsH   Á$I2Â$I?Ã%'JÄ/'JÅ9$J&È 'J3É2I<É?J	ÊJÊJ#Ê&J0Ê3J<ÚignoreÚjitTFc                 ó|  — t        j                  d«       d„ }| rdd l}|j                  |«      }t	        j
                  g d¢g d¢dœddg¬«      }||d	œ}|j                  d|¬
«      }	|t        j                  u r|	d   }	|	j                  |d|¬«      }
|	j                  d„ d¬«      }t        j                  |
|«       y )Nr   c                 ó   — | dz   S r
   r   ©r.   r/   s     r   Úfuncz"test_numba_vs_cython.<locals>.funcW   r0   r   r   r   r   ©r   r   r   r   ©ÚnogilÚparallel)Úas_index©r!   Úengine_kwargsc                 ó   — | dz   S r
   r   r   s    r   ú<lambda>z&test_numba_vs_cython.<locals>.<lambda>i   ó
   € ¨1¨q©5€ r   Úcythonr    ©r"   r#   r   r:   r$   r%   r'   ÚSeriesr(   r4   Úassert_equal)r:   Úframe_or_seriesrA   rB   rC   r>   r   r   rE   ÚgroupedÚresultÚexpecteds               r   Útest_numba_vs_cythonrQ   Q   s·   € ô ×Ñ˜Ô òñ ãà�y‰y˜‹ˆä�<‰<Ú%Ò*CÑDÈqÐRSÈfô€Dð $°Ñ:€MØ�l‰l˜1 xˆlÓ0€GØœ"Ÿ)™)Ñ#Ø˜!‘*ˆà×Ñ˜t¨GÀ=ÐÓQ€FØ× Ñ ¡¸Ð ÓB€Hä‡O�O�F˜HÕ%r   c                 ó˜  — t        j                  d«       d„ }d„ }| r&dd l}|j                  |«      }|j                  |«      }t	        j
                  g d¢g d¢dœddg¬	«      }||d
œ}|j                  d«      }	|t        j                  u 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_1u   r0   r   c                 ó   — | dz  S ©Né   r   r=   s     r   Úfunc_2ztest_cache.<locals>.func_2x   r0   r   r   r   r   r?   r   r   r@   rD   c                 ó   — | dz   S r
   r   r   s    r   rG   ztest_cache.<locals>.<lambda>Š   rH   r   rI   r    c                 ó   — | dz  S rV   r   r   s    r   rG   ztest_cache.<locals>.<lambda>Ž   rH   r   c                 ó   — | dz   S r
   r   r   s    r   rG   ztest_cache.<locals>.<lambda>“   rH   r   rJ   )r:   rM   rA   rB   rT   rX   r   r   rE   rN   rO   rP   s               r   Ú
test_cacher\   n   s<  € ô
 ×Ñ˜Ô òòñ Ûà—‘˜6Ó"ˆØ—‘˜6Ó"ˆä�<‰<Ú%Ò*CÑDÈqÐRSÈfô€Dð $°Ñ:€MØ�l‰l˜1‹o€GØœ"Ÿ)™)Ñ#Ø˜!‘*ˆà×Ñ˜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                  ód  — t        j                  d«       d„ } t        j                  g d¢g d¢dœddg¬«      }|j	                  d«      }|j                  | d¬	«      }t        j                  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   rT   z&test_use_global_config.<locals>.func_1š   r0   r   r   r   r?   r   r   r   r    zcompute.use_numbaT)	r"   r#   r$   r%   r'   r(   Úoption_contextr4   r5   )rT   r   rN   rP   rO   s        r   Útest_use_global_configr`   —   s¤   € Ü
×Ñ˜Ô òô �<‰<Ú%Ò*CÑDÈqÐRSÈfô€Dð �l‰l˜1‹o€GØ× Ñ  °Ð Ó8€HÜ	×	Ñ	Ð.°Ó	5ñ 8Ø×"Ñ" 6°$Ð"Ó7ˆ÷8ä×Ñ˜( FÕ+÷8ð 8ús   Á3B&Â&B/Úagg_funcÚminÚmaxÚsum)ÚBÚCc                 ó¦  — t        j                  d«       |\  } }t        j                  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   r?   r   r   r   r!   rI   )	r"   r#   r$   r%   r'   r(   r4   r5   r6   )ra   Únumba_supported_reductionsÚkwargsr   rN   rO   rP   s          r   Útest_string_cython_vs_numbarj   ¨   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                  ó¨  — t        j                  d«       d„ } t        j                  g d¢g d¢dœ«      }|j	                  d«      d   }|j                  | dd¬	«      }t        j                  d
gdz  d¬«      }t        j                  ||«       |j                  | dd¬	«      }t        j                  dgdz  d¬«      }t        j                  ||«       y )Nr   c                 ó*   — | | d  j                  «       S r,   )rd   )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   ro   r   r   r    r   é   )Únameé   r   )	r"   r#   r$   r%   r'   r(   rK   r4   r6   )rn   ÚdfÚ	grouped_xrO   rP   s        r   Útest_args_not_cachedru   ¼   s·   € ä
×Ñ˜Ô ò!ô 
�‰š\²Ñ=Ó	>€BØ—
‘
˜4Ó  Ñ%€IØ× Ñ  ¨1°WÐ Ó=€FÜ�y‰y˜#˜ ™¨Ô-€HÜ×Ñ˜6 8Ô,à× Ñ  ¨1°WÐ Ó=€FÜ�y‰y˜#˜ ™¨Ô-€HÜ×Ñ˜6 8Õ,r   c                  ó  — t        j                  d«       d„ } t        j                  g d¢g d¢dœg d¢¬«      }|j	                  d«      j                  | d¬	«      }t        j                  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   )ÚAry   re   )rp   rW   é   )ÚgroupÚv)éÿÿÿÿéþÿÿÿéýÿÿÿ©r/   r{   r    )g       Àg      Àg      Àr|   )r   r/   ©r"   r#   r$   r%   r'   r(   r4   r5   ©rx   rs   rO   rP   s       r   Ú test_index_data_correctly_passedrƒ   Î   so   € ä
×Ñ˜Ô òô 
�‰¢²iÑ@ÊÔ	U€BØ�Z‰Z˜Ó ×*Ñ*¨1°WÐ*Ó=€FÜ�|‰|Ò.¸¸Â\ÔR€HÜ×Ñ˜& (Õ+r   c                  óF  — t        j                  d«       d„ } t        j                  g d¢g d¢dœt	        ddd«      ¬«      }|j                  d	«      d
   j                  | d¬«      }t        j                  g d¢t	        ddd«      d
¬«      }t        j                  ||«       y )Nr   c                 ó   — | S r,   r   r=   s     r   rx   z1test_index_order_consistency_preserved.<locals>.fß   s   € Øˆr   )ç        r   r   r   )r   r   r   r   )Úvalsr{   é   r}   r€   r{   r‡   r    )r/   rq   )
r"   r#   r$   r%   Úranger'   r(   rK   r4   r6   r‚   s       r   Ú&test_index_order_consistency_preservedrŠ   Û   sŠ   € ä
×Ñ˜Ô òô 
�‰Ú%²Ñ=ÄUÈ1ÈbÐRTÓEUô
€Bð �Z‰Z˜Ó  Ñ(×2Ñ2°1¸WÐ2ÓE€FÜ�y‰yÒ-´U¸1¸bÀ"Ó5EÈFÔS€HÜ×Ñ˜6 8Õ,r   c                  óÜ  ‡‡— t        j                  d«       dŠdŠˆˆfd„} ‰‰dœ}t        j                  dg d¢i«      }|j	                  d¬	«      j                  | d|¬
«      }t        j                  dg d¢i«      }t        j                  ||«       dŠ‰‰dœ}|j	                  d¬	«      j                  | d|¬
«      }t        j                  dg d¢i«      }t        j                  ||«       y )Nr   TFc                 ó   •— ‰‰z   S r,   r   )r.   r/   rA   rB   s     €€r   Úfunc_kwargsz2test_engine_kwargs_not_cached.<locals>.func_kwargsñ   s   ø€ Ø�xÑÐr   r@   Úvalue)r   r   r   r   )ÚlevelrD   )r   r   r   )r†   r†   r†   r�   )r�   rE   rs   rO   rP   rA   rB   s        @@r   Útest_engine_kwargs_not_cachedr�   ê   sè   ù€ ô ×Ñ˜Ô Ø€EØ€Hõ ð $°Ñ:€MÜ	�‰�w¢	Ð*Ó	+€BØ�Z‰Z˜aˆZÓ ×*Ñ*Ø˜G°=ð +ó €Fô �|‰|˜W¢oÐ6Ó7€HÜ×Ñ˜& (Ô+à€EØ#°Ñ:€MØ�Z‰Z˜aˆZÓ ×*Ñ*Ø˜G°=ð +ó €Fô �|‰|˜W¢oÐ6Ó7€HÜ×Ñ˜& (Õ+r   c                 ó\  — t        j                  d«       d„ }t        j                  ddddœg«      j	                  ddg«      }| |d	œ}|j                  d«      j                  |d|¬
«      }t        j                  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   rr   rˆ   ©ry   re   rf   ry   re   r@   rD   r   )	r"   r#   r$   r%   Ú	set_indexr'   r(   r4   r5   )rA   rB   r“   rs   rE   rO   rP   s          r   Útest_multiindex_one_keyr—     s¥   € ä
×Ñ˜Ô òô 
�‰˜Q Q¨QÑ/Ð0Ó	1×	;Ñ	;¸SÀ#¸JÓ	G€BØ#°Ñ:€MØ�Z‰Z˜‹_×&Ñ&Ø˜7°-ð 'ó €Fô �|‰| 1¨1°3Ñ7Ð8Ó9×CÑCÀSÈ#ÀJÓO€HÜ×Ñ˜& (Õ+r   c                 ó>  — t        j                  d«       d„ }t        j                  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   rr   rˆ   r•   ry   re   r@   zmore than 1 grouping labelsr   rD   )	r"   r#   r$   r%   r–   r&   ÚNotImplementedErrorr'   r(   )rA   rB   r“   rs   rE   s        r   Ú'test_multiindex_multi_key_not_supportedr›     s”   € Ü
×Ñ˜Ô òô 
�‰˜Q Q¨QÑ/Ð0Ó	1×	;Ñ	;¸SÀ#¸JÓ	G€BØ#°Ñ:€MÜ	�‰Ô*Ð2OÔ	Pñ 
Ø
�
‰
�C˜�:Ó×(Ñ(Ø˜w°mð 	)ô 	
÷
÷ 
ñ 
ús   Á$&BÂBc                 óÊ  — t        j                  d«       | \  }}t        j                  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£   rr   é   ©ry   re   rf   ÚDry   re   r!   rI   ©r"   r#   r$   r%   ÚnpÚrandomÚdefault_rngÚstandard_normalr'   r(   r4   r5   )rh   Ú	reductionri   rs   Ú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        j                  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    rr   r¤   r¥   ry   re   c                 ól   — | | j                  «       z
  | j                  «       | j                  «       z
  z  S r,   ©rb   rc   r=   s     r   rG   z5test_multilabel_udf_numba_vs_cython.<locals>.<lambda>@  s'   € ˜v¨¯
©
«Ñ4¸¿¹»ÈÏ
É
ËÑ9TÑU€ r   r    c                 ól   — | | j                  «       z
  | j                  «       | j                  «       z
  z  S r,   r³   r   s    r   rG   z5test_multilabel_udf_numba_vs_cython.<locals>.<lambda>D  s&   € �1�q—u‘u“w‘; 1§5¡5£7¨Q¯U©U«WÑ#4Ñ5€ r   rI   r§   )rs   r­   rO   rP   s       r   Ú#test_multilabel_udf_numba_vs_cythonrµ   4  s¼   € Ü
×Ñ˜Ô Ü	�‰âIÚMÜ—‘×&Ñ& qÓ)×9Ñ9¸!Ó<Ü—‘×&Ñ& qÓ)×9Ñ9¸!Ó<ñ		
ó
€Bð 
�‰�S˜#�JÓ	€BØ�\‰\ÙUØð ó €Fð �|‰|Ù5¸hð ó €Hô ×Ñ˜& (Õ+r   )&Únumpyr¨   r"   Úpandas.compatr   Úpandas.errorsr   Úpandasr$   Úpandas._testingÚ_testingr4   Úpandas.util.versionr   ÚmarkÚ
single_cpuÚ
pytestmarkr#   r   ÚappendÚskipifÚ__version__r)   r8   ÚfilterwarningsÚparametrizerQ   r\   r`   rj   ru   rƒ   rŠ   r�   r—   r›   r°   rµ   r   r   r   ú<module>rÅ      s§  ðÛ Û å )Ý (ã Ý Ý 'à�k‰k×$Ñ$Ð%€
àˆ×Ñ˜GÓ$€Ø 
× Ñ Ø
‡K�K×ÑÙ�×!Ñ!Ó"¡g¨f£oÑ5ÒK¹/Ó:KØ7¸×8IÑ8IÐ7JÐKð ó ôòRò"'5ðT ‡�×Ñ˜HÓ%à‡�×Ñ˜  u Ó.ñ&ó /ó &ð&ð4 ‡�×Ñ˜HÓ%à‡�×Ñ˜  u Ó.ñ#&ó /ó &ð#&òL,ð" ‡�×ÑØ�%˜� ¨u°e¨nÀ5Ñ(IÐJóñ-óð-ò"-ò$
,ò-ò,ð6 ‡�×Ñ˜HÓ%ñ,ó &ð,ò
ò1ó",r   