
    .iv+              	          d dl Z d dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlmZ ej                  j                  ddg dfdg dfgddg	      d
        Zd Zd Zej                  j                  dg d      d        Zd Zd Zd Zd Zd Zd Zej                  j                  dd dg      d        Zd Zd Zej                  j                  dd ej8                  d      g      d        Zd Zej                  j                  ddg      d         Zej                  j                  d!g d"g d#g d"fg d$g d%g d$fg d&g d'g d(fg      d)        Z d* Z!d+ Z"y),    N)ops)FloatingArrayzopname, expadd)      NN	   mul)r      NN   )idsc                 X   t        j                  g d|       }t        j                  g d|       }t        j                  ||       }t        t        |      } |||      }t	        j
                  ||       t        t        d|z         } |||      }t	        j
                  ||       y )Nr   r   Nr      dtyper   r
   r   N   r)pdarraygetattroperatortmassert_extension_array_equalr   )r   opnameexpabexpectedopresults           i/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/arrays/integer/test_arithmetic.pytest_add_mulr#      s     	#51A
#51A xx5)H	6	"B1XF##FH5	cFl	#B1XF##FH5    c                     t        j                  g d|       }t        j                  g d|       }||z
  }t        j                  g d|       }t        j                  ||       y )Nr   r   r   )r   r   NNr   r   r   r   r   r   r   r   r!   r   s        r"   test_subr(   $   N    
#51A
#51AUFxx-U;H##FH5r$   c                     t        j                  g d|       }t        j                  g d|       }||z  }t        j                  t        j                  dd d dgd      }t	        j
                  ||       y )Nr   r   r   r
   g      ?Float64)r   r   npinfr   r   r'   s        r"   test_divr.   -   s\    
#51A
#51AUFxxD$5YGH##FH5r$   zzero, negative))r   F)g        F)g       Tc                 V   t        j                  g dd      }|| z  }t        j                  g d      }|rd|d<   t        t        j                  t        j                  t        j
                  t        j
                   dgd      |      }|r|d	z  }t        j                  ||       y )
N)r   r   NInt64r   )FFFTTr   r   float64r0   )r   r   r,   r   nanr-   r   r   )zeronegativeusing_nan_is_nar   r!   exp_maskr   s          r"   test_divide_by_zeror8   6   s     	!1AXFxx34H
"&&"&&266'1-Y?H B##FH5r$   c                     t        j                  g d|       }t        j                  g d|       }||z  }t        j                  g d|       }t        j                  ||       y )Nr   r   r   )r   r
   NNr   r&   r'   s        r"   test_floordivr:   G   sN    
#51A
#51A!VFxx-U;H##FH5r$   c                 x   t        j                  ddg|       }d|z  }t        j                  t        j                  dgd      }t	        j
                  ||       |j                  |j                  j                        }d|z  }|j                  t        j                        }t	        j
                  ||       y )Nr   r   r         ?r+   )
r   Seriesr,   r-   r   assert_series_equalastyper   numpy_dtyper2   )any_int_ea_dtypeserr!   r   ser_non_nullables        r"   !test_floordiv_by_int_zero_no_maskrD   Q   s     ))QF"2
3C#XFyy"&&#i8H68,zz#))"7"78""Frzz*H68,r$   c                     t        j                  g d|       }t        j                  g d|       }||z  }t        j                  g d|       }t        j                  ||       y )Nr   r   r   )r   r   NNr   r&   r'   s        r"   test_modrF   `   r)   r$   c           	         t        j                  g dd      }|dz  }t        j                  g dd      }t        j                  ||       |dz  }t        j                  g dd      }t        j                  ||       |t         j                  z  }t        j                  g dd      }t        j                  ||       |t
        j                  z  }| r|j                  d      }nst        t        j                  t
        j                  t
        j                  dt
        j                  t
        j                  gd	      t        j                  g d
            }t        j                  ||       |dd  }d|z  }t        j                  g dd      }t        j                  ||       d|z  }t        j                  g dd      }t        j                  ||       t         j                  |z  }t        j                  g dd      }t        j                  ||       t
        j                  |z  }| r|j                  d      }ndt        t        j                  dt
        j                  t
        j                  t
        j                  gd	      t        j                  g d            }t        j                  ||       y )N)r0   r   r   Nr
   r1   r   r   )r   r   r   r   r   r   )NNr   NNr+   r2   )FFFTF)r   r   Nr   )r   r   r   r   )r   NNN)FFTF)	r   r   r   r   NAr,   r3   r?   r   )r6   r   r!   r   s       r"   test_pow_scalarrI   i   s   
$G4ATFxxw7H##FH5TFxx+7;H##FH5XFxx37CH##FH5YF??9- HHbffbffa8	JHH78
 ##FH5 	
!"ATFxxw7H##FH5TFxxG4H##FH5UUAXFxx-W=H##FH5VVQYF??9- HHa0	BHH01
 ##FH5r$   c                      t        j                  g d      } t        j                  g d      }| |z  }t        j                  g d      }t        j                  ||       y )N)	r   r   r   r   r   r   NNN)	r   r   Nr   r   Nr   r   N)	r   r   Nr   r   r   r   NNr&   )r   r   r!   r   s       r"   test_pow_arrayrK      sH    
56A
56ATFxx<=H##FH5r$   c                     t        j                  t         j                  t         j                  gd      } t        j                  ddg      | z  }t        j                  dt         j                  gd      }t	        j
                  ||       y )Nr1   r   r<   g       @r+   )r   r   rH   r,   r   r   )arrr!   r   s      r"   test_rpow_one_to_narN      s_     ((BEE255>
1CXXsCj!S(FxxbeeI6H##FH5r$   otherg      ?c                     t        j                  g d      }|t        j                  |       z   }|| z   }t        j                  ||       y )N)r   Nr
   )r   r   r,   r   assert_equal)rO   rM   r!   r   s       r"   test_numpy_zero_dim_ndarrayrR      s9    
((<
 C288E?"FU{HOOFH%r$   c                 |   |}t        j                  |       }t        ||      }t        j                  t
              5   |d       d d d        t        j                  t
              5   |t        j                  d             d d d        t        j                  d|j                        }|dv rQ ||      }t        j                  | D cg c]  }d|z  	 c}|j                        }t        j                  ||       n*t        j                  t
              5   ||       d d d        t        j                  t
              5   |t        j                  t        j                  dt        |                         d d d        y # 1 sw Y   CxY w# 1 sw Y   xY wc c}w # 1 sw Y   xY w# 1 sw Y   y xY w)Nfoo20180101index)__mul____rmul__)periods)r   r=   r   r   external_error_raised	TypeError	TimestamprW   r>   
date_rangelen)	dataall_arithmetic_operatorsr    sr   str_serresxr   s	            r"   test_error_invalid_valuesrf      s]   	!B
		$A
!R.C 
	!	!)	, E
		!	!)	, &BLL$%& iiQWW-G $  'l996Aeai6aggF
sH-%%i0 	L	 
	!	!)	, BBIIbmmJA?@AB B' & & 7	 	B Bs5   	F'FF!	F&:F2FF&F/2F;c                    t        j                  |      }t        j                  |       }d} |||      } ||j	                  t
              |      }|j	                  d      }|s!t        j                  ||j                         <   |dk(  rB|s@|dk(  j                  d      j                  t              }d|j                  j                  |<   t        j                  ||       y )Ng{Gz?r+   __rmod__r   F)r   get_op_from_namer   r=   r?   floatrH   isnafillnato_numpyboolr   _maskr>   )	r`   ra   r6   r    rb   rO   r!   r   masks	            r"   test_arith_coerce_scalarrq      s    			5	6B
		$AE5\F!((5/5)Hy)HUU  :-oQu%..t4%*T"68,r$   r<   c                     t        j                  |       }t        j                  g dd      } |||      }|j                  dk(  sJ y )Nr   r
   r   r1   r   r+   )r   ri   r   r=   r   )ra   rO   r    rb   r!   s        r"   test_arithmetic_conversionrt      sB     
		5	6B
		)7+A5\F<<9$$$r$   c                     t        j                  t        j                  ddt         j                  gd      t        j                  dt         j                  dgd      g dd      } | j                  | j
                  z   }t        j                  dd	t         j                  gd      }t        j                  ||       | j                  | j
                  z   dz  d
k(  }t        j                  g dd      }t        j                  ||       | j                  | j                  z   }t        j                  dt         j                  t         j                  gd      }t        j                  ||       y )Nr   r
   r1   r   r   UInt8rs   ABCr      )FTNboolean)	r   	DataFramer=   rH   rx   rz   r   r>   ry   )dfr!   r   s      r"   test_cross_type_arithmeticr      s   	Aq"%%=8Aruua=8	

B TTBDD[Fyy!Qg6H68,ddRTTkQ"$Fyy,I>H68,TTBDD[Fyy!RUUBEE*':H68,r$   r    meanc                 ,   t        j                  g dg dt        j                  g dd      d      } t        |j                  |              }|rt        |      t        k(  sJ t        |t        j                        sJ  t        |j                  d      |              }t        j                  t        j                  ddg      t        j                  d	d
gd      dt        j                  ddgd            }t        j                  ||       y )N)r   r   r   )r   Nr   r1   r   rw   rx   r<   g      @r   r   r+   )ry   rz   r   r   )namerV   )r   r}   r   r   rz   typerj   
isinstancer,   r2   groupbyIndexr   assert_frame_equal)r    using_python_scalarsr~   r!   r   s        r"   test_reduce_to_floatr     s     
 ,g6	

B WRTT2 FF|u$$$&"**--- *WRZZ_b)+F||hhSz"1a&	)JKhhSz,H &(+r$   zsource, neg_target, abs_targetrs   )r0   )r   r
   N)r0   r   N)r0   r   r   )r   r   r0   )r   r   r   c                 h   | }t        j                  ||      }| |t        |      }}}t        j                  ||      }t        j                  ||      }t        j                  ||       t        j                  ||       t        j
                  ||      rJ t        j                  ||       y )Nr   )r   r   absr   r   shares_memory)	any_signed_int_ea_dtypesource
neg_target
abs_targetr   rM   
neg_result
pos_result
abs_results	            r"   test_unary_int_operatorsr   -  s     $E
((6
'C*-tSXJ
J*E2J*E2J##J
;##J4
C000##J
;r$   c                      t         j                  t        j                  t        j                  d            z  } t        j                  t         j                  gdz        }t        j                  | |       y )Ni'  )r   rH   r=   r,   zerosr   r>   )r!   r   s     r"   *test_values_multiplying_large_series_by_NAr   B  sK     UURYYrxx//Fyy"%%5)H68,r$   c                     t        j                  g d|       }t        j                  g d|       }||z  }t        j                  g d|       }t        j                  ||       ||z  }t        j                  g d|       }t        j                  ||       ||z  }t        j                  g d|       }t        j                  ||       |j	                  d      }t        j                  t        d	      5  ||z   d d d        t        j                  t        d	      5  ||z   d d d        t        j                  t        d	      5  ||z   d d d        y # 1 sw Y   \xY w# 1 sw Y   ?xY w# 1 sw Y   y xY w)
N)r   Nr   r   r   )Nr   r   r   )NN   r   )NNr   r   )NN   r   r+   zunsupported operand type)match)r   r   r   r   r?   pytestraisesr\   )r   leftrightr!   r   floatss         r"   test_bitwiser   K  s6   88O51DHH_E2EE\Fxx2%@H##FH5E\Fxx2%@H##FH5E\Fxx2%@H##FH5 \\)$F	y(B	C v	y(B	C v	y(B	C v 	   s$   ;E$E(E4E%(E14E=)#r   numpyr,   r   pandasr   pandas._testing_testingr   pandas.corer   pandas.core.arraysr   markparametrizer#   r(   r.   r8   r:   rD   rF   rI   rK   rN   rR   rf   rq   r   rt   r   r   r   r   r    r$   r"   <module>r      s         , "#e-C%DE	  
6
6 66 )+ST6 U6 6-6/6d66 1c(+& ,&BH-& 3"67% 8%-, x(, ),8 $	L),	~|4	Z+
<
<-r$   