
    bMh                        d dl Z d dlmZ d dlmZmZmZ d dlmZ	 d dl
mZ e j        j        gZ e j        d          Ze                    e j                             eej                   ed          k    o	 e            dej                              e j                            d	           G d
 d                      ZdS )    N)is_platform_arm)	DataFrameSeriesoption_context)Versionnumbaz0.61z&Segfaults on ARM platforms with numba )reasonignorec                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )
TestEnginec                 2   |\  }}t          g dt          d          t          dd          d          }|||d}	|                    d|          }
 t          |
|          dd	|	d
|} t          |
|          di |}t	          j        ||           d S )N      r   r            abcnogilparallelnopythonr   sortr   engineengine_kwargs )r   rangegroupbygetattrtmassert_frame_equalselfr   r   r   r   numba_supported_reductionsfunckwargsdfr    gbresultexpecteds                _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/groupby/test_numba.pytest_cython_vs_numba_framez%TestEngine.test_cython_vs_numba_frame   s     2f\\\auQ{{KKLL"'X8TTZZ$Z''"T"" 
-
 
;A
 
 %72t$$..v..
fh/////    c                 >   |\  }}t          g dt          d          t          dd          d          }|||d}	|                    d|          d	         }
 t          |
|          dd
|	d|} t          |
|          di |}t	          j        ||           d S )Nr   r   r   r   r   r   r   r   r   r   r   r!   )r   r"   r#   r$   r%   assert_series_equalr'   s                r0   test_cython_vs_numba_getitemz'TestEngine.test_cython_vs_numba_getitem(   s     2f\\\auQ{{KKLL"'X8TTZZ$Z'',"T"" 
-
 
;A
 
 %72t$$..v..
vx00000r2   c                    |\  }}t          t          d          g dd          }|||d}	|                    d|          }
 t          |
|          d
d|	d	|} t          |
|          d
i |}t	          j        ||           d S )Nr   )r   r   r   foo)indexnamer   r   )levelr   r   r   r!   )r   r"   r#   r$   r%   r4   )r(   r   r   r   r   r)   r*   r+   serr    r-   r.   r/   s                r0   test_cython_vs_numba_seriesz&TestEngine.test_cython_vs_numba_series5   s     2fU1XXYYYU;;;"'X8TT[[qt[,,"T"" 
-
 
;A
 
 %72t$$..v..
vx00000r2   c                 6   |\  }}t          g dt          d          t          dd          d          }|                    dd          }t          j        t
          d	
          5   t          ||          dddi| d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r   r   F)as_indexzas_index=Falsematchr   r   r!   r   r"   r#   pytestraisesNotImplementedErrorr$   r(   r)   r*   r+   r,   r-   s         r0   test_as_index_false_unsupportedz*TestEngine.test_as_index_false_unsupportedB   s    1f\\\auQ{{KKLLZZeZ,,].6FGGG 	8 	8GB77W7777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8   (BBBc                 6   |\  }}t          g dt          d          t          dd          d          }|                    dd          }t          j        t
          d	          5   t          ||          dd
di| d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   r   r   )axiszaxis=1r?   r   r   r!   rA   rE   s         r0   test_axis_1_unsupportedz"TestEngine.test_axis_1_unsupportedI   s    1f\\\auQ{{KKLLZZ!Z$$].h??? 	8 	8GB77W7777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8rG   c                 f   t          g dt          d          t          dd          d          }|                    d          }t          dd          5  |                    d	d
i          }d d d            n# 1 swxY w Y   |                    d	d
i          }t          j        ||           d S )Nr   r   r   r   r   r   zcompute.use_numbaTr   first)r   r"   r#   r   aggr%   r&   )r(   r,   r-   resr/   s        r0   test_no_engine_doesnt_raisez&TestEngine.test_no_engine_doesnt_raiseP   s    \\\auQ{{KKLLZZ__ /66 	) 	)&&#w((C	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)663.))
c8,,,,,s   A::A>A>N)	__name__
__module____qualname__r1   r5   r<   rF   rJ   rO   r!   r2   r0   r   r      sn        0 0 01 1 11 1 18 8 88 8 8	- 	- 	- 	- 	-r2   r   )rB   pandas.compatr   pandasr   r   r   pandas._testing_testingr%   pandas.util.versionr   mark
single_cpu
pytestmarkimportorskipr   appendskipif__version__filterwarningsr   r!   r2   r0   <module>r`      sP    ) ) ) ) ) )         
       ' ' ' ' ' 'k$%
G$$ 
  
K!""ggfoo5K//:K:KK8IKK      H%%?- ?- ?- ?- ?- ?- ?- &%?- ?- ?-r2   