
    Mh                         S SK Jr  S SKrS SKrS SKrS SKJs  Js  J	r
  S SKJr  S SKJr  S r\" 5       r\R$                  " \S   \S   S9S 5       rS	 rS
 rg)    )partialN)Seriesc                  *   S[         R                  4S[         R                  4/S V s/ s H!  n SU  S3[        [         R                  U S94PM#     sn -   S[         R
                  4S[         R                  4S	[         R                  4S
[         R                  4S[         R                  4/-   S VVs/ s H=  n[         R                    H%  nSU SU S3[        [         R                  UUS94PM'     M?     snn-   S VVVs/ s HY  n[         R                  R                  5         H3  nS  H)  nSU SU SU S3[        [         R                  UUUS94PM+     M5     M[     snnn-   n[        [!        U6 5      nUS   US   S.$ s  sn f s  snnf s  snnnf )Nroll_sum	roll_mean)r      z	roll_var())ddof	roll_skew	roll_kurtroll_median_croll_maxroll_min)g-C6?g      ?gH.?zroll_quantile(,)quantileinterpolation)TFz
roll_rank()
percentilemethod	ascendingr   r   )idsparams)window_aggregationsr   r   r   roll_varr   r   r   r   r   interpolation_typesroll_quantilerolling_rank_tiebreakerskeys	roll_ranklistzip)r
   r   r   r   r   r   named_roll_aggsunzippeds           ^/var/www/html/env/lib/python3.13/site-packages/pandas/tests/window/test_cython_aggregations.py_get_rolling_aggregationsr$      s    ,556-778	
 
 a '*=*F*FT"RS
		
 -778-7781??@,556,556
	
0 2
 2!4!H!H !
!M?!<'55%"/ "I 2
	
J ,
 ,
-FFKKM*	 ZL&9+Q?'11)!'	 + N ,
7(	
 X C)*HA;(1+66Q


s   (F1AF A F
r   r   )r   r   c                     U R                   $ )z/Make a rolling aggregation function as fixture.)param)requests    r#   rolling_aggregationr(   E   s    
 ==    c                    SSSSSS/4u  pp4n[         R                  " SSU-   [         R                  S9n[         R                  " X4U[         R                  S9nXs-
  n[         R                  " U[         R
                  S9n	[        U " XhU	   Xy   U5      5      n
[        U " XhXq5      U	   5      n[        R                  " X5        g )Nr   r               dtype)	nparangefloat64int64arrayint32r   tmassert_equal)r(   minpstepwidthsize	selectionvaluesendstartselarrresultexpecteds               r#   -test_rolling_aggregation_boundary_consistencyrD   M   s    )*Aq"q!f)<&DYYYq!d("**5F
))ERXX
6CKEXXirxx0F'fs{DQRF)&CFKLHOOH%r)   c                    Su  pSU-  S-   n[         R                  " SUS-   [         R                  S9n[        R                  R
                  XBUS-   & [         R                  XBS-   '   [        R                  R                  XBS-   US-   & [         R                  " SX2-
  /[         R                  S9n[         R                  " X#/[         R                  S9n[         R                  " [        [        U5      5       VVs/ s H  n[        XW   Xg   5        H  oPM     M     snn[         R                  S9n	[        U " XEXa5      5      n
[         R                  " XI   [         R                  S9n[         R                  " S[        U5      U-  U[         R                  S9nX-   n[        U " XX5      5      n[         R                  " UR                  5      R!                  5       (       d   S5       e["        R$                  " X5        g s  snnf )	N)r      r-   rF   r   r/   r+   r   z"Not all expected values are finite)r1   r2   r3   sys
float_infominnanmaxr5   r4   rangelenr6   r   isfiniter>   allr7   r8   )r(   r9   r;   r<   r>   r@   r?   ijlocrB   compact_valuescompact_startcompact_endrC   s                  r#   -test_rolling_aggregation_with_unused_elementsrV   Y   s   KDu9q=DYYq$("**5F # 2 2F519F19$'NN$6$6F19uqy!HHa&bhh7E
((E=
1C
((#e*%G%quUXsv/F!/F%GhhC 'sABFXXfk<NIIaUe!3U"((KM'KN;MH ;;x'++--S/SS-OOH% 	Hs   <#H
)	functoolsr   rG   numpyr1   pytest pandas._libs.window.aggregations_libswindowaggregationsr   pandasr   pandas._testing_testingr7   r$   _rolling_aggregationsfixturer(   rD   rV    r)   r#   <module>rd      se     
   > >  27j 23   *0Ee0L
	&&r)   