§
    tŠtjB  ã                   óÎ   — 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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iŽ¦  «        }|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     új/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/tests/window/test_cython_aggregations.pyú
<listcomp>z-_get_rolling_aggregations.<locals>.<listcomp>   sI   € ð 
ð 
ð 
àð !˜Ð Ð Ð ¥'Õ*=Ô*FÈTÐ"RÑ"RÔ"RÐSð
ð 
ð 
ó    )r   é   Ú	roll_skewÚ	roll_kurtÚroll_median_cÚroll_maxÚroll_minÚ
roll_firstÚ	roll_lastÚroll_nuniquec           	      ó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‘Œ,Œ1ŒRS )©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>1   s©   € ð 
ð 
ð 
ð Ý-ÔF×KÒKÑMÔMð
ð 
ð Ø*ð
ð 
ð ð @˜ZÐ?Ð?¨&Ð?Ð?°9Ð?Ð?Ð?ÝÝ'Ô1Ø)Ø!Ø'ð	ñ ô ðð
ð 
ð 
ð 
ð 
r   r!   ÚstrictTr   r   )ÚidsÚparams)r   r   r   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ØÕ.Ô9Ð:ØÕ-Ô7Ð8ØÕ0Ô=Ð>ð	
ñ	
ð$
ð 
ð 2ð
ñ 
ô 
ñ%	
ð<
ð 
ð ,ð
ñ 
ô 
ñ=+	
ð õ^ •C˜Ð6°Ð6Ð6Ñ7Ô7€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_aggregationr3   H   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)r3   ÚminpÚstepÚwidthÚsizeÚ	selectionÚvaluesÚendÚstartÚselarrÚresultÚexpecteds               r   Ú-test_rolling_aggregation_boundary_consistencyrN   P   sÙ   € à)*¨A¨q°"°q¸!°fÐ)<Ñ&€Dˆ$��t˜YÝŒY�q˜!˜d™(­"¬*Ð5Ñ5Ô5€FÝ
Œ)�E˜4 ­R¬XÐ
6Ñ
6Ô
6€CØ�%‰K€EÝŒX�i¥r¤xÐ0Ñ0Ô0€FÝÐ'Ð'¨°°f´¸sÀ6¼{ÈDÑQÔQÑRÔR€FÝÐ)Ð)¨&°%¸¸dÑCÔCÀFÔKÑLÔL€HÝ„O�H˜fÑ%Ô%Ð%Ð%Ð%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   é   r7   rP   r   r9   r5   r   c                 óR   •— g | ]#}t          ‰|         ‰|         ¦  «        D ]}|‘ŒŒ$S © )Úrange)r   ÚiÚjrI   rJ   s      €€r   r   zAtest_rolling_aggregation_with_unused_elements.<locals>.<listcomp>g   s8   ø€ ÐGÐGÐGˆq­u°U¸1´X¸sÀ1¼vÑ/FÔ/FÐGÐG¨!ˆÐGÐGÐGÐGr   z"Not all expected values are finite)r;   r<   r=   ÚsysÚ
float_infoÚminÚnanÚmaxr?   r>   rS   Úlenr@   r   ÚisfiniterH   ÚallrA   rB   )r3   rC   rE   rF   rH   ÚlocrL   Úcompact_valuesÚcompact_startÚcompact_endrM   rI   rJ   s              @@r   Ú-test_rolling_aggregation_with_unused_elementsrb   \   sÊ  øø€ à�K€Dˆ%Øˆu‰9�q‰=€DÝŒY�q˜$ ™(­"¬*Ð5Ñ5Ô5€FÝ #¤Ô 2€Fˆ5�5˜1‘9ÐÑÝœ€Fˆ5�1‰9ÑÝ$'¤NÔ$6€Fˆ5�1‰9�u˜q‘yÐ Ñ!ÝŒH�a˜ ™Ð&­b¬hÐ7Ñ7Ô7€EÝ
Œ(�E˜4�=­¬Ð
1Ñ
1Ô
1€CÝ
Œ(ØGÐGÐGÐGÐG•E�#˜e™*œ*Ñ%Ô%ÐGÑGÔGÝŒhðñ ô €Cõ Ð'Ð'¨°°s¸DÑAÔAÑBÔB€FÝ”X˜f Sœkµ´Ð<Ñ<Ô<€NÝ”I˜a¥ U¡¤¨eÑ!3°UÅ"Ä(ÐKÑKÔK€MØ %Ñ'€KÝØÐ˜N¨M¸;ÈÑMÔMñô €Hõ Œ;�x”Ñ'Ô'×+Ò+Ñ-Ô-ÐSÐSÐ/SÑSÔSÐ-Ý„O�H˜fÑ%Ô%Ð%Ð%Ð%r   )Ú	functoolsr   rV   Únumpyr;   ÚpytestÚ pandas._libs.window.aggregationsÚ_libsÚwindowÚaggregationsr   Úpandasr   Úpandas._testingÚ_testingrA   r/   Ú_rolling_aggregationsÚfixturer3   rN   rb   rR   r   r   ú<module>ro      s  ðØ Ð Ð Ð Ð Ð Ø 
€
€
€
à Ð Ð Ð Ø €€€à >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð57ð 57ð 57ðp 2Ð1Ñ3Ô3Ð ð €„Ø  Ô*Ð0EÀeÔ0Lðñ ô ðð ñô ðð
	&ð 	&ð 	&ð&ð &ð &ð &ð &r   