+
    xȇiR:                     Z   ^ RI t^ RIt^ RIHt ^ RIHt ^ RIHtH	t	H
t
HtHt ^ RIHt ^ RIHt ]P$                  P&                  .t]P*                  ! R4      t]P/                  ]P$                  P1                  ]! ]P2                  4      ]! R4      8H  ;'       d    ]! 4       R]P2                   2R	7      4       R
 tR t]P$                  P9                  R4      ]P$                  P;                  RRR.4      R 4       4       t]P$                  P9                  R4      ]P$                  P;                  RRR.4      R 4       4       tR t ]P$                  P;                  RRRR./RR/R^RR.^R//R]
! ^RR7      /.4      R 4       t!]P$                  P;                  R. R1O4      R 4       t"]P$                  P;                  RRR /R3]PF                  ! RR R ./RR.]P$                  PI                  R R	7      R!7      .4      R" 4       t%]P$                  P;                  RRRR./RR/R#RR$R/.4      R% 4       t&]P$                  P&                  ]P$                  P;                  R&]! . R2O4      RRR./3]! . R2O4      RR/3]! ^. R2O^. R3O/^^.R'7      RRR./3]! ^. R2O^. R3O/^^.R'7      RR/3]! ^. R2O^. R3O/^^.R'7      R^RR.^R//3]! ^. R2O^. R3O/^^.R'7      R(]
! ^RR7      /3.4      R) 4       4       t'R* t(R+ t)R, t*]P$                  P9                  R4      R- 4       t+R. t,R/ t-R0 t.R# )4    N)is_platform_arm)NumbaUtilError)	DataFrameIndexNamedAggSeriesoption_context)Versionnumbaz0.61z&Segfaults on ARM platforms with numba )reasonc                     \         P                  ! R 4       R p \        R. R	OR. R
O/RR.R7      p\         P                  ! \        RR7      ;_uu_ 4        VP                  R4      P                  V R R7       RRR4       \         P                  ! \        RR7      ;_uu_ 4        VP                  R4      R,          P                  V R R7       RRR4       R#   + '       g   i     Lh; i  + '       g   i     R# ; i)r   c                 &    \        V 4      R ,          # 皙@sumxs   &y/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/groupby/aggregate/test_numba.pyincorrect_function;test_correct_function_signature.<locals>.incorrect_function   s    1v|    keydatacolumnszThe first 2matchengineNar"   br#   r"         ?       @      @      @      @)pytestimportorskipr   raisesr   groupbyagg)r   r   s     r   test_correct_function_signaturer/      s    
  	)63LMD 
~]	;	;U 27C 
< 
~]	;	;UF#''(:7'K 
<	; 
<	; 
<	;	;s   #C$*C+C(	+C<	c                     \         P                  ! R 4       R p R p\        R. ROR. RO/RR.R7      pVP                  R4      P	                  4       R,          p\         P
                  ! \        RR7      ;_uu_ 4        VP                  R4      P                  V R ^R	7       R
R
R
4       \         P
                  ! \        RR7      ;_uu_ 4        VP                  R4      P                  VR ^R	7       R
R
R
4       \         P
                  ! \        RR7      ;_uu_ 4        VP                  R4      R,          P                  V R ^R	7       R
R
R
4       \         P
                  ! \        RR7      ;_uu_ 4        VP                  R4      R,          P                  VR ^R	7       R
R
R
4       \         P
                  ! \        RR7      ;_uu_ 4        VP                  R4      P                  V R ^R7       R
R
R
4       VP                  R4      P                  VR ^R7      p\        P                  ! V^,           V4       \         P
                  ! \        RR7      ;_uu_ 4        VP                  R4      R,          P                  V R ^R7       R
R
R
4       VP                  R4      R,          P                  VR ^R7      p\        P                  ! VR,          ^,           V4       R
#   + '       g   i     ELH; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELJ; i  + '       g   i     L; i)r   c                4    \        V 4      R ,          V,           # r   r   valuesindexr"   s   &&$r   r   6test_check_nopython_kwargs.<locals>.incorrect_function0       6{S 1$$r   c                 4    \        V 4      R ,          V,           # r   r   r2   s   &&&r   correct_function4test_check_nopython_kwargs.<locals>.correct_function3   r6   r   r   r   r   r   z8missing a required (keyword-only argument|argument): 'a'r   )r    r#   Nz missing a required argument: 'a'znumba does not support)r    r"   r!   r$   )r*   r+   r   r-   r   r,   	TypeErrorr.   r   tmassert_frame_equalassert_series_equal)r   r8   r   expectedactuals        r   test_check_nopython_kwargsr@   -   s   
 %% 	)63LMD ||E"&&(3.H 
S
 
 	U 27aH
 
y(J	K	KU 0AF 
L 
S
 
 	UF#''(:7a'P
 
y(J	K	KUF#''(8A'N 
L 
~-E	F	FU 27aH 
G\\% $$%5g$KF(Q,/	~-E	F	FUF#''(:7a'P 
G\\% (,,-=gQR,SF8F+a/8/
 
 
 
L	K	K
 
 
 
L	K	K 
G	F	F
 
G	FsH   >$K!$K5+L	5+L$L1+M!K2	5L		L	L.	1M	M	ignorejitTFc                 x   \         P                  ! R 4       R pV '       d   ^ RIpVP                  V4      p\	        ^ . RO^. RO/^ ^.R7      pRVRVRV/p	VP                  ^ VR7      p
V\        J d
   V
^,          p
V
P                  VR V	R7      pV
P                  R	 R
R7      p\        P                  ! W4       R# )r   c                 <    \         P                  ! V 4      R ,          # r   npmeanr3   r4   s   &&r   
func_numba(test_numba_vs_cython.<locals>.func_numba]       wwv$$r   Nr   nogilparallelnopython)as_indexr    engine_kwargsc                 <    \         P                  ! V 4      R ,          # r   rE   r   s   &r   <lambda>&test_numba_vs_cython.<locals>.<lambda>o       RWWQZ#%5r   cythonr   r!   r$   
r*   r+   r   rB   r   r-   r   r.   r;   assert_equal)rB   frame_or_seriesrL   rM   rN   rO   rI   r   r   rQ   groupedresultr>   s   &&&&&&       r   test_numba_vs_cythonr\   W   s      % YYz*
	
%q*CDqRSfD eZ:xPMll1xl0G& !*[[G=[QF{{5h{GHOOF%r   c                    \         P                  ! R 4       R pR pV '       d'   ^ RIpVP                  V4      pVP                  V4      p\	        ^ . RO^. RO/^ ^.R7      pRVRVRV/p	VP                  ^ 4      p
V\        J d
   V
^,          p
V
P                  VR V	R7      pV
P                  R	 R
R7      p\        P                  ! W4       V
P                  VR V	R7      pV
P                  R R
R7      p\        P                  ! W4       V
P                  VR V	R7      pV
P                  R R
R7      p\        P                  ! W4       R# )r   c                 <    \         P                  ! V 4      R ,
          # g333333@rE   rH   s   &&r   func_1test_cache.<locals>.func_1{   rK   r   c                 <    \         P                  ! V 4      R ,          # r   rE   rH   s   &&r   func_2test_cache.<locals>.func_2~   rK   r   Nr   rL   rM   rN   rP   c                 <    \         P                  ! V 4      R ,
          # r_   rE   r   s   &r   rS   test_cache.<locals>.<lambda>   rU   r   rV   r   c                 <    \         P                  ! V 4      R ,          # r   rE   r   s   &r   rS   rf      rU   r   c                 <    \         P                  ! V 4      R ,
          # r_   rE   r   s   &r   rS   rf      rU   r   r!   r$   rW   )rB   rY   rL   rM   rN   r`   rc   r   r   rQ   rZ   r[   r>   s   &&&&&        r   
test_cacheri   t   s.   
  %% 6"6"	
%q*CDqRSfD eZ:xPMll1oG& !*[[}[MF{{5h{GHOOF% [[}[MF{{5h{GHOOF% [[}[MF{{5h{GHOOF%r   c                  b   \         P                  ! R 4       R p \        ^ . RO^. RO/^ ^.R7      pVP                  ^ 4      pVP	                  V R R7      p\        RR4      ;_uu_ 4        VP	                  V RR7      pRRR4       \        P                  ! VX4       R#   + '       g   i     L); i)	r   c                 <    \         P                  ! V 4      R ,
          # r_   rE   rH   s   &&r   r`   &test_use_global_config.<locals>.func_1   rK   r   r   r   zcompute.use_numbaTNr!   r$   )r*   r+   r   r-   r.   r	   r;   r<   )r`   r   rZ   r>   r[   s        r   test_use_global_configrm      s    
 % 	
%q*CDqRSfD ll1oG{{6'{2H	+T	2	2VD1 
3(F+ 
3	2s   )BB.	
agg_kwargsfuncminmaxr   bmin)columnaggfuncc           	         \         P                  ! R 4       \        ^ . RO^. RO^. RO/. ROR7      pVP                  ^ 4      pVP                  ! R	/ V BRR /B pVP                  ! R	/ V BRR/B p\
        P                  ! W44       R# )
r   r   r    rV   Nr!   r$                  r   rw   rx    r*   r+   r   r-   r.   r;   r<   )rn   r   rZ   r[   r>   s   &    r   $test_multifunc_numba_vs_cython_framer      s      ((	

 D ll1oG[[6:6g6F{{9Z99H&+r   c           
      (   \         P                  ! R 4       \        ^ . R
O^R\        P                  RRR.^. RO/. ROR7      pVP                  ^ 4      pVP                  V RR R7      pVP                  V RRR7      p\        P                  ! W44       R	# )r   r%   r'   r(   r)   r   F)skipnar    rV   Nr!   rv   r|   )	r*   r+   r   rF   nanr-   r.   r;   r<   )ro   r   rZ   r[   r>   s   &    r   -test_multifunc_numba_vs_cython_frame_noskipnar      s    
 (RVVS#s+	

 D ll1oG[[eG[<F{{4h{?H&+r   zagg_kwargs,expected_funcc                 "    V P                  4       # Nr   rH   s   &&r   rS   rS      s
    

r   c                 "    V P                  4       # r   r   rH   s   &&r   rS   rS      
    &**,r   c                 "    V P                  4       # r   rp   rH   s   &&r   rS   rS      r   r   z2This doesn't work yet! Fails in nopython pipeline!)marksc           	         \         P                  ! R 4       \        ^ . RO^. R	O^. R
O/. ROR7      pVP                  ^ 4      pVP                  ! R/ V BRR /B pVP	                  VRR7      p\
        P                  ! WERR7       R# )r   r   r    rV   r   F)check_dtypeNr!   r$   rv   r|   r}   r~   )rn   expected_funcr   rZ   r[   r>   s   &&    r   test_multifunc_numba_udf_framer      s    (  ((	

 D ll1oG[[6:6g6F{{={:H &>r   min_valmax_valc                 Z   \         P                  ! R 4       . ROp\        . RO4      pVP                  V4      pR V R&   VP                  ! R/ V B pRV R&   VP                  ! R/ V B p\        V\        4      '       d   \        P                  ! WE4       R# \        P                  ! WE4       R# )r   r    rV   Nr!   r$   r}   )
r*   r+   r   r-   r.   
isinstancer   r;   r<   r=   )rn   labelsr   rZ   r[   r>   s   &     r   %test_multifunc_numba_vs_cython_seriesr      s    
  &F+,Dll6"G"Jx[[&:&F#Jx{{(Z(H(I&&
f/
v0r   zdata,agg_kwargsr   min_colc           	      D   \         P                  ! R 4       . ROpV P                  V4      pVP                  ! R/ VBRR RRR//B pVP                  ! R/ VBRR /B p\	        V\
        4      '       d   \        P                  ! WE4       R# \        P                  ! WE4       R# )r   r    rQ   rM   TNr!   r}   )	r*   r+   r-   r.   r   r   r;   r<   r=   )r   rn   r   rZ   r[   r>   s   &&    r   &test_multifunc_numba_kwarg_propagationr     s    B  &Fll6"G[[X:XgXjRVEWXF{{8Z88H(I&&
f/
v0r   c            	         \         P                  ! R 4       R p \        R. R
OR. RO/4      pVP                  R4      R,          pVP	                  V ^R R7      p\        R.^,          R\        ^ ^.RR7      R7      p\        P                  ! W44       VP	                  V ^R R7      p\        R.^,          R\        ^ ^.RR7      R7      p\        P                  ! W44       R	# )r   c                 (    W) R  P                  4       # r   r   )r3   r4   ns   &&&r   sum_last&test_args_not_cached.<locals>.sum_last@  s    bc{  r   idr   r   r%   name)r   r4   r&   N)r   r   rw   rw   )rw   rw   rw   rw   )	r*   r+   r   r-   r.   r   r   r;   r=   )r   df	grouped_xr[   r>   s        r   test_args_not_cachedr   <  s    
 ! 
D,\:	;B

4 %I]]8Qw]7Fseaic1vD1IJH6,]]8Qw]7Fseaic1vD1IJH6,r   c            	         \         P                  ! R 4       R p \        R. ROR. RO/. ROR7      pVP                  R4      P	                  V R R7      p\        RR.R.\        RR.RR7      R	7      p\        P                  ! W#4       R
# )r   c                 .    \         P                  ! V4      # r   rE   rH   s   &&r   f+test_index_data_correctly_passed.<locals>.fR  s    wwu~r   groupABv)r4   r   r   )r   r4   N)r   r   r   )rz   r{      )g      g      )r*   r+   r   r-   	aggregater   r;   r<   )r   r   r[   r>   s       r    test_index_data_correctly_passedr   N  s|    
  
G_c9=\	RBZZ **1W*=F	tse5#s'+JH &+r   c                    aaa \         P                  ! R 4       RoRoRoVVV3R lp RSRSRS/p\        R. RO/4      pVP                  ^ R7      P	                  V R VR	7      p\        R. RO/4      p\
        P                  ! W44       RoRSRSRS/pVP                  ^ R7      P	                  V R VR	7      p\        R. RO/4      p\
        P                  ! W44       R
# )r   TFc                 $   < SS,           S,           # r   r}   )r3   r4   rL   rN   rM   s   &&r   func_kwargs2test_engine_kwargs_not_cached.<locals>.func_kwargse  s    x(**r   rN   rL   rM   value)levelrP   N)r   r   r   )r&   r&   r&   )r%   r%   r%   )r*   r+   r   r-   r   r;   r<   )r   rQ   r   r[   r>   rL   rN   rM   s        @@@r   test_engine_kwargs_not_cachedr   ]  s      EHH+  7E:xPM	GY'	(BZZaZ **G= + F '?34H&+E7E:xPMZZaZ **G= + F '?34H&+r   c                 8   \         P                  ! R 4       R p\        R^R^R^/.4      P                  RR.4      pRVRV RV/pVP	                  R4      P                  VR VR7      p\        R	.\        ^.RR
7      R.R7      p\        P                  ! Wg4       R# )r   c                     ^# rw   r}   rH   s   &&r   
numba_func+test_multiindex_one_key.<locals>.numba_func}      r   r   r   CrN   rL   rM   rP   r%   r   )r4   r   N)	r*   r+   r   	set_indexr-   r.   r   r;   r<   )rL   rM   rN   r   r   rQ   r[   r>   s   &&&     r   test_multiindex_one_keyr   y  s    
  
S!S!S!,-	.	8	8#s	DB7E:xPMZZ_  7- ! F #eQCc&:SEJH&+r   c                 Z   \         P                  ! R 4       R p\        R^R^R^/.4      P                  RR.4      pRVRV RV/p\         P                  ! \
        RR	7      ;_uu_ 4        VP                  RR.4      P                  VR VR
7       RRR4       R#   + '       g   i     R# ; i)r   c                     ^# r   r}   rH   s   &&r   r   ;test_multiindex_multi_key_not_supported.<locals>.numba_func  r   r   r   r   r   rN   rL   rM   zmore than 1 grouping labelsr   rP   N)r*   r+   r   r   r,   NotImplementedErrorr-   r.   )rL   rM   rN   r   r   rQ   s   &&&   r   'test_multiindex_multi_key_not_supportedr     s    
  
S!S!S!,-	.	8	8#s	DB7E:xPM	*2O	P	P


C:""wm 	# 	
 
Q	P	P	Ps   )&BB*	c                 6   \         P                  ! R 4       V w  r\        R. ROR. R	OR\        P                  P                  ^4      P                  ^4      R\        P                  P                  ^4      P                  ^4      /4      pVP                  RR.4      pVP                  ! V3RR /VB pVP                  ! V3RR/VB p\        P                  ! WV4       \        WA4      ! R
RR /VB p\        WA4      ! R
RR/VB p\        P                  ! Wx4       R# )r   r   r   r   Dr    rV   Nfoobarr   r   r   r   r   r   oner   twothreer   r   r   r   r}   )r*   r+   r   rF   randomdefault_rngstandard_normalr-   r.   r;   r<   getattr)	numba_supported_reductions	reductionkwargsr   gbres_aggexpected_agg
direct_resdirect_expecteds	   &        r   test_multilabel_numba_vs_cythonr     s    
 2I	IM&&q)99!<&&q)99!<		

B 
S#J	BffY9w9&9G66)?H??L'0'AwA&AJb,GHGGO*6r   c                     \         P                  ! R 4       \        R. R
OR. ROR\        P                  P                  ^4      P                  ^4      R\        P                  P                  ^4      P                  ^4      /4      p V P                  RR.4      pVP                  R R R7      pVP                  R RR7      p\        P                  ! W#4       R	# )r   r   r   r   r   c                 "    V P                  4       # r   r   rH   s   &&r   rS   5test_multilabel_udf_numba_vs_cython.<locals>.<lambda>  r   r   r   c                 "    V P                  4       # r   r   r   s   &r   rS   r     s
    r   rV   Nr   r   )r*   r+   r   rF   r   r   r   r-   r.   r;   r<   )r   r   r[   r>   s       r   #test_multilabel_udf_numba_vs_cythonr     s    
 	IM&&q)99!<&&q)99!<		

B 
S#J	BVV6wVGFvv'v9H&+r   )r   rG   varstdrp   rq   r$   rv   )/numpyrF   r*   pandas.compatr   pandas.errorsr   pandasr   r   r   r   r	   pandas._testing_testingr;   pandas.util.versionr
   mark
single_cpu
pytestmarkr+   r   appendskipif__version__r/   r@   filterwarningsparametrizer\   ri   rm   r   r   paramxfailr   r   r   r   r   r   r   r   r   r   r}   r   r   <module>r      s     ) (   'kk$$%
G$ 
  
KK!!"gfo5KK/:K78I8I7JK  L"'9T H%u.& / &&4 H%u.$& / &$&N,  	% 		!eU^Q./	E23	,,  !LM, N,  
4	5u=66 EN++##K $ 	
&?'&?$ uenE9e0TU1	1 	)	*VeU^,DE	)	*VUO<-q/BQPQF eU^$		
 -q/BQPQF UO		
 -q/BQPQF a%E23		
 -q/BQPQF 59:		
+>	1? @	1-$,,8 H%, &,
7*,r   