Ë
    ¤eh  ã                   ó¸   — 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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   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)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           új/var/www/skyplay_api_hub/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ð
ñ	
ð0 2÷
ð Ü!4×!HÑ!Hò
ð ð !  
¨!¨M¨?¸!Ð<ÜÜ'×5Ñ5Ø%Ø"/ôòð
ðó
ñ	
ðJ ,÷
ð 
ð Ü-×FÑF×KÑKÓMò
ð Ø*ò
ð ð ˜Z˜L¨¨&¨°°9°+¸QÐ?ÜÜ'×1Ñ1Ø)Ø!Ø'ô	òð
ðð
ðô
ñ7(	
ð ôX ”C˜Ð)Ó*€HØ˜A‘;¨(°1©+Ñ6Ð6ùòQ
ùó
ùô
s   ¨(E:Â1AE?Ã=AF
r   r   )r   r   c                 ó   — | j                   S )z/Make a rolling aggregation function as fixture.)Úparam)Úrequests    r#   Úrolling_aggregationr(   E   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_consistencyrD   M   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   é   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¦  € à�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   rG   Únumpyr1   ÚpytestÚ pandas._libs.window.aggregationsÚ_libsÚwindowÚaggregationsr   Úpandasr   Úpandas._testingÚ_testingr7   r$   Ú_rolling_aggregationsÚfixturer(   rD   rV   © r)   r#   ú<module>rd      sg   ðÝ Û 
ã Û ç >Ó >å Ý ò27ñj 2Ó3Ð ð €‡�Ø  Ñ*Ð0EÀeÑ0Lôñóðò
	&ó&r)   