Ë
    u™ãjxU  ã                   ó„  — d dl Zd dlZd dlmZ d dlmZ d dlmc m	Z
 d dlZd dlmZ d dlmZ d dlmZ ej(                  j*                  gZ ej.                  d«      Zej3                  ej(                  j5                   eej6                  «       ed«      k(  xr  e«       dej6                  › �¬	«      «        ej8                  d
dg¬«      d„ «       Z ej8                  di gdi gdi gdi gdi gdi gddd igdi gddd igg	¬«      d„ «       Zej8                  d„ «       Z e
j@                  d«      ej(                  jC                  d«       G d„ d«      «       «       Z" e
j@                  d«       G d„ d«      «       Z# e
j@                  d«      d„ «       Z$ e
j@                  d«      d„ «       Z% e
j@                  d«      ej(                  jL                  ej(                  jC                  d«       G d„ d «      «       «       «       Z' e
j@                  d«      d!„ «       Z( G d"„ d#e«      Z) e
j@                  d«       G d$„ d%«      «       Z*y)&é    N)Úis_platform_arm)ÚNumbaUtilError)ÚBaseIndexer)ÚVersionÚnumbaz0.61z&Segfaults on ARM platforms with numba )ÚreasonÚsingleÚtable)Úparamsc                 ó   — | j                   S )z3method keyword in rolling/expanding/ewm constructor©Úparam©Úrequests    úi/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/window/test_numba.pyÚmethodr      s   € ð �=‰=Ðó    ÚsumÚmeanÚmedianÚmaxÚminÚvarÚddofÚstdc                 ó   — | j                   S ©Nr   r   s    r   Ú$arithmetic_numba_supported_operatorsr      s   € ð �=‰=Ðr   c                  ó|   — t        j                  dgdz  dgdz  z   dgdz  z   t        j                  d«      dœ«      S )	Né   é   é   é   é   é   é(   ©ÚAÚB)ÚpdÚ	DataFrameÚnpÚarange© r   r   Ú
roll_framer/   /   s:   € ä�<‰<˜q˜c B™h¨!¨¨r©Ñ1°Q°C¸!±GÑ;Ä"Ç)Á)ÈBÃ-ÑPÓQÐQr   Úignorec                   óð  — e Zd Zej                  j                  dddg«      d„ «       Zd„ Zd„ Zej                  j                  d e	j                   ej                  d«      «       e	j                  dd	d	d	ej                  ej                  d
dddg
dd	d	d	ej                  ej                  d	dddg
ej                  ej                  ddd	dddddg
g«      j                   e	j                    ed«      d¬«       e	j                   dddej                  ddddg«       e	j                   dddej                  ddddg«      g«      d„ «       Zej                  j                  d e	j                   ej                  d«      «       e	j                    ed«      d¬«      g«      d„ «       Zej                  j                  dddg«      d„ «       Zej                  j                  dddddœgdi gg«      d„ «       Zd„ Zy)Ú
TestEngineÚjitTFc                 óL  — d„ }|rdd l }|j                  |«      }||dœ}d}	t        j                  t	        d«      «      }
|
j                  d||¬«      j                  ||	d|d	¬
«      }|
j                  d||¬«      j                  |d|	d	¬«      }t        j                  ||«       y )Nc                 óN   — d}|D ]  }||z  }Œ	 t        j                  | «      |z   S ©Nr   ©r,   r   )ÚxÚargsÚarg_sumÚargs       r   Úfz0TestEngine.test_numba_vs_cython_apply.<locals>.f:   s2   € ØˆGØò �Ø˜3‘‘ðä—7‘7˜1“: Ñ'Ð'r   r   ©ÚnogilÚparallel©r"   é
   r"   )ÚcenterÚstepr   T)r9   ÚengineÚengine_kwargsÚrawÚcython)rD   r9   rF   ©	r   r3   r*   ÚSeriesÚrangeÚrollingÚapplyÚtmÚassert_series_equal)Úselfr3   r>   r?   rB   rC   r<   r   rE   r9   ÚsÚresultÚexpecteds                r   Útest_numba_vs_cython_applyz%TestEngine.test_numba_vs_cython_apply8   s®   € ò	(ñ Ûà—	‘	˜!“ˆAà"'°XÑ>ˆØˆä�I‰I”e˜B“iÓ ˆØ—‘˜1 V°$�Ó7×=Ñ=Ø�D ¸È4ð >ó 
ˆð —9‘9˜Q v°D�9Ó9×?Ñ?Ø�h T¨tð @ó 
ˆô 	×Ñ˜v xÕ0r   c                 ó°  — dd„}t        j                  t        d«      «      }|j                  d«      j	                  |ddddi¬«      }|j                  d«      j                  «       dz   }t        j                  ||«       |j                  d«      j	                  |ddd	¬
«      }t        j                  ||«       |j                  «       j	                  |ddddi¬«      }|j                  «       j                  «       dz   }t        j                  ||«       |j                  «       j	                  |ddd	¬
«      }t        j                  ||«       |j                  d«      j                  d«      j	                  |ddddi¬«      }|j                  d«      j                  d«      j                  «       dz   }t        j                  ||«       |j                  d«      j                  d«      j	                  |ddd	¬
«      }t        j                  ||«       |j                  d«      j                  «       j	                  |ddddi¬«      }|j                  d«      j                  «       j                  «       dz   }t        j                  ||«       |j                  d«      j                  «       j	                  |ddd	¬
«      }t        j                  ||«       y )Nc                 ó(   — | j                  «       |z   S r   ©r   )ÚsrÚas     r   Úfuncz5TestEngine.test_apply_numba_with_kwargs.<locals>.funcT   s   € Ø—6‘6“8˜a‘<Ðr   rA   é   r   TrX   r    )rD   rF   Úkwargs©r    )rD   rF   r9   r(   )r   )
r*   r+   rJ   rK   rL   r   rM   Úassert_frame_equalÚ	expandingÚgroupby)rO   r/   rY   ÚdatarQ   rR   s         r   Útest_apply_numba_with_kwargsz'TestEngine.test_apply_numba_with_kwargsQ   s{  € ó	 ô �|‰|œE "›IÓ&ˆà—‘˜a“×&Ñ& t°GÀÈsÐTUÈhÐ&ÓWˆØ—<‘< “?×&Ñ&Ó(¨1Ñ,ˆÜ
×Ñ˜f hÔ/à—‘˜a“×&Ñ& t°GÀÈDÐ&ÓQˆÜ
×Ñ˜f hÔ/ð —‘Ó!×'Ñ'¨°WÀ$ÐPSÐUVÈxÐ'ÓXˆØ—>‘>Ó#×'Ñ'Ó)¨AÑ-ˆÜ
×Ñ˜f hÔ/à—‘Ó!×'Ñ'¨°WÀ$ÈTÐ'ÓRˆÜ
×Ñ˜f hÔ/ð ×Ñ˜sÓ#ß‰W�Q‹Zß‰U�4 ¨T¸3À¸(ˆUÓCð 	ð
 ×%Ñ% cÓ*×2Ñ2°1Ó5×9Ñ9Ó;¸aÑ?ˆÜ
×Ñ˜f hÔ/ð ×Ñ˜sÓ#ß‰W�Q‹Zß‰U�4 ¨T¸ˆUÓ=ð 	ô
 	×Ñ˜f hÔ/ð ×Ñ˜sÓ#ß‰Y‹[ß‰U�4 ¨T¸3À¸(ˆUÓCð 	ð
 ×%Ñ% cÓ*×4Ñ4Ó6×:Ñ:Ó<¸qÑ@ˆÜ
×Ñ˜f hÔ/ð ×Ñ˜sÓ#ß‰Y‹[ß‰U�4 ¨T¸ˆUÓ=ð 	ô
 	×Ñ˜f hÕ/r   c                 óv  — d„ }t        j                  ddgddgddgdd	gg«      }|j                  dd
d¬«      j                  |dd¬«      }t        j                  t        j
                  t        j
                  gt        j
                  t        j
                  gddgdd	gg«      }t        j                  ||«       y )Nc                 ó,   — t        | «      dk(  sJ ‚| d   S )Nr$   éÿÿÿÿ)Úlen©r8   s    r   Úlast_rowz3TestEngine.test_numba_min_periods.<locals>.last_row‹   s   € Ü�q“6˜Q’;Ð�;Ø�R‘5ˆLr   r    r"   r$   é   rZ   é   é   r%   r
   ©r   Úmin_periodsTr   ©rF   rD   )r*   r+   rK   rL   r,   ÚnanrM   r]   )rO   rg   ÚdfrQ   rR   s        r   Útest_numba_min_periodsz!TestEngine.test_numba_min_periods‰   s¨   € ò	ô �\‰\˜A˜q˜6 A q 6¨A¨q¨6°A°q°6Ð:Ó;ˆà—‘˜A g¸1�Ó=×CÑCØ˜$ wð Dó 
ˆô —<‘<¤"§&¡&¬"¯&©&Ð!1´B·F±F¼B¿F¹FÐ3CÀaÈÀVÈaÐQRÈVÐ TÓUˆÜ
×Ñ˜f hÕ/r   r`   rZ   rj   rh   r$   ri   Úfoo©Únamer!   rA   r    r"   c                 ó¼   — |\  }}||dœ}|j                  d|¬«      }	 t        |	|«      dd|dœ|¤Ž}
 t        |	|«      dddi|¤Ž}t        j                  |
|«       y )	Nr=   r$   ©rC   r   ©rD   rE   rD   rG   r.   )rK   ÚgetattrrM   Úassert_equal)rO   r`   r>   r?   r   rC   r   r[   rE   ÚrollrQ   rR   s               r   Ú$test_numba_vs_cython_rolling_methodsz/TestEngine.test_numba_vs_cython_rolling_methods˜   sy   € ð0 >‰ˆ�à"'°XÑ>ˆà�|‰|˜A Dˆ|Ó)ˆØ&”˜˜vÓ&ð 
Ø¨-ñ
Ø;Añ
ˆð )”7˜4 Ó(ÑC°ÐC¸FÑCˆÜ
�‰˜ Õ)r   c                 ó  — |\  }}||dœ}t        j                  t        j                  d«      «      }|j	                  «       } t        ||«      dd|dœ|¤Ž}	 t        ||«      dddi|¤Ž}
t        j                  |	|
«       y )Nr=   rZ   r   rv   rD   rG   r.   )r*   r+   r,   Úeyer^   rw   rM   rx   )rO   r`   r>   r?   r   r   r[   rE   ÚexpandrQ   rR   s              r   Ú&test_numba_vs_cython_expanding_methodsz1TestEngine.test_numba_vs_cython_expanding_methods»   s‰   € ð >‰ˆ�à"'°XÑ>ˆä�|‰|œBŸF™F 1›IÓ&ˆØ—‘Ó!ˆØ(”˜ Ó(ð 
Ø¨-ñ
Ø;Añ
ˆð +”7˜6 6Ó*ÑE°(ÐE¸fÑEˆÜ
�‰˜ Õ)r   c                 óB  — d„ }d„ }|r&dd l }|j                  |«      }|j                  |«      }||dœ}t        j                  t	        d«      «      j                  d|¬«      }	|	j                  |d|d	¬
«      }
|	j                  |dd	¬«      }t        j                  |
|«       |	j                  |d|d	¬
«      }
|	j                  |dd	¬«      }t        j                  |
|«       |	j                  |d|d	¬
«      }
|	j                  |dd	¬«      }t        j                  |
|«       y )Nc                 ó2   — t        j                  | «      dz   S )Nrh   r7   rf   s    r   Úfunc_1z+TestEngine.test_cache_apply.<locals>.func_1Ð   s   € Ü—7‘7˜1“: ‘>Ð!r   c                 ó2   — t        j                  | «      dz  S )NrZ   )r,   r   rf   s    r   Úfunc_2z+TestEngine.test_cache_apply.<locals>.func_2Ó   s   € Ü—6‘6˜!“9˜q‘=Ð r   r   r=   rA   r"   ru   r   T)rD   rE   rF   rG   ©rD   rF   rH   )rO   r3   r>   r?   rC   r�   rƒ   r   rE   ry   rQ   rR   s               r   Útest_cache_applyzTestEngine.test_cache_applyÍ   s"  € ò	"ò	!ñ Ûà—Y‘Y˜vÓ&ˆFØ—Y‘Y˜vÓ&ˆFà"'°XÑ>ˆä�y‰yœ˜r›Ó#×+Ñ+¨A°DÐ+Ó9ˆØ—‘Ø˜7°-ÀTð ó 
ˆð —:‘:˜f¨X¸4�:Ó@ˆÜ
×Ñ˜v xÔ0à—‘Ø˜7°-ÀTð ó 
ˆð —:‘:˜f¨X¸4�:Ó@ˆÜ
×Ñ˜v xÔ0à—‘Ø˜7°-ÀTð ó 
ˆð —:‘:˜f¨X¸4�:Ó@ˆÜ
×Ñ˜v xÕ0r   zwindow,window_kwargsrK   r   )Úwindowrl   r^   c                 ó¢  — d„ }||dœ}t        j                  dg d¢i«      } t        ||«      dd|i|¤Žj                  |dd|d¬	«      }	t        j                  dg d
¢i«      }
t	        j
                  |	|
«        t        ||«      dd|i|¤Žj                  |dd|d¬	«      }	t        j                  dg d¢i«      }
t	        j
                  |	|
«       y )Nc                 ó2   — t        j                  | «      |z   S r   ©r,   r   )Úvaluesr8   s     r   Úaddz,TestEngine.test_dont_cache_args.<locals>.addû   s   € Ü—6‘6˜&“> AÑ%Ð%r   r=   Úvalue©r   r   r   r   Tr   r\   )rF   rD   rE   r9   ©ç      ð?r�   r�   r@   )ç       @r�   r�   r.   )r*   r+   rw   rL   rM   r]   )rO   r†   Úwindow_kwargsr>   r?   r   r‹   rE   ro   rQ   rR   s              r   Útest_dont_cache_argszTestEngine.test_dont_cache_argsñ   sÞ   € ò	&ð #(°XÑ>ˆÜ�\‰\˜7¢IÐ.Ó/ˆØ$”˜˜VÓ$ÑD¨FÐD°mÑD×JÑJØ�T '¸ÈTð Kó 
ˆô —<‘< ª/Ð :Ó;ˆÜ
×Ñ˜f hÔ/à$”˜˜VÓ$ÑD¨FÐD°mÑD×JÑJØ�T '¸ÈTð Kó 
ˆô —<‘< ª/Ð :Ó;ˆÜ
×Ñ˜f hÕ/r   c                 ó²  ‡‡— dŠdŠˆˆfd„}‰‰dœ}t        j                  dg d¢i«      }|j                  d«      j                  |dd|¬	«      }t        j                  dg d
¢i«      }t	        j
                  ||«       dŠ‰‰dœ}|j                  d«      j                  |dd|¬	«      }t        j                  dg d¢i«      }t	        j
                  ||«       y )NFTc                 ó   •— ‰‰z   S r   r.   )r8   r>   r?   s    €€r   rY   z6TestEngine.test_dont_cache_engine_kwargs.<locals>.func  s   ø€ Ø˜8Ñ#Ð#r   r=   rŒ   r�   r    r   )rF   rD   rE   rŽ   )ç        r•   r•   ©r*   r+   rK   rL   rM   r]   )rO   rY   rE   ro   rQ   rR   r>   r?   s         @@r   Útest_dont_cache_engine_kwargsz(TestEngine.test_dont_cache_engine_kwargs  sØ   ù€ ð ˆØˆõ	$ð #(°XÑ>ˆÜ�\‰\˜7¢IÐ.Ó/ˆØ—‘˜A“×$Ñ$Ø�d 7¸-ð %ó 
ˆô —<‘< ª/Ð :Ó;ˆÜ
×Ñ˜f hÔ/àˆØ"'°XÑ>ˆØ—‘˜A“×$Ñ$Ø�d 7¸-ð %ó 
ˆô —<‘< ª/Ð :Ó;ˆÜ
×Ñ˜f hÕ/r   N)Ú__name__Ú
__module__Ú__qualname__ÚpytestÚmarkÚparametrizerS   ra   rp   r*   r+   r,   r|   rn   ÚinfÚTrI   rJ   rz   r~   r…   r’   r—   r.   r   r   r2   r2   4   s  „ ð ‡[�[×Ñ˜U T¨5 MÓ2ñ1ó 3ð1ò060òp0ð ‡[�[×ÑØàˆB�L‰L˜˜Ÿ™ ›Ó#ØˆB�L‰Là˜˜1˜a §¡¨¯©°°A°q¸!Ð<Ø˜˜1˜a §¡¨¯©°°A°q¸!Ð<Ø—V‘V˜RŸV™V Q¨¨1¨a°°A°q¸!Ð<ðó÷ ‰aØˆB�I‰I‘e˜A“h UÔ+ØˆB�I‰I�r˜2˜r 2§6¡6¨1¨a°°AÐ6Ó7ØˆB�I‰I�r˜2˜r 2§6¡6¨2¨q°!°QÐ7Ó8ð	
óñ *ó!ð *ð& ‡[�[×ÑØ��—‘˜f˜bŸf™f Q›iÓ(¨)¨"¯)©)±E¸!³HÀ5Ô*IÐJóñ*óð*ð ‡[�[×Ñ˜U T¨5 MÓ2ñ!1ó 3ð!1ðF ‡[�[×ÑØà 1°QÑ7Ð8Ø˜"Ðð	
óñ0óð0ó(0r   r2   c                   ó
  — e Zd Zej                  j                  dd„ d„ gddg¬«      ej                  j                  ddd	g«      d
„ «       «       Zej                  j                  dd„ d„ gddg¬«      ej                  j                  ddd	g«      d„ «       «       Zej                  j                  dddg«      ej                  j                  ddd	g«      d„ «       «       Zej                  j                  dddg«      d„ «       Z	y)ÚTestEWMÚgrouperc                 ó   — | S r   r.   rf   s    r   ú<lambda>zTestEWM.<lambda>)  ó   € ˜a€ r   c                 ó$   — | j                  d«      S ©Nr(   ©r_   rf   s    r   r¤   zTestEWM.<lambda>)  ó   € ¨1¯9©9°S«>€ r   ÚNoner_   )Úidsr   r   r   c                 óü   — t        j                  g d¢t        d«      dœ«      }t        j                  t
        d¬«      5   t         ||«      j                  d¬«      |«      d¬	«       d d d «       y # 1 sw Y   y xY w)
N©rX   ÚbrX   r®   rh   r'   zengine must be either©Úmatchr�   ©Úcomrq   ©rD   ©r*   r+   rJ   r›   ÚraisesÚ
ValueErrorrw   Úewm©rO   r¢   r   ro   s       r   Útest_invalid_enginezTestEWM.test_invalid_engine(  sd   € ô
 �\‰\Ò 4¼5À»8ÑDÓEˆÜ�]‰]œ:Ð-DÔEñ 	DØ5ŒG‘G˜B“K—O‘O¨�OÓ,¨fÓ5¸UÕC÷	D÷ 	Dñ 	Dús   ¿*A2Á2A;c                 ó   — | S r   r.   rf   s    r   r¤   zTestEWM.<lambda>2  r¥   r   c                 ó$   — | j                  d«      S r§   r¨   rf   s    r   r¤   zTestEWM.<lambda>2  r©   r   c                 ó  — t        j                  g d¢t        d«      dœ«      }t        j                  t
        d¬«      5   t         ||«      j                  d¬«      |«      dd	d
i¬«       d d d «       y # 1 sw Y   y xY w)Nr­   rh   r'   zcython engine does notr¯   r�   r±   rG   r?   Trv   r´   r¸   s       r   Útest_invalid_engine_kwargsz"TestEWM.test_invalid_engine_kwargs1  sj   € ô
 �\‰\Ò 4¼5À»8ÑDÓEˆÜ�]‰]œ:Ð-EÔFñ 	Ø5ŒG‘G˜B“K—O‘O¨�OÓ,¨fÓ5Ø°
¸DÐ/Aõ÷	÷ 	ñ 	ús   ¿-A5Á5A>c                 ó0  — t        j                  dt        d«      i«      }|dk(  rd„ }n
g d¢|d<   d„ }|dk(  rd	} ||«      j                  d
||¬«      }||dœ}	 t	        ||«      d|	¬«      }
 t	        ||«      d¬«      }t        j                  |
|«       y )Nr)   rh   rª   c                 ó   — | S r   r.   rf   s    r   r¤   z.TestEWM.test_cython_vs_numba.<locals>.<lambda>A  ó   €  € r   r­   r(   c                 ó$   — | j                  d«      S r§   r¨   rf   s    r   r¤   z.TestEWM.test_cython_vs_numba.<locals>.<lambda>D  ó   €  §	¡	¨#£€ r   r   Tr�   )r²   ÚadjustÚ	ignore_nar=   r   rv   rG   r³   )r*   r+   rJ   r·   rw   rM   r]   )rO   r¢   r   r>   r?   rÄ   rÃ   ro   r·   rE   rQ   rR   s               r   Útest_cython_vs_numbazTestEWM.test_cython_vs_numba<  s›   € ô �\‰\˜3¤ a£˜/Ó*ˆØ�fÒÙ!‰Gâ*ˆBˆs‰GÙ.ˆGØ�UŠ?ØˆFÙ�b‹k�o‰o #¨fÀ	ˆoÓJˆà"'°XÑ>ˆØ%”˜˜fÓ%¨WÀMÔRˆØ'”7˜3 Ó'¨xÔ8ˆä
×Ñ˜f hÕ/r   c                 óD  — t        j                  dg d¢i«      }|dk(  rd„ }n
d„ }g d¢|d<   d}t        j                  g d	¢«      } ||«      j                  |d
||¬«      }||dœ}	|j	                  d|	¬«      }
|j	                  d¬«      }t        j                  |
|«       y )Nr)   )r   r   r    r    r"   r"   rª   c                 ó   — | S r   r.   rf   s    r   r¤   z4TestEWM.test_cython_vs_numba_times.<locals>.<lambda>U  rÀ   r   c                 ó$   — | j                  d«      S r§   r¨   rf   s    r   r¤   z4TestEWM.test_cython_vs_numba_times.<locals>.<lambda>W  rÂ   r   )rX   r®   rX   r®   r®   rX   r(   z23 days)ú
2020-01-01rÉ   z
2020-01-02z
2020-01-10z
2020-02-23z
2020-01-03T)ÚhalfliferÃ   rÄ   Útimesr=   r   rv   rG   r³   )r*   r+   Úto_datetimer·   r   rM   r]   )rO   r¢   r>   r?   rÄ   ro   rÊ   rË   r·   rE   rQ   rR   s               r   Útest_cython_vs_numba_timesz"TestEWM.test_cython_vs_numba_timesO  s«   € ô �\‰\˜3Ò 2Ð3Ó4ˆØ�fÒÙ!‰Gá.ˆGÚ4ˆBˆs‰GàˆÜ—‘òó	
ˆñ �b‹k�o‰oØ d°iÀuð ó 
ˆð #(°XÑ>ˆà—‘ ¸�ÓFˆØ—8‘8 8�8Ó,ˆä
×Ñ˜f hÕ/r   N)
r˜   r™   rš   r›   rœ   r�   r¹   r½   rÅ   rÍ   r.   r   r   r¡   r¡   &  s%  „ à‡[�[×ÑØ‘KÑ!9Ð:ÀÈÐ@Sð ó ð ‡[�[×Ñ˜X¨° Ó7ñDó 8óðDð
 ‡[�[×ÑØ‘KÑ!9Ð:ÀÈÐ@Sð ó ð ‡[�[×Ñ˜X¨° Ó7ñó 8óðð ‡[�[×Ñ˜Y¨°Ð(;Ó<Ø‡[�[×Ñ˜X¨° Ó7ñ0ó 8ó =ð0ð" ‡[�[×Ñ˜Y¨°Ð(;Ó<ñ0ó =ñ0r   r¡   c                  óT  — d„ } t        j                  t        d«      «      }t        j                  dd«      5  |j	                  d«      j                  | d d¬«      }d d d «       |j	                  d«      j                  | dd¬«      }t        j                  |«       y # 1 sw Y   ŒCxY w)Nc                 ó2   — t        j                  | «      dz   S )Nr"   r7   rf   s    r   r<   z!test_use_global_config.<locals>.fs  s   € Ü�w‰w�q‹z˜A‰~Ðr   rA   zcompute.use_numbaTr"   r„   r   )r*   rI   rJ   Úoption_contextrK   rL   rM   rN   )r<   rP   rQ   rR   s       r   Útest_use_global_configrÑ   q  s�   € òô 	�	‰	”%˜“)Ó€AÜ	×	Ñ	Ð.°Ó	5ñ >Ø—‘˜1“×#Ñ# A¨d¸Ð#Ó=ˆ÷>à�y‰y˜‹|×!Ñ! !¨G¸Ð!Ó>€HÜ×Ñ˜8 VÕ,÷>ð >ús   ¸$BÂB'c            	      óÈ  — t        j                  t        d¬«      5  t        j                  t        d«      «      j                  d«      j                  d„ ddidd¬«       d d d «       t        j                  t        d	¬«      5  t        j                  t        d«      «      j                  d«      j                  d
„ ddidd¬«       d d d «       t        j                  t        j                  t        d«      t        ¬«      dz   t        j                  t        d«      «      j                  d«      j                  d„ ddidd¬«      «       y # 1 sw Y   ŒíxY w# 1 sw Y   Œ’xY w)Nz&got an unexpected keyword argument 'a'r¯   r    c                 ó   — | S r   r.   rf   s    r   r¤   z.test_invalid_kwargs_nopython.<locals>.<lambda>�  s   € �a€ r   rX   r   T)r[   rD   rF   z-numba does not support keyword-only argumentsc                ó   — | S r   r.   ©r8   rX   s     r   r¤   z.test_invalid_kwargs_nopython.<locals>.<lambda>‡  s   € ˜A€ r   ©Údtypec                 ó(   — | |z   j                  «       S r   rV   rÕ   s     r   r¤   z.test_invalid_kwargs_nopython.<locals>.<lambda>Ž  s   € ˜Q ™UŸK™K›M€ r   )r›   rµ   Ú	TypeErrorr*   rI   rJ   rK   rL   r   rM   rN   Úfloatr.   r   r   Útest_invalid_kwargs_nopythonrÛ   }  s  € ä	�‰”yÐ(PÔ	Qñ 
Ü
�	‰	”%˜“(Ó×#Ñ# AÓ&×,Ñ,Ù  a °¸dð 	-ô 	
÷
ô 
�‰ÜÐMô
ñ 
ô 	�	‰	”%˜“(Ó×#Ñ# AÓ&×,Ñ,Ù s¨A h°wÀDð 	-ô 	
÷
ô ×ÑÜ
�	‰	”%˜“(¤%Ô(¨1Ñ,Ü
�	‰	”%˜“(Óß	‰�‹ß	‰Ñ)°3¸°(À7ÐPTˆÓ	Uõ	÷
ð 
ú÷
ð 
ús   œAEÂAEÅEÅE!c                   ó"  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
j                  j                  d ej                  d	«       ej                  d
«       ej                  d«      g«      e
j                  j                  dddg«      d„ «       «       Zy)ÚTestTableMethodc                 óì   — d„ }t        j                  t        d¬«      5  t        j                  t        d«      «      j                  dd¬«      j                  |dd¬	«       d d d «       y # 1 sw Y   y xY w)
Nc                 ó6   — t        j                  | d¬«      dz   S ©Nr   ©Úaxisr    r‰   rf   s    r   r<   z7TestTableMethod.test_table_series_valueerror.<locals>.f˜  ó   € Ü—6‘6˜! !Ô$ qÑ(Ð(r   z1method='table' not applicable for Series objects.r¯   r    r
   ©r   r   Tr„   )r›   rµ   r¶   r*   rI   rJ   rK   rL   )rO   r<   s     r   Útest_table_series_valueerrorz,TestTableMethod.test_table_series_valueerror—  sj   € ò	)ô �]‰]ÜÐQô
ñ 	ô �I‰I”e˜A“hÓ×'Ñ'¨°'Ð'Ó:×@Ñ@Ø˜' tð Aô ÷	÷ 	ñ 	ús   ŸAA*Á*A3c                 óÖ  — |\  }}||dœ}t        j                  t        j                  d«      «      }|j	                  ddd|¬«      }	|dv r=t        j                  t        |› d�¬	«      5   t        |	|«      d|d
dœ|¤Ž d d d «       y |j	                  ddd|¬«      }
 t        |	|«      d|d
dœ|¤Ž} t        |
|«      d|d
dœ|¤Ž}t        j                  ||«       y # 1 sw Y   y xY w)Nr=   r$   r"   r
   r   ©r   rl   rC   ©r   r   ú not supportedr¯   r   ©rE   rD   r	   r.   )r*   r+   r,   r|   rK   r›   rµ   ÚNotImplementedErrorrw   rM   r]   )rO   r>   r?   r   rC   r   r[   rE   ro   Ú
roll_tableÚroll_singlerQ   rR   s                r   Ú!test_table_method_rolling_methodsz1TestTableMethod.test_table_method_rolling_methods¢  s  € ð >‰ˆ�à"'°XÑ>ˆä�\‰\œ"Ÿ&™& ›)Ó$ˆØ—Z‘Z ¨'¸qÀt�ZÓLˆ
Ø�^Ñ#Ü—‘Ô2¸V¸HÀNÐ:SÔTñ Ø+”˜
 FÓ+ð Ø"/¸ñØCIò÷ð ð
 Ÿ*™* Q¨xÀQÈT˜*ÓRˆKØ0”W˜Z¨Ó0ð Ø+°GñØ?EñˆFð 4”w˜{¨FÓ3ð Ø+°GñØ?EñˆHô ×!Ñ! &¨(Õ3÷ð ús   Á*CÃC(c                 ó0  — ||dœ}d„ }t        j                  t        j                  d«      «      }|j	                  ddd|¬«      j                  |d|d	¬
«      }|j	                  ddd|¬«      j                  |d|d	¬
«      }t        j                  ||«       y )Nr=   c                 ó6   — t        j                  | d¬«      dz   S rà   r‰   rf   s    r   r<   z:TestTableMethod.test_table_method_rolling_apply.<locals>.fÁ  rã   r   r$   r"   r
   r   rç   Tr   ©rF   rE   rD   r	   )r*   r+   r,   r|   rK   rL   rM   r]   )	rO   r>   r?   rC   rE   r<   ro   rQ   rR   s	            r   Útest_table_method_rolling_applyz/TestTableMethod.test_table_method_rolling_apply¾  s�   € Ø"'°XÑ>ˆò	)ô �\‰\œ"Ÿ&™& ›)Ó$ˆØ—‘˜A g¸1À4�ÓH×NÑNØ�4 }¸Wð Oó 
ˆð —:‘:˜a¨¸aÀd�:ÓK×QÑQØ�4 }¸Wð Ró 
ˆô 	×Ñ˜f hÕ/r   c                 ó¶  — d„ }t        j                  g d¢g d¢dœ«      }|j                  ddd¬«      d	d
g   j                  |dd¬«      }t        j                  g d¢g d¢dœ«      }t	        j
                  ||«       |j                  ddd¬«      d
d	g   j                  |dd¬«      }t        j                  g d¢g d¢dœ«      }t	        j
                  ||«       y )Nc                 óN   — t        j                  | d d …df   | d d …df   z
  «      S )Nr   r    )r,   Únanmeanrf   s    r   r<   zDTestTableMethod.test_table_method_rolling_apply_col_order.<locals>.fÏ  s&   € Ü—:‘:˜a¢ 1 ™g¨ª!¨Q¨$©Ñ/Ó0Ð0r   )r    r"   r$   rh   rZ   ri   )ri   rj   r%   rZ   ri   rj   )rX   r®   r$   r
   r   rk   rX   r®   Tr   rm   )éûÿÿÿrö   rö   ghË¹WUÀg˜4Fë¨ªÀrd   )rZ   rZ   rZ   ghË¹WU@g˜4Fë¨ª@r    )r®   rX   )r*   r+   rK   rL   rM   Úassert_almost_equal)rO   r<   ro   rQ   rR   s        r   Ú)test_table_method_rolling_apply_col_orderz9TestTableMethod.test_table_method_rolling_apply_col_orderÍ  sè   € ò	1ô �\‰\â'Ú'ñó
ˆð —‘˜A g¸1�Ó=¸sÀC¸jÑI×OÑOØ�4 ð Pó 
ˆô —<‘<â9Ú9ñó
ˆô 	×Ñ˜v xÔ0Ø—‘˜A g¸1�Ó=¸sÀC¸jÑI×OÑOØ�4 ð Pó 
ˆô —<‘<â3Ú3ñó
ˆô 	×Ñ˜v xÕ0r   c                 ó  — d„ }t        j                  g d¢g d¢g d¢g d¢g«      }|j                  ddd|¬	«      j                  |d
d¬«      }t        j                  g d¢g d¢g d¢g d¢g«      d d |…   }t	        j
                  ||«       y )Nc                 óÚ   — t        j                  d| j                  d   f«      }| d d …d d…f   | d d …df   z  j                  d¬«      | d d …df   j                  «       z  |d d …d d…f<   |S )Nr    r"   r   rá   )r,   ÚonesÚshaper   )r8   Úarrs     r   Úweighted_meanzNTestTableMethod.test_table_method_rolling_weighted_mean.<locals>.weighted_meanî  sl   € Ü—'‘'˜1˜aŸg™g a™j˜/Ó*ˆCØšA˜r ˜r˜E™( Q¢q¨! t¡WÑ,×1Ñ1°qÐ1Ó9¸AºaÀ¸d¹G¿K¹K»MÑIˆC’�2�A�2�‰JØˆJr   )r    r"   g333333ã?)r"   r$   gš™™™™™Ù?)r$   rh   gš™™™™™É?)rh   rZ   gffffffæ?r"   r
   r   rç   Tr   rm   )r�   r�   r�   )gÍÌÌÌÌÌü?r�   r�   )g©kí}ªª
@g©kí}ªª@r�   )g“‹1°Žãø?rj   r�   r–   )rO   rC   rþ   ro   rQ   rR   s         r   Ú'test_table_method_rolling_weighted_meanz7TestTableMethod.test_table_method_rolling_weighted_meaní  s�   € ò	ô
 �\‰\š;ª²[Â+ÐNÓOˆØ—‘˜A g¸1À4�ÓH×NÑNØ˜t¨Gð Oó 
ˆô —<‘<âÚÚ)Ú"ð	ó
ñ ˆDˆ&ñˆô 	×Ñ˜f hÕ/r   c                 ó$  — ||dœ}d„ }t        j                  t        j                  d«      «      }|j	                  d¬«      j                  |d|d¬«      }|j	                  d	¬«      j                  |d|d¬«      }t        j                  ||«       y )
Nr=   c                 ó6   — t        j                  | d¬«      dz   S rà   r‰   rf   s    r   r<   z<TestTableMethod.test_table_method_expanding_apply.<locals>.f  rã   r   r$   r
   rä   Tr   rñ   r	   )r*   r+   r,   r|   r^   rL   rM   r]   )rO   r>   r?   rE   r<   ro   rQ   rR   s           r   Ú!test_table_method_expanding_applyz1TestTableMethod.test_table_method_expanding_apply  s’   € àØ ñ
ˆò
	)ô �\‰\œ"Ÿ&™& ›)Ó$ˆØ—‘ W�Ó-×3Ñ3Ø�4 }¸Wð 4ó 
ˆð —<‘< x�<Ó0×6Ñ6Ø�4 }¸Wð 7ó 
ˆô 	×Ñ˜f hÕ/r   c                 óÊ  — |\  }}||dœ}t        j                  t        j                  d«      «      }|j	                  d¬«      }|dv r=t        j                  t        |› d�¬«      5   t        ||«      d|dd	œ|¤Ž d d d «       y |j	                  d
¬«      }	 t        ||«      d|dd	œ|¤Ž}
 t        |	|«      d|dd	œ|¤Ž}t        j                  |
|«       y # 1 sw Y   y xY w)Nr=   r$   r
   rä   rè   ré   r¯   r   rê   r	   r.   )r*   r+   r,   r|   r^   r›   rµ   rë   rw   rM   r]   )rO   r>   r?   r   r   r[   rE   ro   Úexpand_tableÚexpand_singlerQ   rR   s               r   Ú#test_table_method_expanding_methodsz3TestTableMethod.test_table_method_expanding_methods  s  € ð >‰ˆ�ð Ø ñ
ˆô
 �\‰\œ"Ÿ&™& ›)Ó$ˆØ—|‘|¨7�|Ó3ˆØ�^Ñ#Ü—‘Ô2¸V¸HÀNÐ:SÔTñ Ø-”˜ fÓ-ð Ø"/¸ñØCIò÷ð ð
 ŸL™L°˜LÓ9ˆMØ2”W˜\¨6Ó2ð Ø+°GñØ?EñˆFð 6”w˜}¨fÓ5ð Ø+°GñØ?EñˆHô ×!Ñ! &¨(Õ3÷ð ús   Á'CÃC"r`   r$   )r"   r$   )r$   r"   r   r   r   c                 óø   — ||dœ}t        j                  |«      } t        |j                  dd¬«      |«      |d¬«      } t        |j                  dd¬«      |«      |d¬«      }t	        j
                  ||«       y )Nr=   r    r
   )r²   r   r   rê   r	   )r*   r+   rw   r·   rM   r]   )	rO   r`   r   r>   r?   rE   ro   rQ   rR   s	            r   Útest_table_method_ewmz%TestTableMethod.test_table_method_ewm.  s{   € ð #(°XÑ>ˆä�\‰\˜$Óˆà?”˜Ÿ™ A¨g˜Ó6¸Ó?Ø'°ô
ˆð C”7˜2Ÿ6™6 a°˜6Ó9¸6ÓBØ'°ô
ˆô 	×Ñ˜f hÕ/r   N)r˜   r™   rš   rå   rî   rò   rø   rÿ   r  r  r›   rœ   r�   r,   r|   rû   r  r.   r   r   rÝ   rÝ   ’  sŽ   „ ò
	ò4ò80ò1ò@0ò(0ò$4ð6 ‡[�[×Ñ˜V f b§f¡f¨Q£i°°·±¸³À'À"Ç'Á'È&Ã/Ð%RÓSØ‡[�[×Ñ˜X¨° Ó7ñ0ó 8ó Tñ0r   rÝ   c                  ó   — t        j                  dg d¢i«      } t        j                  d«      5  | j                  j                  d«      j                  t        j                  dd¬«       d d d «       y # 1 sw Y   y xY w)NÚcol1)r    r"   r$   rh   rZ   Fr"   Tr   rm   )	r*   r+   rM   Úassert_produces_warningr
  rK   rL   r,   Úprod)ro   s    r   Útest_npfunc_no_warningsr  >  sb   € ä	�‰�všÐ/Ó	0€BÜ	×	#Ñ	# EÓ	*ñ DØ
�‰�‰˜Ó× Ñ ¤§¡¨d¸7Ð ÔC÷D÷ Dñ Dús   ¯<A4Á4A=c                   ó(   ‡ — e Zd Zˆ fd„Z	 dd„Zˆ xZS )ÚPrescribedWindowIndexerc                 ó>   •— || _         || _        t        ‰| �  «        y r   )Ú_startÚ_endÚsuperÚ__init__)rO   ÚstartÚendÚ	__class__s      €r   r  z PrescribedWindowIndexer.__init__F  s   ø€ ØˆŒØˆŒ	Ü‰ÑÕr   c                 ó¼   — |€t        | j                  «      }t        j                  | j                  d|«      }t        j                  | j                  d|«      }||fS r6   )re   r  r,   Úclipr  )rO   Ú
num_valuesrl   rB   ÚclosedrC   r  r  s           r   Úget_window_boundsz)PrescribedWindowIndexer.get_window_boundsK  sN   € ð ÐÜ˜TŸ[™[Ó)ˆJÜ—‘˜Ÿ™ Q¨
Ó3ˆÜ�g‰g�d—i‘i  JÓ/ˆØ�cˆzÐr   )NNNNN)r˜   r™   rš   r  r  Ú__classcell__)r  s   @r   r  r  E  s   ø„ ôð QU÷r   r  c            
       ó†   — e Zd Zej                  j                  dddg d¢fddg d¢fddg d¢fddg d¢fg«      d„ «       Zd	„ Zy
)ÚTestMinMaxNumbazis_max, has_nan, exp_listTF)
ç      @ç      @r�   r!  r�   r!  ç      @ç      @ç       @ç      "@)
r   ç      @r�   r&  r�   r&  r"  r#  r#  r%  )
r   r�   r�   r�   r�   r•   r•   r•   r#  r•   )
r   r�   r�   r�   r�   r�   r"  r"  r#  r�   c                 óÞ  — g d¢}t        j                  g d¢g d¢g d¢dœ«      }|rt        j                  |j                  |df<   t        j
                  |d¬«      }|j                  j                  t        |j                  j                  «       |j                  j                  «       «      «      }|r|j                  d¬	«      }n|j                  d¬	«      }t        j                  ||«       y )
N)r   rZ   r%   )
r!  r&  r   r�   r�   r•   r"  r#  r$  r%  )
r"   r   r$   r   rh   r   rZ   rZ   rj   r$   )
r$   rh   rh   rZ   rZ   ri   rj   r%   é	   rA   ©r`   r  r  r`   rr   r   r³   )r*   r+   r,   rn   ÚlocrI   r`   rK   r  r  Úto_numpyr  r   r   rM   rN   )	rO   Úis_maxÚhas_nanÚexp_listÚnan_idxro   rR   ÚrrQ   s	            r   Útest_minmaxzTestMinMaxNumba.test_minmaxW  s¹   € ò ˆÜ�\‰\âJÚ7Ú6ñó
ˆñ Ü&(§f¡fˆB�F‰F�7˜F�?Ñ#Ü—9‘9˜X¨FÔ3ˆØ�G‰G�O‰OÜ# B§H¡H×$5Ñ$5Ó$7¸¿¹¿¹Ó9JÓKó
ˆñ Ø—U‘U '�UÓ*‰Fà—U‘U '�UÓ*ˆFä
×Ñ˜v xÕ0r   c                 ó–  — t        j                  t        d«      t         j                  ¬«      }|dz   }|d   |d<   |d   dz
  |d<   t	        j
                  |dz  ||dœ«      }|j                  j                  t        ||«      «      }t        j                  t        d¬	«      5  |j                  d
¬«       d d d «       y # 1 sw Y   y xY w)NrZ   rÖ   r    r"   r$   r�   r)  z5Start/End ordering requirement is violated at index 3r¯   r   r³   )r,   ÚarrayrJ   Úint64r*   r+   r`   rK   r  r›   rµ   r¶   r   )rO   r  r  ro   r0  s        r   Útest_wrong_orderz TestMinMaxNumba.test_wrong_orderv  s«   € Ü—‘œ˜q›¬¯©Ô2ˆØ�a‰iˆØ�Q‘ˆˆA‰Ø˜‘8˜a‘<ˆˆa‰ä�\‰\ 5¨3¡;¸ÀsÑKÓLˆà�G‰G�O‰OÔ3°E¸3Ó?Ó@ˆÜ�]‰]ÜÐUô
ñ 	"ð �E‰E˜ˆEÔ!÷	"÷ 	"ñ 	"ús   Â#B?Â?CN)r˜   r™   rš   r›   rœ   r�   r1  r5  r.   r   r   r  r  U  s\   „ à‡[�[×ÑØ#à�5ÒLÐMØ�4ÒKÐLØ�EÒMÐNØ�DÒLÐMð		
óñ1óð1ó,"r   r  )+Únumpyr,   r›   Úpandas.compatr   Úpandas.errorsr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr*   Úpandas._testingÚ_testingrM   Úpandas.api.indexersr   Úpandas.util.versionr   rœ   Ú
single_cpuÚ
pytestmarkÚimportorskipr   ÚappendÚskipifÚ__version__Úfixturer   r   r/   Ú
skip_if_noÚfilterwarningsr2   r¡   rÑ   rÛ   ÚslowrÝ   r  r  r  r.   r   r   ú<module>rL     sŽ  ðÛ Û å )Ý (ß )Ð )ã Ý Ý +Ý 'à�k‰k×$Ñ$Ð%€
àˆ×Ñ˜GÓ$€Ø 
× Ñ Ø
‡K�K×ÑÙ�×!Ñ!Ó"¡g¨f£oÑ5ÒK¹/Ó:KØ7¸×8IÑ8IÐ7JÐKð ó ôð €‡�˜ 'Ð*Ô+ñó ,ðð
 €‡�à	�ˆØ	�ˆØ	�2ˆØ	�ˆØ	�ˆØ	�ˆØ	�˜�ÐØ	�ˆØ	�˜�Ðð
ôñóðð ‡�ñRó ðRð €‡�ˆwÓØ‡�×Ñ˜HÓ%÷l0ð l0ó &ó ðl0ð^ €‡�ˆwÓ÷G0ð G0ó ðG0ðT €‡�ˆwÓñ-ó ð-ð €‡�ˆwÓñó ðð( €‡�ˆwÓØ‡�×ÑØ‡�×Ñ˜HÓ%÷e0ð e0ó &ó ó ðe0ðP €‡�ˆwÓñDó ðDô˜kô ð  €‡�ˆwÓ÷,"ð ,"ó ñ,"r   