Ë
    ž…jB  ã                   ó¸   — 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y)é    )ÚpartialN)ÚSeriesc                  ó„  — dt         j                  fdt         j                  fgdD � cg c]#  } d| › d�t        t         j                  | ¬«      f‘Œ% c} 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 ��cg c]<  }t         j                  D ]'  }d|› d|› d�t        t         j                  ||¬«      f‘Œ) Œ> c}}z   dD ���cg c]U  }t         j                  j!                  «       D ]2  }dD ]+  }d|› d|› d|› d�t        t         j"                  |||¬«      f‘Œ- Œ4 ŒW c}}}z   }t%        t'        |ddiŽ«      }|d   |d   dœS c c} w c c}}w c c}}}w )NÚroll_sumÚ	roll_mean)r   é   z	roll_var(ú))ÚddofÚ	roll_skewÚ	roll_kurtÚroll_median_cÚroll_maxÚroll_minÚ
roll_firstÚ	roll_lastÚroll_nunique)g-Cëâ6?g      à?g§èH.ÿï?zroll_quantile(ú,)ÚquantileÚinterpolation)TFz
roll_rank()Ú
percentileÚmethodÚ	ascendingÚstrictTr   r   )ÚidsÚparams)Úwindow_aggregationsr   r   r   Úroll_varr   r   r   r   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           úm/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/window/test_cython_aggregations.pyÚ_get_rolling_aggregationsr(      s   € ð Ô,×5Ñ5Ð6ØÔ-×7Ñ7Ð8ð	
ð ö
àð ˜˜˜aÐ ¤'Ô*=×*FÑ*FÈTÔ"RÒSò
ñ		
ð Ô-×7Ñ7Ð8ØÔ-×7Ñ7Ð8ØÔ1×?Ñ?Ð@ØÔ,×5Ñ5Ð6ØÔ,×5Ñ5Ð6ØÔ.×9Ñ9Ð:ØÔ-×7Ñ7Ð8ØÔ0×=Ñ=Ð>ð	
ñ	
ð6 2÷
ð Ü!4×!HÑ!Hò
ð ð !  
¨!¨M¨?¸!Ð<ÜÜ'×5Ñ5Ø%Ø"/ôòð
ðó
ñ%	
ðP ,÷
ð 
ð Ü-×FÑF×KÑKÓMò
ð Ø*ò
ð ð ˜Z˜L¨¨&¨°°9°+¸QÐ?ÜÜ'×1Ñ1Ø)Ø!Ø'ô	òð
ðð
ðô
ñ=+	
ð ô^ ”C˜Ð6°Ñ6Ó7€HØ˜A‘;¨(°1©+Ñ6Ð6ùòW
ùó
ùô
s   ¨(F0Ã$AF5Ä0AF;
r   r   )r   r   c                 ó   — | j                   S )z/Make a rolling aggregation function as fixture.)Úparam)Úrequests    r'   Úrolling_aggregationr,   H   s   € ð
 �=‰=Ðó    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                  ||
«       y )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_consistencyrH   P   s·   € à)*¨A¨q°"°q¸!°fÐ)<Ñ&€Dˆ$��t˜YÜ�Y‰Y�q˜!˜d™(¬"¯*©*Ô5€FÜ
�)‰)�E˜4 ¬R¯X©XÔ
6€CØ�%‰K€EÜ�X‰X�i¤r§x¡xÔ0€FÜÑ'¨°°f±¸sÀ6¹{ÈDÓQÓR€FÜÑ)¨&°%¸¸dÓCÀFÑKÓL€HÜ‡O�O�H˜fÕ%r-   c                 ó0  — 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                  t        t        |«      «      D ��cg c]  }t        ||   ||   «      D ]  }|‘Œ Œ c}}t         j                  ¬«      }	t         | ||||«      «      }
t        j                  ||	   t         j                  ¬«      }t        j                  dt        |«      |z  |t         j                  ¬«      }||z   }t         | ||||«      «      }t        j                  |j                  «      j!                  «       sJ d«       ‚t#        j$                  ||
«       y c c}}w )	N)r   é   r1   rJ   r   r3   r/   r   z"Not all expected values are finite)r5   r6   r7   ÚsysÚ
float_infoÚminÚnanÚmaxr9   r8   ÚrangeÚlenr:   r   ÚisfiniterB   Úallr;   r<   )r,   r=   r?   r@   rB   rD   rC   ÚiÚjÚlocrF   Úcompact_valuesÚcompact_startÚcompact_endrG   s                  r'   Ú-test_rolling_aggregation_with_unused_elementsrZ   \   s¦  € à�K€Dˆ%Øˆu‰9�q‰=€DÜ�Y‰Y�q˜$ ™(¬"¯*©*Ô5€FÜ #§¡× 2Ñ 2€Fˆ5�5˜1‘9ÐÜŸ™€Fˆ5�1‰9ÑÜ$'§N¡N×$6Ñ$6€Fˆ5�1‰9�u˜q‘yÐ!Ü�H‰H�a˜ ™Ð&¬b¯h©hÔ7€EÜ
�(‰(�E˜4�=¬¯©Ô
1€CÜ
�(‰(Üœ#˜e›*Ó%×Gˆq¬u°U¸1±X¸sÀ1¹vÓ/FÒG¨!ŠÐGˆÓGÜ�h‰hô€Cô Ñ'¨°°s¸DÓAÓB€FÜ—X‘X˜f S™k´·±Ô<€NÜ—I‘I˜a¤ U£¨eÑ!3°UÄ"Ç(Á(ÔK€MØ %Ñ'€KÜÙ˜N¨M¸;ÈÓMó€Hô �;‰;�x—‘Ó'×+Ñ+Ô-ÐSÐ/SÓSÐ-Ü‡O�O�H˜fÕ%ùó 	Hs   Ä H
)Ú	functoolsr   rK   Únumpyr5   ÚpytestÚ pandas._libs.window.aggregationsÚ_libsÚwindowÚaggregationsr   Úpandasr   Úpandas._testingÚ_testingr;   r(   Ú_rolling_aggregationsÚfixturer,   rH   rZ   © r-   r'   ú<module>rh      sg   ðÝ Û 
ã Û ç >Ó >å Ý ò57ñp 2Ó3Ð ð €‡�Ø  Ñ*Ð0EÀeÑ0Lôñóðò
	&ó&r-   