U
    >vf                  
   @   sH  d dl Zd dlZd dlZd dlmZmZ d dlmZ	 d dl
mZ ejdd dgddgdd	d
 Zejdejdejdgddd Zdd eejejfD Zedd eejfD  edd ejejejfD  eejdejdg ed ddg ejeddd Zejeejdddeejdddeejdddedgdd ddd  Zejed! ed!ed! gd"d dd#d$ Zejejd%ejd&ejd%d' ed(e d%d)e d&d*gd+d dd,d- Z!ejejd.ej"d/ejd.d0 ejd1d2e d.d*e d/d3gd4d dd5d6 Z#ej$d.ej%dej" gZ&ejejd7d8 e d7d9ejd7d2ge& dd:d; Z'eje d<d*ejd=d0 ed>ge& dd?d@ Z(eje dAd)ejdAd' ejdAd'ge& ddBdC Z)ejeej*e	j+eje,gdDd ddEdF Z-dS )G    N)Index
RangeIndex)expressionsTi@B Znumexprpython)Zautouseparamsidsc                 c   s    t j}| jt _| jV  |t _d S N)expr_MIN_ELEMENTSparam)requestr
    r   D/tmp/pip-unpacked-wheel-vdrwu74i/pandas/tests/arithmetic/conftest.pyswitch_numexpr_min_elements   s    r      dtype)r   c                 C   s   | j S )a@  
    Several variants of integer value 1. The zero-dim integer array
    behaves like an integer.

    This fixture can be used to check that datetimelike indexes handle
    addition and subtraction of integers and zero-dimensional arrays
    of integers.

    Examples
    --------
    dti = pd.date_range('2016-01-01', periods=2, freq='H')
    dti
    DatetimeIndex(['2016-01-01 00:00:00', '2016-01-01 01:00:00'],
    dtype='datetime64[ns]', freq='H')
    dti + one
    DatetimeIndex(['2016-01-01 01:00:00', '2016-01-01 02:00:00'],
    dtype='datetime64[ns]', freq='H')
    r   r   r   r   r   one   s    r   c                 C   s4   g | ],}t jt jt jfD ]}|d gd |dqqS )r      r   )npint64uint64float64).0box_clsr   r   r   r   
<listcomp>2   s    r   c                 C   s    g | ]}|d gd t jdqS )       r   r   )r   r   )r   r   r   r   r   r   7   s     c                 C   s   g | ]}t jd |dqS )r   r   )r   array)r   r   r   r   r   r   8   s     r   g        c                 C   s   | j S )a  
    Several types of scalar zeros and length 5 vectors of zeros.

    This fixture can be used to check that numeric-dtype indexes handle
    division by any zero numeric-dtype.

    Uses vector of length 5 for broadcasting with `numeric_idx` fixture,
    which creates numeric-dtype vectors also of length 5.

    Examples
    --------
    arr = RangeIndex(5)
    arr / zeros
    Index([nan, inf, inf, inf, inf], dtype='float64')
    r   r   r   r   r   zero@   s    r    r   r   r   r   c                 C   s
   t | jS r   type__name__xr   r   r   <lambda>`       r&   )r   r   c                 C   s   | j S )z7
    Several types of numeric-dtypes Index objects
    r   r   r   r   r   numeric_idxX   s    r(   Z10m7sc                 C   s
   t | jS r   r!   r$   r   r   r   r&   s   r'   c                 C   s   | j S )zV
    Several variants of Timedelta scalars representing 10 minutes and 7 seconds.
    r   r   r   r   r   	scalar_tdm   s    r)      H   )daysz72:00:00Dhc                 C   s
   t | jS r   r!   r$   r   r   r   r&      r'   c                 C   s   | j S )za
    Several timedelta-like and DateOffset objects that each represent
    a 3-day timedelta
    r   r   r   r   r   
three_days|   s    r/      x   )hoursi   )secondsmc                 C   s
   t | jS r   r!   r$   r   r   r   r&      r'   c                 C   s   | j S )zb
    Several timedelta-like and DateOffset objects that each represent
    a 2-hour timedelta
    r   r   r   r   r   	two_hours   s    r5      )minutessc                 C   s   | j S )zp
    Several timedelta-like and DateOffset instances that are _not_
    compatible with Hourly frequencies.
    r   r   r   r   r   
not_hourly   s    r9         z23:00:00c                 C   s   | j S )zo
    Several timedelta-like and DateOffset instances that are _not_
    compatible with Daily frequencies.
    r   r   r   r   r   	not_daily   s    r<   im  c                 C   s   | j S )z{
    Several timedelta-like and DateOffset instances that are _not_
    compatible with Monthly or Annual frequencies.
    r   r   r   r   r   mismatched_freq   s    r=   c                 C   s   | j S r   )r#   r$   r   r   r   r&      r'   c                 C   s   | j S )zc
    Fixture to test behavior for Index, Series, tm.to_array, numpy Array and list
    classes
    r   r   r   r   r   box_1d_array   s    r>   ).Znumpyr   ZpytestZpandaspdr   r   Zpandas._testingZ_testingtmZpandas.core.computationr   r	   Zfixturer   r   r   r   zerosextendr   r   r    Zaranger(   Z	TimedeltaZto_pytimedeltaZto_timedelta64r)   offsetsZDayZHourZtimedelta64r/   ZMinuter5   Z	YearBeginZ
MonthBeginZ_common_mismatchr9   r<   r=   ZSeriesZto_arraylistr>   r   r   r   r   <module>   s   

 















	









 