ó
    ¬œ‘h^  ã                   óº  • S SK rS SKrS SKJr  S SKJs  Jr  S SK	r
S SK	JrJr  S SKJr  S SKJr  \R$                  " S5      \R&                  R(                  \R&                  R+                  5       /r\R.                  " S5      r\R3                  \R&                  R+                  \" \R4                  5      \" S5      :H  =(       a    \" 5       S\R4                   3S95        \R6                  " S S	/S
9S 5       rS rS rS r\R&                  RA                  SS S S S /5      S 5       r!\R&                  RA                  S/ SQ/ SQ/5      S 5       r"S r#S r$S r%g)é    N)Úis_platform_arm)Ú	DataFrameÚIndex)ÚVersionÚnumbaz0.61z&Segfaults on ARM platforms with numba )Úreasoné   )Úparamsc                 ó   • U R                   $ ©N)Úparam)Úrequests    ÚaC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\pandas/tests/apply/test_numba.pyÚ
apply_axisr      s   € à�=‰=Ðó    c                 óz   • S nU R                  USUS9nU R                  USUS9n[        R                  " X45        g )Nc                 ó   • U $ r   © ©Úxs    r   Ú<lambda>Ú+test_numba_vs_python_noop.<locals>.<lambda>    ó   € ‘Qr   r   ©ÚengineÚaxisÚpython)ÚapplyÚtmÚassert_frame_equal)Úfloat_framer   ÚfuncÚresultÚexpecteds        r   Útest_numba_vs_python_noopr%      sC   € Ù€DØ×Ñ˜t¨G¸*ÐÐE€FØ× Ñ  ¨h¸ZÐ ÐH€HÜ×Ò˜&Õ+r   c                  ó8  • [        S[        SS/[        R                  " [        R
                  S9S9[        SS/[        R                  " [        R
                  S9S9S9n S	 nU R                  US
SS9nU R                  USSS9n[        R                  " X#SSS9  g )Nr	   ÚaÚb)Úna_value©Údtyper   Úy)ÚindexÚcolumnsc                 ó   • U $ r   r   r   s    r   r   Ú3test_numba_vs_python_string_index.<locals>.<lambda>-   r   r   r   r   r   r   F)Úcheck_column_typeÚcheck_index_type)	r   r   ÚpdÚStringDtypeÚnpÚnanr   r   r    )Údfr"   r#   r$   s       r   Ú!test_numba_vs_python_string_indexr8   &   s‰   € ä	Ø	Ü�S˜#�J¤b§n¢n¼b¿f¹fÑ&EÑFÜ�s˜C�j¬¯ªÄÇÁÑ(GÑHñ
€Bñ
 €DØ�X‰X�d 7°ˆXÐ3€FØ�x‰x˜ X°AˆxÐ6€HÜ×ÒØ¨EÀEór   c                  ó.  • [        / SQ/ SQ/ SQS.[        / SQ5      S9n S nU R                  USS	S
9nU R                  USS	S
9n[        R                  " X#5        S nU R                  USSS
9nU R                  USSS
9n[        R                  " X#5        g )N©r	   é   é   ©é   é   é   )g      @g       @g      "@©r'   r(   Úc)ÚAÚBÚC©r-   c                 ó   • U S   $ )NrB   r   r   s    r   r   Ú/test_numba_vs_python_indexing.<locals>.<lambda>:   ó   € ˜˜3šr   r   r	   r   r   c                 ó   • U S   $ )NrC   r   r   s    r   r   rH   ?   rI   r   r   )r   r   r   r   Úassert_series_equal)ÚframeÚrow_funcr#   r$   Úcol_funcs        r   Útest_numba_vs_python_indexingrO   5   s–   € ÜÚšiªoÑ>Ü’OÓ$ñ€Eñ  €HØ�[‰[˜¨'¸ˆ[Ð:€FØ�{‰{˜8¨H¸1ˆ{Ð=€HÜ×Ò˜6Ô,á€HØ�[‰[˜¨'¸ˆ[Ð:€FØ�{‰{˜8¨H¸1ˆ{Ð=€HÜ×Ò˜6Õ,r   Ú	reductionc                 ó"   • U R                  5       $ r   )Úmeanr   s    r   r   r   G   s
   € ˆq�v‰vŒxr   c                 ó"   • U R                  5       $ r   )Úminr   s    r   r   r   G   s
   €  1§5¡5¤7r   c                 ó"   • U R                  5       $ r   )Úmaxr   s    r   r   r   G   s
   € °a·e±e´gr   c                 ó"   • U R                  5       $ r   )Úsumr   s    r   r   r   G   s
   € ÈÏÉÌr   c                 óÌ   • [        [        R                  " S[        R                  S95      nUR	                  U SUS9nUR	                  U SUS9n[
        R                  " X45        g )N)r>   r>   r*   r   r   r   )r   r5   ÚonesÚfloat64r   r   rK   )rP   r   r7   r#   r$   s        r   Útest_numba_vs_python_reductionsr\   E   sS   € ô
 
”2—7’7˜6¬¯©Ñ4Ó	5€BØ�X‰X�i¨°jˆXÐA€FØ�x‰x˜	¨(¸ˆxÐD€HÜ×Ò˜6Õ,r   Úcolnamesr:   )g      ð?g       @g      @c                 óô   ^• [        [        R                  " / SQ/ SQ/ SQ/[        R                  S9U S9nU S   mU4S jnUR	                  USS	S
9nUR	                  USS	S
9n[
        R                  " X45        g )Nr:   r=   )é   é   é	   r*   )r.   r   c                 ó   >• U T   $ r   r   )r   Ú	first_cols    €r   r   Ú-test_numba_numeric_colnames.<locals>.<lambda>W   s	   ø€ �!�I’,r   r   r	   r   r   )r   r5   ÚarrayÚint64r   r   rK   )r]   r7   Úfr#   r$   rc   s        @r   Útest_numba_numeric_colnamesrh   P   sp   ø€ ô 
Ü
�Š’)šYª	Ð2¼"¿(¹(ÑCÈXñ
€Bð ˜‘€IÜ€AØ�X‰X�a ¨aˆXÐ0€FØ�x‰x˜ (°ˆxÐ3€HÜ×Ò˜6Õ,r   c                 ó–   • S n[         R                  " [        SS9   U R                  USSS0S9  S S S 5        g ! , (       d  f       g = f)Nc                 ó   • U $ r   r   r   s    r   r   Ú1test_numba_parallel_unsupported.<locals>.<lambda>^   ó   € ‘!r   zAParallel apply is not supported when raw=False and engine='numba'©Úmatchr   ÚparallelT)r   Úengine_kwargs)ÚpytestÚraisesÚNotImplementedErrorr   )r!   rg   s     r   Útest_numba_parallel_unsupportedrt   ]   sE   € Ù€AÜ	�ŠÜØQó
ð 	×Ñ˜! G¸JÈÐ;MÐÑN÷	
÷ 
ö 
ús	   �:º
Ac                 óÄ   • S n[        SSS/0[        SS/5      S9n[        R                  " [        SS9   UR                  USU S	9  S S S 5        g ! , (       d  f       g = f)
Nc                 ó   • U $ r   r   r   s    r   r   Ú2test_numba_nonunique_unsupported.<locals>.<lambda>g   rl   r   r'   r	   r;   rF   zBThe index/columns must be unique when raw=False and engine='numba'rm   r   r   )r   r   rq   rr   rs   r   ©r   rg   r7   s      r   Ú test_numba_nonunique_unsupportedry   f   sZ   € Ù€AÜ	�C˜!˜Q˜�=¬¨s°C¨jÓ(9Ñ	:€BÜ	�ŠÜØRó
ð 	�‰�˜7¨ˆÑ4÷	
÷ 
ö 
ús   ¶AÁ
Ac                 óÀ  • [         R                  " S5        S n[        SS/SS/SS/S	.5      nUS
   R                  S5      US
'   [         R                  " [
        SS9   UR                  USU S9  S S S 5        [         R                  " [
        SS9   US
   R                  5       R                  USU S9  S S S 5        g ! , (       d  f       NS= f! , (       d  f       g = f)NÚpyarrowc                 ó   • U $ r   r   r   s    r   r   Ú/test_numba_unsupported_dtypes.<locals>.<lambda>r   rl   r   r	   r;   r'   r(   r>   r?   rA   rB   zdouble[pyarrow]z>Column b must have a numeric dtype. Found 'object|str' insteadrm   r   r   zUColumn c is backed by an extension array, which is not supported by the numba engine.)rq   Úimportorskipr   Úastyperr   Ú
ValueErrorr   Úto_framerx   s      r   Útest_numba_unsupported_dtypesr‚   p   sÎ   € Ü
×Ò˜	Ô"Ù€AÜ	˜!˜Q˜ s¨C j¸¸1°vÑ>Ó	?€BØ�‰g�n‰nÐ.Ó/€B€s�Gä	�ŠÜØNó
ð 	�‰�˜7¨ˆÑ4÷	
ô 
�ŠÜð6ó
ð
 	ˆ3‰×ÑÓ× Ñ  ¨7¸Ð ÑD÷
ð 
÷
õ 
ú÷
õ 
ús   ÁB>Â#CÂ>
CÃ
C)&Únumpyr5   rq   Úpandas.compatr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr3   r   r   Úpandas._testingÚ_testingr   Úpandas.util.versionr   Ú
skip_if_noÚmarkÚ
single_cpuÚskipifÚ
pytestmarkr~   r   ÚappendÚ__version__Úfixturer   r%   r8   rO   Úparametrizer\   rh   rt   ry   r‚   r   r   r   Ú<module>r–      sV  ðÛ Û å )ß )Ð )ã ÷õ Ý 'à�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   