
    bMh                         d dl mZ d dlZd dlZd dlZd dlmc mc m	Z
 d dlmZ d dlmZ d Z e            Z ej        ed         ed                   d             Zd	 Zd
 ZdS )    )partialN)Seriesc                  ^   dt           j        fdt           j        fgd dD             z   dt           j        fdt           j        fdt           j        fdt           j        fd	t           j        fgz   d
 dD             z   d dD             z   } t          t          |            }|d         |d         dS )Nroll_sum	roll_meanc                 P    g | ]#}d | dt          t          j        |          f$S )z	roll_var())ddof)r   window_aggregationsroll_var).0r
   s     l/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/window/test_cython_aggregations.py
<listcomp>z-_get_rolling_aggregations.<locals>.<listcomp>   sI     
 
 
 !   '*=*FT"R"R"RS
 
 
    )r      	roll_skew	roll_kurtroll_median_croll_maxroll_minc           	      v    g | ]6}t           j        D ]'}d | d| dt          t           j        ||          f(7S )zroll_quantile(,r	   )quantileinterpolation)r   interpolation_typesr   roll_quantile)r   r   r   s      r   r   z-_get_rolling_aggregations.<locals>.<listcomp>"   sz     
 
 
 !4!H
 
  =<<M<<<'5%"/  
 
 
 
r   )g-C6?g      ?gH.?c                     g | ]Q}t           j                                        D ]0}d D ]+}d| d| d| dt          t           j        |||          f,1RS )TFz
roll_rank(r   r	   )
percentilemethod	ascending)r   rolling_rank_tiebreakerskeysr   	roll_rank)r   r   r    r!   s       r   r   z-_get_rolling_aggregations.<locals>.<listcomp>.   s     
 
 
 -FKKMM
 
 *
 
  @Z??&??9???'1)!'	  
 
 
 
 
r   r   r   r   )idsparams)
r   r   r   r   r   r   r   r   listzip)named_roll_aggsunzippeds     r   _get_rolling_aggregationsr+      s     ,56-78	

 

 
 
		
 -78-781?@,56,56
	

 
 2
 
 
	
6
 
 ,
 
 
7(	
 X C)**HA;(1+666r   r&   r%   )r&   r%   c                     | j         S )z/Make a rolling aggregation function as fixture.)param)requests    r   rolling_aggregationr/   E   s    
 =r   c                    ddddddgf\  }}}}}t          j        dd|z   t           j                  }t          j        |||t           j                  }||z
  }t          j        |t           j                  }	t           | |||	         ||	         |                    }
t           | ||||          |	                   }t          j        ||
           d S )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_consistencyrJ   M   s    )*Aq"q!f)<&D$tYYq!d("*555F
)E4RX
6
6
6C%KEXirx000F''fs6{DQQRRF))&%dCCFKLLHOHf%%%%%r   c                    d\  }}d|z  dz   }t          j        d|dz   t           j                  }t          j        j        |||dz   <   t           j        ||dz   <   t          j        j        ||dz   |dz   <   t          j        d||z
  gt           j	                  t          j        ||gt           j	                  t          j        fdt          t                              D             t           j                  }t           | ||                    }t          j        ||         t           j                  }t          j        dt                    |z  |t           j	                  }||z   }	t           | |||	|                    }
t          j        |
j                                                  s
J d	            t#          j        |
|           d S )
N)r      r3   rL   r   r5   r1   r   c                 R    g | ]#}t          |         |                   D ]}|$S  )range)r   ijrE   rF   s      r   r   zAtest_rolling_aggregation_with_unused_elements.<locals>.<listcomp>d   s8    GGGquU1Xs1v/F/FGG!GGGGr   z"Not all expected values are finite)r7   r8   r9   sys
float_infominnanmaxr;   r:   rO   lenr<   r   isfiniterD   allr=   r>   )r/   r?   rA   rB   rD   locrH   compact_valuescompact_startcompact_endrI   rE   rF   s              @@r   -test_rolling_aggregation_with_unused_elementsr^   Y   s   KD%u9q=DYq$("*555F # 2F5519F519$'N$6F519uqy !Ha&bh777E
(E4=
1
1
1C
(GGGGGE#e**%%GGGh  C ''sDAABBFXfSk<<<NIaUe!3U"(KKKM%'KNM;MM H ;x''++--SS/SSSSOHf%%%%%r   )	functoolsr   rR   numpyr7   pytest pandas._libs.window.aggregations_libswindowaggregationsr   pandasr   pandas._testing_testingr=   r+   _rolling_aggregationsfixturer/   rJ   r^   rN   r   r   <module>rk      s         



      > > > > > > > > > > > >            27 27 27j 2133   *0Ee0L    
	& 	& 	&& & & & &r   