U
    *ifj                     @   sN  d dl m Z mZ d dlZd dlZd dlm  mZ d dl	m
Z
mZmZmZ ejddgddd Zejd	d
ddddddgddd Zejddddgddd Zejdddddddd d!d"d#gdd$d% Zejdi gdi gdi gdi gdi gdi gdd&d igdi gdd&d igg	dd'd( Zejd)d*d+d,gdd-d. Zejddgdd/d0 Zejdd1gdd2d3 Zejd4d5gdd6d7 Zejddgdd8d9 Zejdgdd:d; Zejdgdd<d= Zejddgdd>d? Zejddgdd@dA ZejejdBedBdCdDgddEdF ZejejdGedBdCdHdIgddJdK Z ejdLdM Z!ejdNed1dOgddPdQ Z"ejdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dagddbdc Z#eje
dddegd1ddgdfddgdgd1ggd1d gdhe
dddegd1ddgdfddgdgd1ggd1d1gdhe
dddegd1ddgdfddgdgd1ggdidigdhe
dddegd1ddgdfddgdgd1ggdjd gdhe
dddegd1ddgdfddgdgd1ggdkd1gdhe
dddegd1ddgdfddgdgd1ggdid1gdhe
dldmgdjdlgdndlgdodjggd1dkgdhe
dddmgd1dlgdfdlgdgdjggd djgdhe
dddegd1ddgdfddgdgdjggdjdpgdhg	ddqdr Z$ejdsdt Z%ejdudv Z&ejdwdx Z'ejdydz Z(dS ){    )datetime	timedeltaN)	DataFrameSeriesbdate_rangeto_datetimeTF)paramsc                 C   s   | j S )z&raw keyword argument for rolling.applyparamrequest r   O/home/mars/bis/venv/lib/python3.8/site-packages/pandas/tests/window/conftest.pyraw   s    r   ZtriangZblackmanZhammingZbartlettZbohmanZblackmanharrisZnuttallZbarthannc                 C   s   | j S Nr	   r   r   r   r   	win_types   s    r   ZkaiserZgaussianZgeneral_gaussianZexponentialc                 C   s   | j S r   r	   r   r   r   r   win_types_special)   s    r   sumZmeanZmedianmaxminvarZstdZkurtZskewcountZsemc                 C   s   | j S r   r	   r   r   r   r   arithmetic_win_operators.   s    r   Zddofc                 C   s   | j S r   r	   r   r   r   r   $arithmetic_numba_supported_operatorsA   s    r   rightleftZbothZneitherc                 C   s   | j S r   r	   r   r   r   r   closedR   s    r   c                 C   s   | j S r   r	   r   r   r   r   centerW   s    r      c                 C   s   | j S r   r	   r   r   r   r   min_periods\   s    r   Zsingletablec                 C   s   | j S )z3method keyword in rolling/expanding/ewm constructorr	   r   r   r   r   methoda   s    r!   c                 C   s   | j S )z'parallel keyword argument for numba.jitr	   r   r   r   r   parallelg   s    r"   c                 C   s   | j S )z$nogil keyword argument for numba.jitr	   r   r   r   r   nogilq   s    r#   c                 C   s   | j S )z'nopython keyword argument for numba.jitr	   r   r   r   r   nopythonw   s    r$   c                 C   s   | j S )zadjust keyword argument for ewmr	   r   r   r   r   adjust}   s    r%   c                 C   s   | j S )z"ignore_na keyword argument for ewmr	   r   r   r   r   	ignore_na   s    r&   numba)Zmarkscythonc                 C   s   | j S )z)engine keyword argument for rolling.applyr	   r   r   r   r   engine   s    r)   )r'   T)r(   T)r(   Fc                 C   s   | j S )z2engine and raw keyword arguments for rolling.applyr	   r   r   r   r   engine_and_raw   s    	r*   c                   C   sP   t ddddddddddg
ddddddddddg
tdddd	d
dddddg
dS )z0Frame for testing times argument in EWM groupby.abcr   r         z
2020-01-01z
2020-01-02z
2020-01-10z
2020-01-22z
2020-01-03z
2020-01-23z
2020-01-04)ABC)r   r   r   r   r   r   times_frame   s$    r3   z1 day)daysc                 C   s   | j S )z2Halflife argument for EWM when times is specified.r	   r   r   r   r   halflife_with_times   s    r5   objectcategoryZint8Zint16Zint32Zint64Zuint8Zuint16Zuint32Zuint64Zfloat16Zfloat32Zfloat64zm8[ns]zM8[ns]zdatetime64[ns, UTC]c                 C   s   | j S )zDtypes for window testsr	   r   r   r   r   dtypes   s    r8   r.            columnsr2   g      ?g        g       @g      @g      @g       @Xc                 C   s   | j S )zPairwise frames test_pairwiser	   r   r   r   r   pairwise_frames   s    r?   c                   C   s(   t ddgddgddgddggddgdS )z'Pairwise target frame for test_pairwiser.   r9   r   r:   r;   r   r<   r   r   r   r   r   pairwise_target_frame   s    rA   c                   C   s2   t dddgdddgdddgdddggdddgd	S )
z&Pairwise other frame for test_pairwiseNr   r.   r/   r;   YZr>   r<   r@   r   r   r   r   pairwise_other_frame   s    "rD   c                  C   sB   t jd} t dd}t j| |< t| ttdddddd}|S )zMake mocked series as fixture.d      (     r   Zperiods)index)nprandomrandnarangeNaNr   r   r   )ZarrZlocsseriesr   r   r   rP      s
    
rP   c                   C   s.   t tjddttdddddtddS )zMake mocked frame as fixture.rE   
   rH   r   rI   )rJ   r=   )r   rK   rL   rM   r   r   rN   r   r   r   r   frame   s
    rR   ))r   r   numpyrK   ZpytestZpandas.util._test_decoratorsutilZ_test_decoratorstdZpandasr   r   r   r   Zfixturer   r   r   r   r   r   r   r   r!   r"   r#   r$   r%   r&   r
   Z
skip_if_nor)   r*   r3   r5   r8   r?   rA   rD   rP   rR   r   r   r   r   <module>   s   











	








&&&&&&&&&



	