Ë
    u™ãjN  ã                   ó¬  — d dl Zd dl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  ej                   d«      ej"                  j$                  ej"                  j'                  «       gZ ej*                  d«      Zej/                  ej"                  j'                   eej0                  «       ed«      k(  xr  e«       dej0                  › �¬«      «        ej2                  d dg¬	«      d
„ «       Zd„ Zd„ Zd„ Zej"                  j=                  dd„ d„ d„ d„ g«      d„ «       Zej"                  j=                  dg d¢g d¢g«      d„ «       Z d„ Z!d„ Z"d„ Z#y)é    N)Úis_platform_arm)ÚVersionÚnumbaz0.61z&Segfaults on ARM platforms with numba )Úreasoné   )Úparamsc                 ó   — | j                   S ©N)Úparam)Úrequests    úh/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/apply/test_numba.pyÚ
apply_axisr      s   € à�=‰=Ðó    c                 ó†   — d„ }| j                  |d|¬«      }| j                  |d|¬«      }t        j                  ||«       y )Nc                 ó   — | S r
   © ©Úxs    r   ú<lambda>z+test_numba_vs_python_noop.<locals>.<lambda>   ó   € �Q€ r   r   ©ÚengineÚaxisÚpython)ÚapplyÚtmÚassert_frame_equal)Úfloat_framer   ÚfuncÚresultÚexpecteds        r   Útest_numba_vs_python_noopr"      sE   € Ù€DØ×Ñ˜t¨G¸*ÐÓE€FØ× Ñ  ¨h¸ZÐ ÓH€HÜ×Ñ˜& (Õ+r   c            
      ó   — t        j                  dt        j                  ddgt        j                  t        j
                  ¬«      ¬«      t        j                  ddgt        j                  t        j
                  ¬«      ¬«      ¬«      } d	„ }| j                  |d
d¬«      }| j                  |dd¬«      }t        j                  ||dd¬«       y )Nr   ÚaÚb)Úna_value©Údtyper   Úy)ÚindexÚcolumnsc                 ó   — | S r
   r   r   s    r   r   z3test_numba_vs_python_string_index.<locals>.<lambda>)   r   r   r   r   r   r   F)Úcheck_column_typeÚcheck_index_type)	ÚpdÚ	DataFrameÚIndexÚStringDtypeÚnpÚnanr   r   r   )Údfr   r    r!   s       r   Ú!test_numba_vs_python_string_indexr6   "   s—   € ä	�‰Ø	Ü�h‰h˜˜S�z¬¯©ÄÇÁÔ)HÔIÜ—‘˜#˜s˜¬2¯>©>Ä2Ç6Á6Ô+JÔKô
€Bñ
 €DØ�X‰X�d 7°ˆXÓ3€FØ�x‰x˜ X°AˆxÓ6€HÜ×ÑØ�¨EÀEör   c                  ót  — t        j                  g d¢g d¢g d¢dœt        j                  g d¢«      ¬«      } d„ }| j                  |dd	¬
«      }| j                  |dd	¬
«      }t	        j
                  ||«       d„ }| j                  |dd¬
«      }| j                  |dd¬
«      }t	        j
                  ||«       y )N©r   é   é   ©é   é   é   )g      @g       @g      "@©r$   r%   Úc)ÚAÚBÚC©r*   c                 ó   — | d   S )Nr@   r   r   s    r   r   z/test_numba_vs_python_indexing.<locals>.<lambda>6   ó
   € ˜˜3™€ r   r   r   r   r   c                 ó   — | d   S )NrA   r   r   s    r   r   z/test_numba_vs_python_indexing.<locals>.<lambda>;   rF   r   r   )r/   r0   r1   r   r   Úassert_series_equal)ÚframeÚrow_funcr    r!   Úcol_funcs        r   Útest_numba_vs_python_indexingrL   1   s¢   € Ü�L‰LÚšiªoÑ>Ü�h‰h’Ó'ô€Eñ  €HØ�[‰[˜¨'¸ˆ[Ó:€FØ�{‰{˜8¨H¸1ˆ{Ó=€HÜ×Ñ˜6 8Ô,á€HØ�[‰[˜¨'¸ˆ[Ó:€FØ�{‰{˜8¨H¸1ˆ{Ó=€HÜ×Ñ˜6 8Õ,r   Ú	reductionc                 ó"   — | j                  «       S r
   )Úmeanr   s    r   r   r   C   s   € ˆq�v‰v‹x€ r   c                 ó"   — | j                  «       S r
   )Úminr   s    r   r   r   C   s   €  1§5¡5£7€ r   c                 ó"   — | j                  «       S r
   )Úmaxr   s    r   r   r   C   s   € °a·e±e³g€ r   c                 ó"   — | j                  «       S r
   )Úsumr   s    r   r   r   C   s   € ÈÏÉË€ r   c                 óð   — t        j                  t        j                  dt        j                  ¬«      «      }|j                  | d|¬«      }|j                  | d|¬«      }t        j                  ||«       y )N)r<   r<   r'   r   r   r   )r/   r0   r3   ÚonesÚfloat64r   r   rH   )rM   r   r5   r    r!   s        r   Útest_numba_vs_python_reductionsrY   A   sY   € ô
 
�‰”b—g‘g˜f¬B¯J©JÔ7Ó	8€BØ�X‰X�i¨°jˆXÓA€FØ�x‰x˜	¨(¸ˆxÓD€HÜ×Ñ˜6 8Õ,r   Úcolnamesr8   )g      ð?g       @g      @c                 ó  ‡— t        j                  t        j                  g d¢g d¢g d¢gt        j                  ¬«      | ¬«      }| d   Šˆfd„}|j                  |dd	¬
«      }|j                  |dd	¬
«      }t        j                  ||«       y )Nr8   r;   )é   é   é	   r'   )r+   r   c                 ó   •— | ‰   S r
   r   )r   Ú	first_cols    €r   r   z-test_numba_numeric_colnames.<locals>.<lambda>S   s   ø€ �!�I‘,€ r   r   r   r   r   )r/   r0   r3   ÚarrayÚint64r   r   rH   )rZ   r5   Úfr    r!   r`   s        @r   Útest_numba_numeric_colnamesrd   L   sv   ø€ ô 
�‰Ü
�‰’)šYª	Ð2¼"¿(¹(ÔCÈXô
€Bð ˜‘€IÛ€AØ�X‰X�a ¨aˆXÓ0€FØ�x‰x˜ (°ˆxÓ3€HÜ×Ñ˜6 8Õ,r   c                 ó–   — d„ }t        j                  t        d¬«      5  | j                  |dddi¬«       d d d «       y # 1 sw Y   y xY w)Nc                 ó   — | S r
   r   r   s    r   r   z1test_numba_parallel_unsupported.<locals>.<lambda>Z   ó   € �!€ r   zAParallel apply is not supported when raw=False and engine='numba'©Úmatchr   ÚparallelT)r   Úengine_kwargs)ÚpytestÚraisesÚNotImplementedErrorr   )r   rc   s     r   Útest_numba_parallel_unsupportedro   Y   sN   € Ù€AÜ	�‰ÜØQô
ñ Oð 	×Ñ˜! G¸JÈÐ;MÐÔN÷	O÷ Oñ Oús	   Ÿ?¿Ac                 óò   — d„ }t        j                  dddgit        j                  ddg«      ¬«      }t        j                  t
        d¬«      5  |j                  |d| ¬	«       d d d «       y # 1 sw Y   y xY w)
Nc                 ó   — | S r
   r   r   s    r   r   z2test_numba_nonunique_unsupported.<locals>.<lambda>c   rg   r   r$   r   r9   rD   zBThe index/columns must be unique when raw=False and engine='numba'rh   r   r   )r/   r0   r1   rl   rm   rn   r   ©r   rc   r5   s      r   Ú test_numba_nonunique_unsupportedrs   b   sg   € Ù€AÜ	�‰�s˜Q ˜F�m¬2¯8©8°S¸#°JÓ+?Ô	@€BÜ	�‰ÜØRô
ñ 5ð 	�‰�˜7¨ˆÔ4÷	5÷ 5ñ 5ús   ÁA-Á-A6c                 óÒ  — t        j                  d«       d„ }t        j                  ddgddgddgd	œ«      }|d
   j	                  d«      |d
<   t        j
                  t        d¬«      5  |j                  |d| ¬«       d d d «       t        j
                  t        d¬«      5  |d
   j                  «       j                  |d| ¬«       d d d «       y # 1 sw Y   ŒSxY w# 1 sw Y   y xY w)NÚpyarrowc                 ó   — | S r
   r   r   s    r   r   z/test_numba_unsupported_dtypes.<locals>.<lambda>n   rg   r   r   r9   r$   r%   r<   r=   r?   r@   zdouble[pyarrow]z@Column b must have a numeric dtype. Found '(object|str)' insteadrh   r   r   zUColumn c is backed by an extension array, which is not supported by the numba engine.)	rl   Úimportorskipr/   r0   Úastyperm   Ú
ValueErrorr   Úto_framerr   s      r   Útest_numba_unsupported_dtypesr{   l   sá   € Ü
×Ñ˜	Ô"Ù€AÜ	�‰˜Q ˜F¨#¨s¨¸1¸a¸&ÑAÓ	B€BØ�‰g�n‰nÐ.Ó/€B€s�Gä	�‰ÜØPô
ñ 5ð 	�‰�˜7¨ˆÔ4÷	5ô 
�‰Üð6ô
ñ Eð
 	ˆ3‰×ÑÓ× Ñ  ¨7¸Ð ÔD÷Eð E÷5ð 5ú÷Eð Eús   Á*CÂ"&CÃCÃC&)$Únumpyr3   rl   Úpandas.compatr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr/   Úpandas._testingÚ_testingr   Úpandas.util.versionr   Ú
skip_if_noÚmarkÚ
single_cpuÚskipifÚ
pytestmarkrw   r   ÚappendÚ__version__Úfixturer   r"   r6   rL   ÚparametrizerY   rd   ro   rs   r{   r   r   r   ú<module>r�      sU  ðÛ Û å )ß )Ð )ã Ý Ý 'àˆb�m‰m˜GÓ$ f§k¡k×&<Ñ&<¸f¿k¹k×>PÑ>PÓ>RÐS€
àˆ×Ñ˜GÓ$€Ø 
× Ñ Ø
‡K�K×ÑÙ�×!Ñ!Ó"¡g¨f£oÑ5ÒK¹/Ó:KØ7¸×8IÑ8IÐ7JÐKð ó ôð €‡�˜˜1�vÔñó ðò,òò-ð  ‡�×ÑØÙÑ*Ñ,=Ñ?PÐQóñ-ó	ð-ð ‡�×Ñ˜¢i²Ð%AÓBñ	-ó Cð	-òOò5óEr   