
    LVf                     <   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	        Z ej                  d
 ej                  d
ej                         g      d        Zeej                  ej                  fD  cg c]8  } ej                   ej$                  ej&                  fD ]  } | d gdz  |       : c}} Zej+                  eej                  fD  cg c]  }  | dgdz  ej&                         c}        ej+                  ej                   ej$                  ej&                  fD cg c]  } ej                  d |       c}       ej+                   ej                  dej&                        g       ej+                  g d        ej                  e      d        Z ej                   e ej.                  dd             e ej.                  dd             e ej.                  dd             ed      gd       d        Z ej                   ej2                  d      j5                          ej2                  d       ej2                  d      j7                         gd       d        Z ej                  ej:                  j=                  d      ej:                  j?                  d       ej2                  d      j5                          ej2                  d       ej@                  dd       ej@                  dd       gd!       d"        Z! ej                  ej:                  j?                  d#      ej:                  jE                  d$       ej2                  d#%      j5                          ej2                  d&'       ej@                  d#d        ej@                  d$d(      gd)       d*        Z#ej:                  jI                  d#      ej:                  jK                  d
      ej:                  jE                         gZ& ej                   ej2                  d+,      j5                          ej@                  d+d-       ej2                  d+'      ge&z         d.        Z' ej                   ej@                  d/d        ej2                  d0%      j5                          ej2                  d1      ge&z         d2        Z( ej                   ej@                  d3d       ej2                  d3      j5                          ej2                  d3      ge&z         d4        Z) ej                  eejT                  e	jV                  ej                  e,gd5       d6        Z-yc c}} w c c} w c c}w )7    N)Index
RangeIndex)expressionsTi@B numexprpython)autouseparamsidsc              #      K   t         j                  }| j                  t         _        | j                   |t         _        y wN)expr_MIN_ELEMENTSparam)requestr   s     i/var/www/html/software/conda/envs/catlas/lib/python3.12/site-packages/pandas/tests/arithmetic/conftest.pyswitch_numexpr_min_elementsr      s/     &&M D
--&Ds   A A   )dtype)r	   c                     | 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   s    r   oner      s    ( ==              )r   g        r   c                     | 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   s    r   zeror   @   s    " ==r   float64int64uint64c                 ,    t        |       j                  S r   type__name__xs    r   <lambda>r'   `       $q'"" r   )r	   r
   c                     | j                   S )z7
    Several types of numeric-dtypes Index objects
    r   r   s    r   numeric_idxr*   X   s     ==r   10m7sc                 ,    t        |       j                  S r   r"   r%   s    r   r'   r'   s   r(   r   c                     | j                   S )zV
    Several variants of Timedelta scalars representing 10 minutes and 7 seconds.
    r   r   s    r   	scalar_tdr.   m   s     ==r      H   )daysz72:00:00Dhc                 ,    t        |       j                  S r   r"   r%   s    r   r'   r'      r(   r   c                     | j                   S )za
    Several timedelta-like and DateOffset objects that each represent
    a 3-day timedelta
    r   r   s    r   
three_daysr6   |         ==r      x   )hoursi   )secondsmc                 ,    t        |       j                  S r   r"   r%   s    r   r'   r'      r(   r   c                     | j                   S )zb
    Several timedelta-like and DateOffset objects that each represent
    a 2-hour timedelta
    r   r   s    r   	two_hoursr?      r7   r      )minutessc                     | j                   S )zp
    Several timedelta-like and DateOffset instances that are _not_
    compatible with Hourly frequencies.
    r   r   s    r   
not_hourlyrD           ==r         z23:00:00c                     | j                   S )zo
    Several timedelta-like and DateOffset instances that are _not_
    compatible with Daily frequencies.
    r   r   s    r   	not_dailyrI      rE   r   im  c                     | j                   S )z{
    Several timedelta-like and DateOffset instances that are _not_
    compatible with Monthly or Annual frequencies.
    r   r   s    r   mismatched_freqrK      rE   r   c                     | j                   S r   )r$   r%   s    r   r'   r'      s
    !** r   c                     | j                   S )zc
    Fixture to test behavior for Index, Series, tm.to_array, numpy Array and list
    classes
    r   r   s    r   box_1d_arrayrN      s     ==r   ).numpynppytestpandaspdr   r   pandas._testing_testingtmpandas.core.computationr   r   fixturer   arrayr   r   r    r   zerosextendr   aranger*   	Timedeltato_pytimedeltato_timedelta64r.   offsetsDayHourtimedelta64r6   Minuter?   	YearBegin
MonthBegin_common_mismatchrD   rI   rK   Seriesto_arraylistrN   )box_clsr   s   00r   <module>rl      s6       7 a\	87LM' N' 8288ARXX678 90 288RXX.	((BIIrzz2	 	 QC!G5!	!	
 E288CTUgtfqj

3U V RXXryy"**4UV5hbhhq&V W hbhht2::./ 0 ^  u .  	ibii+,ibii)*ibii*+1 	#		 W,,.WW,,.
 	# 


q


!++-Z q#r3 	#

 





#1,,.X&q#sC  	#

 JJJJ!JJ  R //1r3R 
  q#2--/Z 
  sC #--/#
  299bkk288T:@T[	
 VVs   =V/VV