a
    <bj                     @   s  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g d	dd
d Zejg dddd Zejg d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g dddd Zejddgddd  Zejdd!gdd"d# Zejd$d%gdd&d' Zejddgdd(d) 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d0d1 Zejejd2ed2d3d4gdd5d6 Zejejd7ed2d3d8d9gdd:d; Z ejd<d= Z!ejd>ed!d?gdd@dA Z"ejg dBddCdD Z#eje
dEdFgd!dEgdGdEgdHd!ggd!d gdIe
dEdFgd!dEgdGdEgdHd!ggd!d!gdIe
dEdFgd!dEgdGdEgdHd!ggdJdJgdIe
dEdFgd!dEgdGdEgdHd!ggdKd gdIe
dEdFgd!dEgdGdEgdHd!ggdLd!gdIe
dEdFgd!dEgdGdEgdHd!ggdJd!gdIe
dMdNgdKdMgdOdMgdPdKggd!dLgdIe
dEdNgd!dMgdGdMgdHdKggd dKgdIe
dEdFgd!dEgdGdEgdHdKggdKdQgdIg	ddRdS Z$ejdTdU Z%ejdVdW Z&ejdXdY Z'ejdZd[ 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   l/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/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   )summeanmedianmaxminvarstdZkurtZskewcountZsemc                 C   s   | j S r   r	   r   r   r   r   arithmetic_win_operators.   s    r   r   r   r   r   r   r   Zddofr   c                 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"   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   s    t g dg dtg ddS )z0Frame for testing times argument in EWM groupby.)
abcr/   r0   r1   r/   r0   r1   r/   )
r   r   r   r!   r!   r!      r2   r2      )

2020-01-01r4   r4   z
2020-01-02z
2020-01-10z
2020-01-22z
2020-01-03
2020-01-23r5   z
2020-01-04)ABC)r   r   r   r   r   r   times_frame   s    r9   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    r;   )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    r>   r2            columnsr8   g      ?g        g       @g      @g      @g       @Xc                 C   s   | j S )zPairwise frames test_pairwiser	   r   r   r   r   pairwise_frames   s    rE   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_pairwiser2   r?   r!   r@   rA   r   rB   r   r   r   r   r   pairwise_target_frame   s    rG   c                   C   s(   t g dg dg dg dgg ddS )z&Pairwise other frame for test_pairwise)Nr!   r!   )Nr!   r2   )Nr3   r2   )NrA   r!   )YZrD   rB   rF   r   r   r   r   pairwise_other_frame   s    rJ   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   rV      s
    
rV   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.rK   
   rN   r!   rO   )rP   rC   )r   rQ   rR   rS   r   r   rT   r   r   r   r   frame   s
    rX   ))r   r   ZnumpyrQ   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.   r9   r;   r>   rE   rG   rJ   rV   rX   r   r   r   r   <module>   s   











	








&&&&&&&&&



	