§
    à! 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                             d¦  «        ej                             ddd	g¦  «        ej                             d
ddg¦  «        ej                             ddd	g¦  «        d„ ¦   «         ¦   «         ¦   «         ¦   «         Zej                             d¦  «        ej                             ddd	g¦  «        ej                             d
ddg¦  «        d„ ¦   «         ¦   «         ¦   «         Zd„ Zej                             dddgdddgddœg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zej                             d¦  «        d„ ¦   «         Zd„ Zd„ Zd„ ZdS )é    N)ÚNumbaUtilError)Ú	DataFrameÚSeriesÚoption_contextc                  óê  — t          j        d¦  «         d„ } t          g d¢g d¢dœddg¬¦  «        }t          j        t          d	¬
¦  «        5  |                     d¦  «                             | d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d	¬
¦  «        5  |                     d¦  «        d                              | d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚnumbac                 ó   — | dz   S ©Né   © ©Úxs    úcc:\xampp_lite_8_4\www\timesheet\venv\Lib\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Ð3LÐ3LÐMÐMØ˜�ðñ ô €Dõ 
Œ•~¨]Ð	;Ñ	;Ô	;ð Jð JØ�Š�UÑÔ×%Ò%Ð&8ÀÐ%ÑIÔIÐIðJð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jõ 
Œ•~¨]Ð	;Ñ	;Ô	;ð Rð RØ�Š�UÑÔ˜FÔ#×-Ò-Ð.@ÈÐ-ÑQÔQÐQðRð Rð Rñ Rô Rð Rð Rð Rð Rð Rð Rð Røøøð Rð Rð Rð Rð Rð Rs$   Á+BÂBÂBÂ*1C(Ã(C,Ã/C,c                  óî  — t          j        d¦  «         d„ } t          g d¢g d¢dœddg¬¦  «        }t          j        t          d	¬
¦  «        5  |                     d¦  «                             | dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d	¬
¦  «        5  |                     d¦  «        d                              | dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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Ð3LÐ3LÐMÐMØ˜�ðñ ô €Dõ 
Œ•~Ð-EÐ	FÑ	FÔ	Fð Oð OØ�Š�UÑÔ×%Ò%Ð&8ÀÈAÐ%ÑNÔNÐNðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oõ 
Œ•~Ð-EÐ	FÑ	FÔ	Fð Wð WØ�Š�UÑÔ˜FÔ#×-Ò-Ð.@ÈÐTUÐ-ÑVÔVÐVðWð Wð Wñ Wô Wð Wð Wð Wð Wð Wð Wð Wøøøð Wð Wð Wð Wð Wð Ws$   Á,BÂB	ÂB	Â+2C*Ã*C.Ã1C.ÚignoreÚjitTFÚ
pandas_objr   r   Úas_indexc                 ó~  — t          j        d¦  «         d„ }| rdd l}|                     |¦  «        }t	          g d¢g d¢dœddg¬¦  «        }|||d	œ}	|                     d|¬
¦  «        }
|dk    r|
d         }
|
                     |d|	¬¦  «        }|
                     d„ d¬¦  «        }t          j        ||¦  «         d S )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Ð*CÐ*CÐDÐDÈqÐRSÈfðñ ô €Dð $°ÀxÐPÐP€MØ�lŠl˜1 xˆlÑ0Ô0€GØ�XÒÐØ˜!”*ˆà×Ò˜t¨GÀ=ÐÑQÔQ€FØ× Ò   ¸Ð ÑBÔB€Hå„O�F˜HÑ%Ô%Ð%Ð%Ð%r   c                 ó¾  — t          j        d¦  «         d„ }d„ }| r.dd l}|                     |¦  «        }|                     |¦  «        }t	          g d¢g d¢dœddg¬	¦  «        }|||d
œ}	|                     d¦  «        }
|dk    r|
d         }
|
                     |d|	¬¦  «        }|
                     d„ d¬¦  «        }t          j        ||¦  «         |
                     |d|	¬¦  «        }|
                     d„ d¬¦  «        }t          j        ||¦  «         |
                     |d|	¬¦  «        }|
                     d„ d¬¦  «        }t          j        ||¦  «         d S )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   s©  € õ Ô˜Ñ Ô Ð ðð ð ðð ð ð ð #Øˆˆˆà—’˜6Ñ"Ô"ˆØ—’˜6Ñ"Ô"ˆåØ%Ð%Ð%Ð*CÐ*CÐ*CÐDÐDÈqÐRSÈfðñ ô €Dð $°ÀxÐPÐP€MØ�lŠl˜1‰oŒo€GØ�XÒÐØ˜!”*ˆà×Ò˜v¨gÀ]ÐÑSÔS€FØ× Ò   ¸Ð ÑBÔB€HÝ„O�F˜HÑ%Ô%Ð%à×Ò˜v¨gÀ]ÐÑSÔS€FØ× Ò   ¸Ð ÑBÔB€HÝ„O�F˜HÑ%Ô%Ð%ð ×Ò˜v¨gÀ]ÐÑSÔS€FØ× Ò   ¸Ð ÑBÔB€HÝ„O�F˜HÑ%Ô%Ð%Ð%Ð%r   c                  óh  — t          j        d¦  «         d„ } t          g d¢g d¢dœddg¬¦  «        }|                     d¦  «        }|                     | d¬	¦  «        }t          d
d¦  «        5  |                     | d ¬	¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «         d S )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Ð*CÐ*CÐDÐDÈqÐRSÈfðñ ô €Dð �lŠl˜1‰oŒo€GØ× Ò  °Ð Ñ8Ô8€HÝ	Ð+¨TÑ	2Ô	2ð 8ð 8Ø×"Ò" 6°$Ð"Ñ7Ô7ˆð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8åÔ˜( FÑ+Ô+Ð+Ð+Ð+s   Á.BÂBÂBÚagg_funcÚminÚmaxÚsum)ÚBÚCc                 ó‚  — t          j        d¦  «         |\  } }t          g d¢g d¢dœddg¬¦  «        }|                     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        ||¦  «         d S )
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Ð*CÐ*CÐDÐDÈqÐRSÈfðñ ô €Dð �lŠl˜1‰oŒo€GàˆWÔ˜xÐBÐB°ÐB¸6ÐBÐB€FØ ˆwÔ  ÐEÐE°(ÐE¸fÐEÐE€HÝÔ˜& (Ñ+Ô+Ð+à!ˆW�QŒZÔ! (ÐEÐE°7ÐE¸fÐEÐE€FØ#ˆw�qŒzÔ# HÐHÐH°XÐHÀÐHÐH€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                  óž  — t          j        d¦  «         d„ } t          g d¢g d¢dœ¦  «        }|                     d¦  «        d         }|                     | dd¬	¦  «        }t          d
gdz  d¬¦  «        }t          j        ||¦  «         |                     | dd¬	¦  «        }t          dgdz  d¬¦  «        }t          j        ||¦  «         d S )Nr   c                 ó<   — | | d …                               ¦   «         S ©N)r[   )r,   r-   Úns      r   Úsum_lastz&test_args_not_cached.<locals>.sum_last¤   s   € Ø�q�b�c�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¢¬¦  «        }|                     d¦  «                             | d¬	¦  «        }t          g d
¢dgg d¢¬¦  «        }t          j        ||¦  «         d S )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   ²   s¨   € å
Ô˜Ñ Ô Ð ðð ð õ 
˜_˜_˜_°9°9°9Ð=Ð=À\À\À\Ð	RÑ	RÔ	R€BØ�ZŠZ˜Ñ Ô ×*Ò*¨1°WÐ*Ñ=Ô=€FÝÐ+Ð+Ð+°c°UÀ,À,À,ÐOÑOÔO€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                  óà  ‡‡‡— t          j        d¦  «         dŠdŠdŠˆˆˆfd„} ‰‰‰dœ}t          dg d¢i¦  «        }|                     d¬	¦  «                             | d|¬
¦  «        }t          dg d¢i¦  «        }t          j        ||¦  «         dŠ‰‰‰dœ}|                     d¬	¦  «                             | d|¬
¦  «        }t          dg d¢i¦  «        }t          j        ||¦  «         d S )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ÐP€MÝ	�G˜Y˜Y˜YÐ'Ñ	(Ô	(€BØ�ZŠZ˜aˆZÑ Ô ×*Ò*Ø˜G°=ð +ñ ô €Fõ ˜' ? ? ?Ð3Ñ4Ô4€HÝÔ˜& (Ñ+Ô+Ð+à€EØ!)°EÀxÐPÐP€MØ�ZŠZ˜aˆZÑ Ô ×*Ò*Ø˜G°=ð +ñ ô €Fõ ˜' ? ? ?Ð3Ñ4Ô4€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 ód  — t          j        d¦  «         d„ }t          ddddœg¦  «                             ddg¦  «        }|| |d	œ}|                     d¦  «                             |d|¬
¦  «        }t          ddddœg¦  «                             ddg¦  «        }t          j        ||¦  «         d S )Nr   c                 ó   — dS r
   r   r+   s     r   Ú
numba_funcz+test_multiindex_one_key.<locals>.numba_funcß   ó   € Øˆqr   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Ô	D€BØ!)°EÀxÐPÐP€MØ�ZŠZ˜‰_Œ_×&Ò&Ø˜7°-ð 'ñ ô €Fõ  ¨°Ð4Ð4Ð5Ñ6Ô6×@Ò@À#ÀsÀÑLÔL€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 óT  — t          j        d¦  «         d„ }t          ddddœg¦  «                             ddg¦  «        }|| |d	œ}t          j        t
          d
¬¦  «        5  |                     ddg¦  «                             |d|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   c                 ó   — dS 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Ô	D€BØ!)°EÀxÐPÐP€MÝ	ŒÕ*Ð2OÐ	PÑ	PÔ	Pð 
ð 
Ø
�
Š
�C˜�:ÑÔ×(Ò(Ø˜w°mð 	)ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   Á".BÂB!Â$B!c                 óÀ  — t          j        d¦  «         | \  }}t          g d¢g d¢t          j                             d¦  «                             d¦  «        t          j                             d¦  «                             d¦  «        dœ¦  «        }|                     ddg¦  «        } |j        |fd	di|¤Ž} |j        |fd	d
i|¤Ž}t          j
        ||¦  «         d S )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ÐIÐIØMÐMÐMÝ”×&Ò& qÑ)Ô)×9Ò9¸!Ñ<Ô<Ý”×&Ò& qÑ)Ô)×9Ò9¸!Ñ<Ô<ð		
ð 	
ñ
ô 
€Bð 
�Š�S˜#�JÑ	Ô	€BØˆbŒl˜9Ð?Ð?¨WÐ?¸Ð?Ð?€GØ�2”< 	ÐEÐE°(ÐE¸fÐEÐE€LÝÔ˜' <Ñ0Ô0Ð0Ð0Ð0r   c                  óÖ  — t          j        d¦  «         t          g d¢g d¢t          j                             d¦  «                             d¦  «        t          j                             d¦  «                             d¦  «        dœ¦  «        } |                      ddg¦  «        }|                     d	„ d¬
¦  «        }|                     d„ d¬
¦  «        }t          j
        ||¦  «         d S )Nr   r�   r’   rk   r–   r—   rr   r\   c                 ó„   — | |                       ¦   «         z
  |                      ¦   «         |                       ¦   «         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                 ó„   — | |                       ¦   «         z
  |                      ¦   «         |                       ¦   «         z
  z  S re   r¥   r   s    r   r?   z5test_multilabel_udf_numba_vs_cython.<locals>.<lambda>  s,   € �1�q—u’u‘w”w‘; 1§5¢5¡7¤7¨Q¯UªU©W¬WÑ#4Ñ5€ r   rA   r™   )rl   rŸ   rF   rG   s       r   Ú#test_multilabel_udf_numba_vs_cythonr§   
  sõ   € Ý
Ô˜Ñ Ô Ð Ý	àIÐIÐIØMÐMÐMÝ”×&Ò& qÑ)Ô)×9Ò9¸!Ñ<Ô<Ý”×&Ò& qÑ)Ô)×9Ò9¸!Ñ<Ô<ð		
ð 	
ñ
ô 
€Bð 
�Š�S˜#�JÑ	Ô	€BØ�\Š\ØUÐUØð ñ ô €Fð �|Š|Ø5Ð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ð Rð Rð"Wð Wð Wð" „×Ò˜HÑ%Ô%à„×Ò˜  u Ñ.Ô.Ø„×Ò˜¨°+Ð'>Ñ?Ô?Ø„×Ò˜ d¨E ]Ñ3Ô3ð&ð &ñ 4Ô3ñ @Ô?ñ /Ô.ñ &Ô%ð
&ð4 „×Ò˜HÑ%Ô%à„×Ò˜  u Ñ.Ô.Ø„×Ò˜¨°+Ð'>Ñ?Ô?ð#&ð #&ñ @Ô?ñ /Ô.ñ &Ô%ð#&ðL,ð ,ð ,ð" „×ÒØ�%˜� ¨u°e¨nÀ5Ð(IÐ(IÐJñô ð-ð -ñô ð-ð"-ð -ð -ð$
,ð 
,ð 
,ð,ð ,ð ,ð8 „×Ò˜HÑ%Ô%ð,ð ,ñ &Ô%ð,ð
ð 
ð 
ð1ð 1ð 1ð",ð ,ð ,ð ,ð ,r   