o
    Û­j×Ø  ã                   @  s˜  U d dl mZ d dlmZ d dlmZ d dlmZ d dlZd dl	Z
d dlZd dlZd dlmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d d	lmZmZ ej d
d dgddgd�dd„ ƒZ!ej eeej"g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eej"e
je&gdd„ d�dd „ ƒZ'd!d"„ Z(d#d$„ Z)g d%¢Z*ed&d'd&ƒgZ+d(e,d)< e+ -d*d+„ e*D ƒ¡ e+ -d,d+„ e*D ƒ¡ G d-d.„ d.ƒZ.G d/d0„ d0ƒZ/G d1d2„ d2ƒZ0G d3d4„ d4ƒZ1G d5d6„ d6ƒZ2G d7d8„ d8ƒZ3G d9d:„ d:ƒZ4G d;d<„ d<ƒZ5d=d>„ Z6d?d@„ Z7ej8 9dAg dB¢g dC¢fg¡dDdE„ ƒZ:dFdG„ Z;ej8 9dHg dI¢¡ej8 9dJg dK¢¡dLdM„ ƒƒZ<dNdO„ Z=dS )Pé    )Úannotations)Úabc)Ú	timedelta)ÚDecimalN)ÚIndexÚ
RangeIndexÚSeriesÚ	TimedeltaÚTimedeltaIndexÚarrayÚ
date_range)Úops)Úexpressions)Úassert_invalid_addsub_typeÚassert_invalid_comparisonTi@B ÚnumexprÚpython)ÚautouseÚparamsÚidsc                 c  sH   � |  ¡ �}| td| j¡ | jV  W d   ƒ d S 1 sw   Y  d S )NÚ_MIN_ELEMENTS)ÚcontextÚsetattrÚexprÚparam)ÚrequestÚmonkeypatchÚm© r   úa/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/arithmetic/test_numeric.pyÚswitch_numexpr_min_elements!   s
   €

"þr    )r   c                 C  ó   | j S )zL
    Fixture to test behavior for Index, Series and tm.to_array classes
    ©r   ©r   r   r   r   Úbox_pandas_1d_array(   s   r$   é   Úfloat64©ÚdtypeÚint64Úuint64c                 C  ó
   t | ƒjS ©N©ÚtypeÚ__name__©Úxr   r   r   Ú<lambda>8   ó   
 r2   )r   r   c                 C  r!   )z7
    Several types of numeric-dtypes Index objects
    r"   r#   r   r   r   Únumeric_idx0   s   r4   c                 C  r!   r,   )r/   r0   r   r   r   r2   B   s    c                 C  r!   )zc
    Fixture to test behavior for Index, Series, tm.to_array, numpy Array and list
    classes
    r"   r#   r   r   r   Úbox_1d_arrayA   s   r5   c                 C  s8   t  t  | ¡¡ ¡ rt  t  | ¡¡ ¡ sJ ‚|d9 }|S )z_
    Helper to adjust the expected result if we are dividing by -0.0
    as opposed to 0.0
    éÿÿÿÿ)ÚnpÚsignbitr   ÚanyÚall)ÚzeroÚexpectedr   r   r   Úadjust_negative_zeroL   s   r=   c                 C  sˆ   |t jtjfv rt | ¡n| }|t jtjfv rt |¡n|}|||ƒ}| ||¡}t|tƒr<|j	 
| j	¡s<|j	 d ¡|_	t ||¡ d S r,   )r   ÚrpowÚoperatorÚpowr7   ÚabsÚcombineÚ
isinstancer   ÚindexÚequalsÚ
_with_freqÚtmÚassert_series_equal)ÚseriesÚotherÚopÚleftÚrightÚcython_or_numpyr   r   r   r   Ú
compare_op[   s   
rO   )Úi1Úi2Úi4Úi8Úu1Úu2Úu4Úu8Úf2Úf4Úf8é
   é(   zlist[Index | Series]Úleftsc                 C  s   g | ]
}t g d ¢|d�‘qS )©r[   é   é   r'   )r   ©Ú.0r(   r   r   r   Ú
<listcomp>k   s    rc   c                 C  s$   g | ]}|d krt g d¢|d�‘qS )rX   r^   r'   )r   ra   r   r   r   rc   l   s   $ c                   @  s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTestNumericComparisonsc                 C  s¢   t  d¡tg d¢ƒk}dtg d¢ƒk}t ||¡ tg d¢ƒt  d¡k }tg d¢ƒdk }t ||¡ t  g d¢¡d tg d¢ƒk}dtg d¢ƒk}t ||¡ d S )Nr   ©é   é   é   ç        ©r   rf   rg   )r7   r&   r   rG   rH   r   )ÚselfÚresultr<   r   r   r   Ú(test_operator_series_comparison_zeroranks   s   z?TestNumericComparisons.test_operator_series_comparison_zerorankc                 C  s.   |}t  tdƒ¡}t ||¡}t|||ƒ d S ©Nr%   )r7   r   ÚrangerG   Úbox_expectedr   )rk   Úbox_with_arrayÚfixed_now_tsÚtsÚobjr   r   r   Útest_df_numeric_cmp_dt64_raises   s   z6TestNumericComparisons.test_df_numeric_cmp_dt64_raisesc                 C  sX   t tj d¡ d¡dd�}t tj d¡ d¡ƒ}t d¡|_t 	|| d||  ¡ d S )Nrg   r%   r   ©Únamez
2000-01-01rf   )
r   r7   ÚrandomÚdefault_rngÚstandard_normalÚpdÚ	Timestamprw   rG   rH   )rk   ÚaÚbr   r   r   Útest_compare_invalid‡   s   z+TestNumericComparisons.test_compare_invalidc           
      C  s4  |}|t ur|ntj}ttj d¡ d¡ƒ}tj||dd�}| 	¡ �}| 
tdd¡ |dk}W d   ƒ n1 s8w   Y  ttjdtd�ƒ}tj||dd�}t ||¡ | 	¡ �}| 
tdd¡ |dk}W d   ƒ n1 snw   Y  t || ¡ d	}	tjt|	d
�� |dk  W d   ƒ d S 1 s“w   Y  d S )Nrg   é3   F©Ú	transposer   é2   r}   r'   z0Invalid comparison between dtype=float64 and str©Úmatch)r   r7   Úndarrayr   rx   ry   rz   rG   rp   r   r   r   ÚzerosÚboolÚassert_equalÚpytestÚraisesÚ	TypeError)
rk   rq   r   ÚboxÚxboxrt   r   rl   r<   Úmsgr   r   r   Ú$test_numeric_cmp_string_numexpr_path�   s(   

þ

þ
"ÿz;TestNumericComparisons.test_numeric_cmp_string_numexpr_pathN)r/   Ú
__module__Ú__qualname__rm   ru   r   r�   r   r   r   r   rd   r   s
    rd   c                   @  sî  e Zd Zej dejee	g¡ejjde
dd„ d�dd„ ƒƒZej dejee	g¡ejjde
dd„ d�d	d
„ ƒƒZejjdedd�edd� ¡ edd� ¡ edd� ¡  d¡edd� ¡  d¡gdd„ d�dd„ ƒZejjdedd�edd� ¡ edd� ¡ gdd„ d�ej dejejg¡dd„ ƒƒZdd„ Zejjdedd�edd� ¡ edd� ¡ edd� ¡  d¡e d¡e dd¡ej d¡ej d ¡ejd!d"d#�e d!¡e d!¡ ¡ ejd!d$d#� ¡ e d!¡ ¡ e dd%¡ejge d�d&d'„ ƒZ!d(S ))Ú.TestNumericArraylikeArithmeticWithDatetimeLikeÚbox_clsrL   c                 C  ó   t | ƒjt| jƒ S r,   ©r.   r/   Ústrr(   r0   r   r   r   r2   ¯   ó    z7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>©r   c                 C  s‚   t jg d¢dd�}||ƒ}tg d¢|jd�}t|tƒs|tu r#t|ƒ}|j|jks+J ‚|| }t ||¡ || }t ||¡ d S )Nre   úm8[s]r'   )Ú10sÚ40sÚ90s)r7   r   r
   r(   rC   r   rG   r‰   )rk   rL   r”   rM   r<   rl   r   r   r   Útest_mul_td64arr­   s   z?TestNumericArraylikeArithmeticWithDatetimeLike.test_mul_td64arrc                 C  r•   r,   r–   r0   r   r   r   r2   Ä   r˜   c                 C  sø   t jg d¢dd�}||ƒ}tg d¢|jd�}t|tƒs|tu r#t|ƒ}|j|jks+J ‚|| }t ||¡ || }t ||¡ d}tj	t
|d�� ||  W d   ƒ n1 sWw   Y  d}tj	t
|d�� ||  W d   ƒ d S 1 suw   Y  d S )N)r[   r\   éZ   rš   r'   )Ú1sÚ2sÚ3sz5ufunc '(true_)?divide' cannot use operands with typesr„   z3ufunc 'floor_divide' cannot use operands with types)r7   r   r
   r(   rC   r   rG   r‰   rŠ   r‹   rŒ   )rk   rL   r”   rM   r<   rl   r�   r   r   r   Útest_div_td64arrÂ   s$   
ÿ
"ÿz?TestNumericArraylikeArithmeticWithDatetimeLike.test_div_td64arrÚ	scalar_tdrf   ©Údaysztimedelta64[s]ztimedelta64[ms]c                 C  r+   r,   r-   r0   r   r   r   r2   ê   r3   c           
      C  sš   |}|}t dd„ tt|ƒƒD ƒƒ}t|tjƒr |j}| |¡}nt|ƒt	u r+| d¡}t
 ||¡}t
 ||¡}|| }t
 ||¡ || }	t
 |	|¡ d S )Nc                 S  s   g | ]}t |d �‘qS )r¥   )r	   )rb   Únr   r   r   rc   ð   s    z`TestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalar.<locals>.<listcomp>úm8[us])r
   ro   ÚlenrC   r7   Útimedelta64r(   Úastyper.   r   rG   rp   r‰   )
rk   r¤   r4   rq   r�   rD   r<   r(   rl   Úcommuter   r   r   Útest_numeric_arr_mul_tdscalará   s   
zLTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalarc                 C  r+   r,   r-   r0   r   r   r   r2     r3   r(   c           
      C  sš   |}t  d¡jt jdd�}|j|dd�}tj||dd�}| d¡ d¡}t|ƒtu r/| d¡}tj||dd�}|| }	t 	|	|¡ || }	t 	|	|¡ d S )Ni N  F©Úcopyr�   ztimedelta64[D]ztimedelta64[ns]ztimedelta64[us])
r7   Úaranger«   r)   rG   rp   Úviewr.   r   r‰   )
rk   r(   r¤   rq   r�   Úarr_i8Úarrrt   r<   rl   r   r   r   Ú*test_numeric_arr_mul_tdscalar_numexpr_path   s   
zYTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalar_numexpr_pathc           
      C  s  |}|dd… }t ddgƒ}t|tjƒr)|j}|t d¡k r#t d¡}| |¡}n"t|ƒtu r5| d¡}nt|tj	j
tj	jtj	jtj	jfƒrK| d¡}t ||¡}t ||¡}|| }t ||¡ d}	tjt|	d�� ||  W d   ƒ d S 1 szw   Y  d S )	Nrf   rh   z3 Daysz36 Hoursrš   r¨   ú$cannot use operands with types dtyper„   )r
   rC   r7   rª   r(   r«   r.   r   r{   ÚoffsetsÚDayÚHourÚMinuteÚSecondrG   rp   r‰   rŠ   r‹   rŒ   )
rk   Ú
three_daysr4   rq   r�   rD   r<   r(   rl   r�   r   r   r   Útest_numeric_arr_rdiv_tdscalar   s.   
þ

"ÿzMTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_rdiv_tdscalarrJ   é   )Úhourszm8[h]ÚNaTÚDrh   r   z
2021-01-01z
Asia/Tokyo)ÚtzÚUTCÚnsc                 C  s.   |}t  ||¡}d g d¢¡}t|||ƒ d S )Nú|)
úunsupported operand typez3Addition/subtraction of integers and integer-arrayszInstead of adding/subtractingrµ   z;Concatenation operation is not implemented for NumPy arraysz+Cannot (add|subtract) NaT (to|from) ndarrayzBoperand type\(s\) all returned NotImplemented from __array_ufunc__z(can only perform ops with numeric valuesz*cannot subtract DatetimeArray from ndarrayz.Cannot add or subtract Timedelta from integers)rG   rp   Újoinr   )rk   r4   rJ   rq   r�   rL   r�   r   r   r   Ú&test_add_sub_datetimedeltalike_invalid?  s   ÿzUTestNumericArraylikeArithmeticWithDatetimeLike.test_add_sub_datetimedeltalike_invalidN)"r/   r‘   r’   rŠ   ÚmarkÚparametrizer7   r   r   r   r]   rž   r£   r	   Úto_timedelta64Úto_pytimedeltar«   r­   r)   r&   r´   r¼   rª   r{   r¶   r¹   rº   r|   Úto_pydatetimeÚto_datetime64Ú
datetime64r¿   ÚreprrÇ   r   r   r   r   r“   ¬   sl    
ÿ
ÿû÷
ýù	



ïër“   c                   @  sö   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zej 	d	e
je
jg¡d
d„ ƒZej 	dejejejg¡dd„ ƒZej 	dejejejg¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Z d+S ),ÚTestDivisionByZeroc                 C  sv   |}t tjtjtjtjtjgtjd�}t||ƒ}|| }t ||¡ t|ƒ 	d¡t 
|¡ 	d¡ }t |t|ƒ¡ d S ©Nr'   rS   ©r   r7   ÚnanÚinfr&   r=   rG   Úassert_index_equalr   r«   r   rH   ©rk   r;   r4   Úidxr<   Ú	expected2rl   Ú
ser_compatr   r   r   Útest_div_zerot  ó   "
z TestDivisionByZero.test_div_zeroc                 C  sv   |}t tjtjtjtjtjgtjd�}t||ƒ}|| }t ||¡ t|ƒ 	d¡t 
|¡ 	d¡ }t |t|ƒ¡ d S rÑ   rÒ   rÖ   r   r   r   Útest_floordiv_zero�  rÛ   z%TestDivisionByZero.test_floordiv_zeroc                 C  sl   |}t tjtjtjtjtjgtjd�}|| }t ||¡ t|ƒ d¡t |¡ d¡ }t 	|t|ƒ¡ d S rÑ   )
r   r7   rÓ   r&   rG   rÕ   r   r«   r   rH   )rk   r;   r4   r×   r<   rl   rÙ   r   r   r   Útest_mod_zeroŽ  s   "z TestDivisionByZero.test_mod_zeroc                 C  s€   |}t tjtjtjtjtjgtjd�}t tjtjtjtjtjgtjd�}t||ƒ}t||ƒ}t |d |¡ t |d |¡ d S )Nr'   r   rf   )	r   r7   rÓ   rÔ   r&   r=   ÚdivmodrG   rÕ   )rk   r;   r4   r×   ÚexleftÚexrightrl   r   r   r   Útest_divmod_zero—  s   ""

z#TestDivisionByZero.test_divmod_zerorK   c                 C  sr   |j tjkrt d|j › �¡ |d }ttj tj tj tjtjgtjd�}t	||ƒ}|||ƒ}t
 ||¡ d S )Nz#Div by negative 0 not relevant for rh   r'   )r(   r7   r*   rŠ   Úskipr   rÔ   rÓ   r&   r=   rG   rÕ   )rk   r;   r4   rK   r×   r<   rl   r   r   r   Útest_div_negative_zero¢  s   (

z)TestDivisionByZero.test_div_negative_zeroÚdtype1c           	      C  sà   |}t g d¢dd� |¡}t g d¢dd� |¡}tjdd�� t |j tj¡|j dd d	�}W d   ƒ n1 s8w   Y  tj|jd
d…< |jdkr[|jdkr[t	j
r[|d
kr[| d¡}|| }t ||¡ | || ¡rnJ ‚d S )N©rh   é   r%   é   Úfirstrv   ©r   r   r   rh   ÚsecondÚignore©r:   r&   ©r(   rw   r   rh   r)   Úfloat32)r   r«   r7   ÚerrstateÚvaluesr&   rÔ   Úilocr(   r   ÚUSE_NUMEXPRrG   rH   rE   )	rk   r    rä   Úany_real_numpy_dtypeÚdtype2rè   rê   r<   rl   r   r   r   Útest_ser_div_ser±  s"   ýÿ
z#TestDivisionByZero.test_ser_div_serc                 C  sÌ   |}t ddgƒ |¡}t ddgƒ |¡}|| || f}t|ƒ}|d  tj¡|d< tj|d d< t||ƒ}t |d |d ¡ t |d |d ¡ t|j	|ƒ}t |d |d ¡ t |d |d ¡ d S )Nrf   r   rg   )
r   r«   Úlistr7   r&   rÔ   rÞ   rG   rH   rð   )rk   rä   ró   rô   rL   rM   r<   rl   r   r   r   Útest_ser_divmod_zeroÏ  s   
z'TestDivisionByZero.test_ser_divmod_zeroc                 C  s–   t tjdgƒ}t tjdgƒ}|| || f}t||ƒ}t |d |d ¡ t |d |d ¡ t|j|ƒ}t |d |d ¡ t |d |d ¡ d S )Nç      ð?ç       @r   rf   )r   r7   rÔ   rÞ   rG   rH   rð   )rk   rL   rM   r<   rl   r   r   r   Útest_ser_divmod_infæ  s   
z&TestDivisionByZero.test_ser_divmod_infc                 C  s€   t  dgd ¡}t j d¡ d¡}tdgd ƒ}|t|ƒ }t ||¡ t|ƒ| }t ||¡ t|ƒt|ƒ }t ||¡ d S )Nr   r%   rg   ri   )r7   r   rx   ry   rz   r   rG   rH   )rk   Ú
zero_arrayÚdatar<   rl   r   r   r   Útest_rdiv_zero_compatõ  s   z(TestDivisionByZero.test_rdiv_zero_compatc                 C  sB   t g d¢dd�}t tj tjtjgdd�}|d }t ||¡ d S ©N©r6   r   rf   rè   rv   r   ©r   r7   rÔ   rÓ   rG   rH   ©rk   Úserr<   rl   r   r   r   Útest_div_zero_inf_signs  s   z*TestDivisionByZero.test_div_zero_inf_signsc                 C  s<   t g d¢dd�}t dtjdgdd�}d| }t ||¡ d S )Nrÿ   rè   rv   ri   r   )r   r7   rÓ   rG   rH   r  r   r   r   Útest_rdiv_zero  s   z!TestDivisionByZero.test_rdiv_zeroc                 C  sB   t g d¢dd�}|d }t tj tjtjgdd�}t ||¡ d S rþ   r   )rk   r  rl   r<   r   r   r   Útest_floordiv_div  s   z$TestDivisionByZero.test_floordiv_divc                 C  sb   t  g d¢g d¢dœ¡}|| }tg d¢ƒ}ttjtjtjdgƒ}t  ||dœ¡}t ||¡ d S )Nrå   ré   ©rè   rê   ©rø   rø   rø   rø   rf   )r{   Ú	DataFramer   r7   rÓ   rG   Úassert_frame_equal)rk   Údfrl   rè   rê   r<   r   r   r   Útest_df_div_zero_df  s   z&TestDivisionByZero.test_df_div_zero_dfc                 C  s¬   t  g d¢g d¢dœ¡}tg d¢ƒ}ttjtjtjdgƒ}t  ||dœ¡}tjdd�� |j d¡|j }W d   ƒ n1 s?w   Y  t j||j|j	d	�}t
 ||¡ d S )
Nrå   ré   r  r  rf   rë   rì   Úfloat©rD   Úcolumns)r{   r  r   r7   rÓ   rï   rð   r«   rD   r  rG   r	  )rk   r
  rè   rê   r<   r³   rl   r   r   r   Útest_df_div_zero_array&  s   ÿz)TestDivisionByZero.test_df_div_zero_arrayc                 C  s¶   t  g d¢g d¢dœ¡}|d }t jtj|j|jd�}tj|jdd…df< t 	||¡ tj
dd	�� |j d
¡d }W d   ƒ n1 sDw   Y  t j||j|jd�}t 	||¡ d S )Nrå   ré   r  r   r  rh   rf   rë   rì   r&   )r{   r  r7   rÔ   rD   r  rÓ   rñ   rG   r	  rï   rð   r«   ©rk   r
  rl   r<   r³   Úresult2r   r   r   Útest_df_div_zero_int3  s   ÿz'TestDivisionByZero.test_df_div_zero_intc                 C  sN   t  tj d¡ d¡¡}|d }|| }|| }| d¡ | d¡¡r%J ‚d S ©Nrg   )r[   r%   r   ©r{   r  r7   rx   ry   rz   ÚfillnarE   ©rk   r
  r  ÚresÚres2r   r   r   Ú(test_df_div_zero_series_does_not_commuteB  s
   z;TestDivisionByZero.test_df_div_zero_series_does_not_commutec                 C  sÖ   t  g d¢g d¢dœ¡}tg d¢ƒ}|s| d¡}ttjtjtjdgƒ}t  ||dœ¡}|| }t ||¡ t jg d¢g d¢dœdd�}tg d¢d	d
�}ttjtjtjdgƒ}t  ||dœ¡}|| }t ||¡ d S )Nrå   ré   r  ©r   r   r   r   r&   r   Fr®   r)   r'   )r{   r  r   r«   r7   rÓ   rG   r	  )rk   Úusing_array_managerr
  rè   rê   r<   rl   r   r   r   Útest_df_mod_zero_dfM  s   
z&TestDivisionByZero.test_df_mod_zero_dfc                 C  sÀ   t  g d¢g d¢dœ¡}tg d¢dd�}ttjtjtjdgƒ}t  ||dœ¡}tjdd	�� |j|j }W d   ƒ n1 s>w   Y  t j||j|jdd
�}tj|j	dd…df< t
 ||¡ d S )Nrå   ré   r  r  r&   r'   r   rë   rì   )rD   r  r(   rh   rf   )r{   r  r   r7   rÓ   rï   rð   rD   r  rñ   rG   r	  )rk   r
  rè   rê   r<   r³   r  r   r   r   Útest_df_mod_zero_arraye  s   ÿz)TestDivisionByZero.test_df_mod_zero_arrayc                 C  s¢   t  g d¢g d¢dœ¡}|d }t jtj|j|jd�}t ||¡ tjdd�� |j	 
d¡d }W d   ƒ n1 s:w   Y  t j||j|jd�}t ||¡ d S )	Nrå   ré   r  r   r  rë   rì   r&   )r{   r  r7   rÓ   rD   r  rG   r	  rï   rð   r«   r  r   r   r   Útest_df_mod_zero_intv  s   ÿz'TestDivisionByZero.test_df_mod_zero_intc                 C  sN   t  tj d¡ d¡¡}|d }|| }|| }| d¡ | d¡¡r%J ‚d S r  r  r  r   r   r   Ú(test_df_mod_zero_series_does_not_commute„  s
   z;TestDivisionByZero.test_df_mod_zero_series_does_not_commuteN)!r/   r‘   r’   rÚ   rÜ   rÝ   rá   rŠ   rÈ   rÉ   r?   ÚtruedivÚfloordivrã   r7   r)   r&   r*   rõ   r÷   rú   rý   r  r  r  r  r  r  r  r  r  r  r  r   r   r   r   rÐ   s  s0    	



rÐ   c                	   @  sò   e Zd Zdd„ Zdd„ Zdd„ Zej de	j
eje	jg¡dd	„ ƒZd
d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zej de	jejg¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zej d ejd!d"d#d$ejg¡d%d&„ ƒZd'd(„ Z d)d*„ Z!d+d,„ Z"d-S ).ÚTestMultiplicationDivisionc                 C  sl   |}t tdƒgƒ}t tdƒgƒ}t ||¡}t ||¡}|tdƒ }t ||¡ |tdƒ }t ||¡ d S )Nr[   r%   rg   )r   r   rG   rp   r‰   )rk   rq   r�   r  r<   rl   r   r   r   Útest_divide_decimal’  s   z.TestMultiplicationDivision.test_divide_decimalc                 C  sb   t ddgdd�}t ddgdd�}t dtj gƒ}| |¡}tj||dd	� || }t ||¡ d S )
Nrf   r   rè   rv   g{®Gáz„¿g{®Gáz”¿rê   F©Úcheck_names)r   r7   rÔ   ÚdivrG   rH   )rk   rè   rê   r<   rl   r   r   r   Útest_div_equiv_binop¢  s   
z/TestMultiplicationDivision.test_div_equiv_binopc                 C  sH   |}|d }|  d¡}t ||¡ |d }t|jd ƒ}t ||¡ d S )Nrf   r&   rg   )r«   rG   rÕ   r   rð   )rk   r4   r×   rl   r<   r   r   r   Útest_div_int°  s   
z'TestMultiplicationDivision.test_div_intrK   c                 C  s*   |}t  ||¡}||dƒ}t  ||¡ d S ©Nrf   )rG   rp   r‰   )rk   rK   r4   rq   r×   rl   r   r   r   Útest_mul_int_identityº  s   
z0TestMultiplicationDivision.test_mul_int_identityc                 C  sd   |}|| }|t jddd� }t ||d ¡ |jt jkrdnd}|t jd|d� }t ||¡ d S )Nr%   r)   r'   r*   )r7   r   rG   rÕ   r(   r*   r°   )rk   r4   r×   Údidxrl   Ú	arr_dtyper   r   r   Útest_mul_int_arrayÂ  s   z-TestMultiplicationDivision.test_mul_int_arrayc                 C  sJ   |}|| }|j tjkrdnd}|ttjd|d�ƒ }t |t|ƒ¡ d S )Nr*   r)   r%   r'   )r(   r7   r*   r   r°   rG   rH   )rk   r4   r×   r+  r,  rl   r   r   r   Útest_mul_int_seriesÍ  s
   z.TestMultiplicationDivision.test_mul_int_seriesc                 C  sB   |}t jddd�}|t|d ƒ }t||d  ƒ}t ||¡ d S )Nr%   r&   r'   gš™™™™™¹?)r7   r°   r   rG   rH   )rk   r4   r×   Úrng5rl   r<   r   r   r   Útest_mul_float_seriesÕ  s
   z0TestMultiplicationDivision.test_mul_float_seriesc                 C  s    |}|| }t  ||d ¡ d S ©Nrg   ©rG   rÕ   )rk   r4   r×   rl   r   r   r   Útest_mul_indexÝ  s   z)TestMultiplicationDivision.test_mul_indexc                 C  sL   |}d}t jt|d�� |tddd�  W d   ƒ d S 1 sw   Y  d S )Nz,cannot perform __rmul__ with this index typer„   Ú20130101r%   ©Úperiods)rŠ   r‹   rŒ   r   ©rk   r4   r×   r�   r   r   r   Útest_mul_datelike_raisesã  s
   "ÿz3TestMultiplicationDivision.test_mul_datelike_raisesc                 C  sŒ   |}d}t jt|d�� ||dd…   W d   ƒ n1 sw   Y  t jt|d�� |t ddg¡  W d   ƒ d S 1 s?w   Y  d S )Nz(operands could not be broadcast togetherr„   r   rh   rf   rg   )rŠ   r‹   Ú
ValueErrorr7   r   r7  r   r   r   Útest_mul_size_mismatch_raisesé  s   ÿ"ÿz8TestMultiplicationDivision.test_mul_size_mismatch_raisesc                 C  sJ   |}|}t ||jdƒƒ}t ||¡}t ||¡}||dƒ}t ||¡ d S )Nrù   ©r   rð   rG   rp   r‰   )rk   rK   r4   rq   r�   r×   r<   rl   r   r   r   Útest_pow_floatñ  s   
z)TestMultiplicationDivision.test_pow_floatc                 C  sF   |}|}t |jd ƒ}t ||¡}t ||¡}|d }t ||¡ d S r1  r;  )rk   r4   rq   r�   r×   r<   rl   r   r   r   Útest_moduloþ  s   z&TestMultiplicationDivision.test_moduloc           	      C  s~   |}t |dƒ}tjdd�� t |jdƒ\}}W d   ƒ n1 s w   Y  t|ƒt|ƒf}t||ƒD ]
\}}t ||¡ q2d S )Nrg   rë   rì   )rÞ   r7   rï   rð   r   ÚziprG   rÕ   )	rk   r4   r×   rl   r&  Úmodr<   ÚrÚer   r   r   Útest_divmod_scalar
  s   
ÿÿz-TestMultiplicationDivision.test_divmod_scalarc           
      C  s˜   |}t j|jj|jjd�d }t||ƒ}t jdd�� t|j|ƒ\}}W d   ƒ n1 s-w   Y  t|ƒt|ƒf}t||ƒD ]
\}}	t	 
||	¡ q?d S ©Nr'   rg   rë   rì   )r7   Úonesrð   Úshaper(   rÞ   rï   r   r>  rG   rÕ   ©
rk   r4   r×   rJ   rl   r&  r?  r<   r@  rA  r   r   r   Útest_divmod_ndarray  s   
ÿÿz.TestMultiplicationDivision.test_divmod_ndarrayc           
      C  sœ   |}t j|jj|jjd�d }t|t|ƒƒ}t jdd�� t|j|ƒ\}}W d   ƒ n1 s/w   Y  t|ƒt|ƒf}t||ƒD ]
\}}	t	 
||	¡ qAd S rC  )r7   rD  rð   rE  r(   rÞ   r   rï   r>  rG   rH   rF  r   r   r   Útest_divmod_series!  s   ÿÿz-TestMultiplicationDivision.test_divmod_seriesrJ   é   iéÿÿÿgX9´Èv¾@g…ëQ¸	Àc                 C  sž   t j d¡ d¡}dd„ }||ƒ}t |t  |¡ ||| ƒ¡ t t  |¡| ||| ƒ¡ t |t  |¡ ||| ƒ¡ t t  |¡| ||| ƒ¡ d S )Nrg   )r%   rh   c                 S  s   t j| tdƒg d¢d�S )NÚABCDE)ÚjimÚjoeÚjolier  )r{   r  rö   r0   r   r   r   r2   0  s    ÿz?TestMultiplicationDivision.test_ops_np_scalar.<locals>.<lambda>)r7   rx   ry   rz   rG   r	  r   )rk   rJ   ÚvalsÚfr
  r   r   r   Útest_ops_np_scalar-  s   "z-TestMultiplicationDivision.test_ops_np_scalarc                 C  sª   t tjdtjd�tddd�dd�}d|_t d|i¡}tj	|| ||d  dd	� tj	|| ||d  dd	� tj	||k ||d k dd	� tj	|| ||d  dd	� d S )
Nr[   r'   ú
2020-01-01r5  rs   ©rD   rw   ÚAFr$  )
r   r7   r°   r&   r   rw   r{   r  rG   rH   )rk   rs   r
  r   r   r   Útest_operators_frame<  s   
ý z/TestMultiplicationDivision.test_operators_framec                 C  s2  t jdd��‰ t g d¢g d¢dœ¡}|d |d  }t|d j|d j dd	�}t j|jd
d…< t 	||¡ |d d
 }tt j|j
dd�}t 	||¡ | d¡}|d |d  }t|d j|d j ƒ}t 	||¡ | d¡}|d |d  }|d |d  }| |¡r‡J ‚W d   ƒ d S 1 s’w   Y  d S )Nrë   rì   rå   ré   r  rè   rê   r&   r'   r   rh   rR  )r7   rï   r{   r  r   rð   rÓ   rñ   rG   rH   rD   r«   rE   )rk   Úprl   r<   r  r   r   r   Útest_modulo2N  s$   

"ìz'TestMultiplicationDivision.test_modulo2c                 C  s„   t jdd��2 tddgƒ}|d }tt jt jgƒ}t ||¡ d| }tt jdgƒ}t ||¡ W d   ƒ d S 1 s;w   Y  d S )Nrë   rì   r   rf   ri   )r7   rï   r   rÓ   rG   rH   )rk   Úsrl   r<   r   r   r   Útest_modulo_zero_inte  s   "÷z/TestMultiplicationDivision.test_modulo_zero_intN)#r/   r‘   r’   r#  r'  r(  rŠ   rÈ   rÉ   r?   Úmulr   Úrmulr!  r*  r-  r.  r0  r3  r8  r:  r@   r>   r<  r=  rB  rG  rH  r7   rÓ   rÔ   rP  rT  rV  rX  r   r   r   r   r"  Ž  s.    



r"  c                   @  s4  e Zd Zej deg d¢edƒdd�eg d¢edƒdd�edd	ej	ej	ged
ƒdd�feg d¢edƒdd�eg d¢ed
ƒdd�edddej	ged
ƒdd�fg¡dd„ ƒZ
ej dejdg d¢iedƒd�ejdg d¢iedƒd�ejddd	ej	ej	gied
ƒd�fejdg d¢iedƒd�ejdg d¢ied
ƒd�ejddddej	gied
ƒd�fg¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zej dd¡d d!„ ƒZejjd"d#d$„ d%d$„ d&d$„ gg d'¢d(�d)d*„ ƒZejjd"d+d$„ d,d$„ gd-d.gd(�d/d0„ ƒZejjd"d1d$„ d2d$„ d3d$„ gg d'¢d(�d4d5„ ƒZd6d7„ Zd8S )9ÚTestAdditionSubtractionzfirst, second, expectedre   ÚABCr1   rR  )rg   rg   rg   ÚABDç      @ç      @ÚABCD)rg   rg   rg   rg   rh   ræ   r%   c                 C  ó$   t  || |¡ t  || |¡ d S r,   )rG   rH   ©rk   rè   rê   r<   r   r   r   Útest_add_seriesw  ó   z'TestAdditionSubtraction.test_add_series©rD   c                 C  ra  r,   )rG   r	  rb  r   r   r   Útest_add_frames‹  rd  z'TestAdditionSubtraction.test_add_framesc           	      C  s  t dd„ tdƒD ƒƒ}d| }| dd„ ¡}t ||¡ t d|i¡}d| }t d| dd„ ¡i¡}t ||¡ t tj	d	tj
d
�tdd	d�dd�}| ¡ }d ddg¡}tjt|d�� ||  W d   ƒ n1 skw   Y  tjt|d�� ||  W d   ƒ d S 1 s‡w   Y  d S )Nc                 S  s   g | ]}t |ƒ‘qS r   )r—   )rb   Úir   r   r   rc   ¢  r˜   zFTestAdditionSubtraction.test_series_frame_radd_bug.<locals>.<listcomp>r%   Úfoo_c                 S  ó   d|  S ©Nrh  r   r0   r   r   r   r2   ¤  ó    zDTestAdditionSubtraction.test_series_frame_radd_bug.<locals>.<lambda>rN  c                 S  ri  rj  r   r0   r   r   r   r2   ©  rk  r[   r'   rQ  r5  rs   rR  rÄ   rÅ   zConcatenation operationr„   )r   ro   ÚmaprG   rH   r{   r  r	  r7   r°   r&   r   rÌ   rÆ   rŠ   r‹   rŒ   )	rk   rr   rN  rl   r<   Úframers   Úfix_nowr�   r   r   r   Útest_series_frame_radd_bug   s2   
ýýÿ
ÿ
"ÿz2TestAdditionSubtraction.test_series_frame_radd_bugc                 C  s0  t tj d¡ d¡ƒ}||j ¡  }||j }t ||¡ t t	ddd�t	ddd�d�}||j ¡  }||j }t ||¡ d}t
jt|d�� ||j ¡  }W d   ƒ n1 sXw   Y  tjtj d¡ d¡t	ddd�d�}t d	¡|d
< |d
 |j ¡  |d< |d
 |j |d< tj|d |d dd� d S )Nrg   r%   r4  r5  re  z.cannot subtract PeriodArray from DatetimeArrayr„   )r%   rg   Ú20130102Údater<   rl   Fr$  )r   r7   rx   ry   rz   rD   Ú	to_seriesrG   rH   r   rŠ   r‹   rŒ   Ú	to_periodr{   r  r|   )rk   r  r<   rl   r�   r
  r   r   r   Útest_datetime64_with_indexÂ  s.   


þ
þ
þz2TestAdditionSubtraction.test_datetime64_with_indexc                 C  sö   |}t j d¡ d¡}t|t  |j¡d�}|| }|| }| ¡ D ](\}}| ¡ D ]\}	}
|| |	 d }t  |
¡sA|
|ks@J ‚q)t  |¡sHJ ‚q)q!| ¡ D ]*\}}| ¡ D ]!\}	}
|| |	 ||  }t  |
¡sp|
|ksoJ ‚qVt  |¡swJ ‚qVqNd S )Nrg   ræ   re  )r7   rx   ry   r   r   r  ÚitemsÚisnan)rk   Úfloat_framerm  ÚgarbageÚ	colSeriesÚidSumÚ	seriesSumÚcolrI   r×   ÚvalÚorigValr   r   r   Útest_frame_operatorsâ  s(   
û
ûÿz,TestAdditionSubtraction.test_frame_operatorsc                 C  s2   t j|g d¢d�}|| }|d }t ||¡ d S )N)rÀ   ÚCÚBrS  )r  rg   )r{   r  rG   r	  )rk   rw  Úframe2Úaddedr<   r   r   r   Útest_frame_operators_col_alignû  s   z6TestAdditionSubtraction.test_frame_operators_col_alignc              	   C  s8   t  dg d¢i¡}t || t  ddtjdgi¡¡ d S )Nr}   )r}   Nr~   ÚaaÚbb)r{   r  rG   r	  r7   rÓ   )rk   r
  r   r   r   Ú test_frame_operators_none_to_nan  s   &z8TestAdditionSubtraction.test_frame_operators_none_to_nanr(   )r  r)   c                 C  sZ   t j|d�t jdg|d�t jdg|d�g}|D ]}||  |¡s"J ‚t || |¡ qd S )Nr'   rS  )r  r(   r   ©rD   r(   )r{   r  rE   rG   r	  )rk   r(   Úframesr
  r   r   r   Útest_frame_operators_empty_like  s   
ýþz7TestAdditionSubtraction.test_frame_operators_empty_likeÚfuncc                 C  ó   | d S r1  r   r0   r   r   r   r2     rk  z TestAdditionSubtraction.<lambda>c                 C  ó   | d d d… S r1  r   r0   r   r   r   r2     ó    c                 C  ó   dS rn   r   r0   r   r   r   r2     ó    )ÚmultiplyÚsliceÚconstantr™   c                 C  ó>   |}t tjdtjd�tddd�dd�}||ƒ}t|||ƒ d S ©Nr[   r'   rQ  r5  rs   rR  ©r   r7   r°   r&   r   rO   )rk   Úall_arithmetic_functionsr‹  rK   rI   rJ   r   r   r   Ú test_series_operators_arithmetic  s   
ýz8TestAdditionSubtraction.test_series_operators_arithmeticc                 C  s   | d S r)  r   r0   r   r   r   r2   !  rk  c                 C  r�  rn   r   r0   r   r   r   r2   !  r�  Úaddr“  c                 C  r”  r•  r–  )rk   Úcomparison_opr‹  rK   rI   rJ   r   r   r   Útest_series_operators_compare   s   
ýz5TestAdditionSubtraction.test_series_operators_comparec                 C  rŒ  r1  r   r0   r   r   r   r2   /  rk  c                 C  r�  r1  r   r0   r   r   r   r2   /  rŽ  c                 C  r�  rn   r   r0   r   r   r   r2   /  r�  c           
      C  s  t tjdtjd�tddd�dd�}||ƒ}t||ƒ}t|tjƒr;t	|ƒt	|ƒkr;g }|D ]}| 
|¡ | 
tj¡ q,n|}t |¡}tjdd�� t|jt |¡ƒ}W d   ƒ n1 s\w   Y  t||ƒD ] \}}	t t |¡|	¡ |j|jks{J ‚t |j|j d ¡¡ qfd S )	Nr[   r'   rQ  r5  rs   rR  rë   rì   )r   r7   r°   r&   r   rÞ   rC   r   ÚIterabler©   ÚappendrÓ   Úasarrayrï   rð   r>  rG   Úassert_almost_equalrw   rÕ   rD   rF   )
rk   r‹  rI   rJ   ÚresultsÚother_npr§   Ú	expectedsrl   r<   r   r   r   Útest_divmod-  s.   
ý

þ
ÿûz#TestAdditionSubtraction.test_divmodc                 C  s’   t tjddtjd�tddd�dd�}|d	 }t||ƒ}t tjgt|ƒ |jdd�}t tj	gt|ƒ |jdd�}t
 |d	 |¡ t
 |d |¡ d S )
Nrf   é   r'   rQ  r[   r5  rs   rR  r   )r   r7   r°   r&   r   rÞ   rÔ   r©   rD   rÓ   rG   rH   )rk   ÚtserrJ   rl   Úexp1Úexp2r   r   r   Útest_series_divmod_zeroN  s   
ý
z/TestAdditionSubtraction.test_series_divmod_zeroN)r/   r‘   r’   rŠ   rÈ   rÉ   r   rö   r7   rÓ   rc  r{   r  rf  ro  rt  r  r„  r‡  rŠ  r˜  r›  r£  r¨  r   r   r   r   r[  s  sf    ýýúþ
 ýýúþ
" 
ý

ÿ

ý
r[  c                   @  s²   e Zd Zej deeeg¡ej de	j
e	je	jg¡dd„ ƒƒZej deeg¡ej de	j
e	je	jg¡dd„ ƒƒZej deeg¡ej de	j
e	je	jg¡dd„ ƒƒZd	d
„ ZdS )ÚTestUFuncCompatÚholderr(   c                 C  s�   |t u rt nt}|tu r"|tjkrt d|› d�¡ tdddd�}n|tjd|d�dd�}t |¡}|t tjd|d�¡dd�}t	 
||¡ d S )Nzdtype z not relevant for RangeIndexr   r%   Úfoorv   r'   )r   r   r   r7   r)   rŠ   râ   r°   ÚsinrG   r‰   )rk   rª  r(   r�   r×   rl   r<   r   r   r   Útest_ufunc_compatf  s   

z!TestUFuncCompat.test_ufunc_compatc                 C  s  |g d¢|dd�}|t u rt nt}t |¡}|jdkr t||ƒs"J ‚tt tjg d¢tjd�¡dd�}t 	||¡}t 
||¡ t |d¡}|jdkrOt||ƒsQJ ‚tg d¢tjdd�}t 	||¡}t 
||¡ |d }|jdkrut||ƒswJ ‚tg d	¢tjdd�}t 	||¡}t 
||¡ |d }|jdkr›t||ƒs�J ‚tg d
¢tjdd�}t 	||¡}t 
||¡ |d }|jdkrÁt||ƒsÃJ ‚tg d¢tjdd�}t 	||¡}t 
||¡ |d }|jdkrçt||ƒséJ ‚tg d¢tjdd�}t 	||¡}t 
||¡ d S )N)rf   rg   rh   ræ   r%   r1   rí   rZ   r'   rv   rù   )g      à?rø   g      ø?rù   g      @)r^  r_  ç      @g      @g      @)g      ð¿ri   rø   rù   r^  rø   )rø   rù   r^  r_  r®  )r   r   r7   Úsqrtr(   rC   r   r&   rG   rp   r‰   Údivide)rk   rª  r(   r×   r�   rl   Úexpr   r   r   Útest_ufunc_coercionsv  s@   
"z$TestUFuncCompat.test_ufunc_coercionsc                 C  s–   |g d¢|dd�}|t u rt nt}t |¡}t|tƒsJ ‚tg d¢tjdd�}tg d¢tjdd�}t |d t 	||¡¡ t |d t 	||¡¡ d S )Nre   r1   rí   )ri   ri   ri   )rø   rù   r^  r   rf   )
r   r   r7   ÚmodfrC   Útupler&   rG   r‰   rp   )rk   rª  r(   rt   r�   rl   r¦  r§  r   r   r   Ú!test_ufunc_multiple_return_values¢  s   
z1TestUFuncCompat.test_ufunc_multiple_return_valuesc                 C  sP   t g d¢g d¢dd�}tj |ddgd¡ t g d¢g d¢dd�}t ||¡ d S )	Nrj   re   r1   rR  r   rg   r[   )r[   rf   é   )r   r7   r™  ÚatrG   rH   )rk   rW  r<   r   r   r   Útest_ufunc_at¯  s   zTestUFuncCompat.test_ufunc_atN)r/   r‘   r’   rŠ   rÈ   rÉ   r   r   r   r7   r)   r*   r&   r­  r²  rµ  r¸  r   r   r   r   r©  d  s    *r©  c                   @  sj   e Zd Zej ddeg¡dd„ ƒZej ddeg¡dd„ ƒZej de	j
e	je	je	je	jg¡dd	„ ƒZdS )
ÚTestObjectDtypeEquivalencer(   Nc                 C  st   |}t g d¢|d�}t tjtjtjg|d�}t ||¡}t ||¡}tj| }t ||¡ |tj }t ||¡ d S )Nre   r'   )r   r7   rÓ   rG   rp   r‰   ©rk   r(   rq   r�   r  r<   rl   r   r   r   Útest_numarr_with_dtype_add_nan¹  s   

z9TestObjectDtypeEquivalence.test_numarr_with_dtype_add_nanc                 C  sh   |}t g d¢|d�}t g d¢|d�}t ||¡}t ||¡}d| }t ||¡ |d }t ||¡ d S )Nre   r'   )rg   rh   ræ   rf   )r   rG   rp   r‰   rº  r   r   r   Útest_numarr_with_dtype_add_intÈ  s   z9TestObjectDtypeEquivalence.test_numarr_with_dtype_add_intrK   c                 C  sR   t tj d¡ d¡t d¡td�}|d|ƒ}|d| t¡ƒ}t	 
| t¡|¡ d S )Nrg   r[   rˆ  rø   )r   r7   rx   ry   rz   r°   Úobjectr«   r  rG   rH   )rk   rK   r³   rl   r<   r   r   r   Útest_operators_reverse_objectØ  s   ý
z8TestObjectDtypeEquivalence.test_operators_reverse_object)r/   r‘   r’   rŠ   rÈ   rÉ   r½  r»  r¼  r?   r™  ÚsubrY  r   r!  r¾  r   r   r   r   r¹  ¶  s    

þr¹  c                   @  sì  e Zd Zej dejejej	ej
ejg¡ej dedddƒedddƒedddƒed	d
dƒg¡ej dedddƒedddƒedddƒed	d
dƒg¡dd„ ƒƒƒZej dejejej	ej
ejg¡ej dedddƒedddƒedddƒed	d
dƒg¡ej dg d¢¡dd„ ƒƒƒZej dedddƒedddƒg¡ej dedddƒedddƒg¡dd„ ƒƒZej dedddƒedddƒg¡ej dddg¡dd„ ƒƒZej dejejej	ej
ejejejg¡dd„ ƒZdd„ Zej dedddƒdedddƒfedd d!ƒd!ed"d#dƒfedddƒdeedddƒjƒd fedd$dƒd%eedd$dƒjƒd% fedƒd&edƒfedd'dƒd(edddƒfed
dd)ƒd'ed*ddƒfed+d,d(ƒdedƒfg¡d-d.„ ƒZej d/ejejg¡ej d0g d1¢¡d2d3„ ƒƒZd4d5„ Zd6S )7ÚTestNumericArithmeticUnsortedrK   Úidx1r   r[   rf   r_   rg   iöÿÿÿr%   éûÿÿÿr6   Úidx2c                 C  sL   |  d¡}|  d¡}|||ƒ}|t| ¡ ƒt| ¡ ƒƒ}tj||dd� d S ©Nr«  ÚbarÚequiv©Úexact)Ú_renamer   Úto_numpyrG   rÕ   )rk   rK   rÁ  rÃ  rl   r<   r   r   r   Útest_binops_indexì  s
   


z/TestNumericArithmeticUnsorted.test_binops_indexr×   Úscalar)r6   rf   rg   c                 C  s0   |||ƒ}|t | ¡ ƒ|ƒ}tj||dd� d S ©NrÆ  rÇ  )r   rÊ  rG   rÕ   )rk   rK   r×   rÌ  rl   r<   r   r   r   Útest_binops_index_scalar  s   
z6TestNumericArithmeticUnsorted.test_binops_index_scalarc                 C  sL   |  d¡}|  d¡}t||ƒ}tt| ¡ ƒt| ¡ ƒƒ}tj||dd� d S rÄ  )rÉ  r@   r   rÊ  rG   rÕ   )rk   rÁ  rÃ  rl   r<   r   r   r   Útest_binops_index_pow(  s
   


z3TestNumericArithmeticUnsorted.test_binops_index_powc                 C  s0   t ||ƒ}t t| ¡ ƒ|ƒ}tj||dd� d S rÍ  )r@   r   rÊ  rG   rÕ   )rk   r×   rÌ  rl   r<   r   r   r   Útest_binops_index_scalar_pow3  s   
z:TestNumericArithmeticUnsorted.test_binops_index_scalar_powc                 C  sˆ   t dƒ}ttj d¡ d¡ƒ}|t|ƒ|ƒ}|||ƒ}t ||¡ t 	tj d¡ d¡¡}|t 	||g¡|ƒ}|||ƒ}t 
||¡ d S )Nr%   rg   )rg   r%   )r   r   r7   rx   ry   rz   rG   rH   r{   r  r	  )rk   rK   rD   rJ   r<   rl   r   r   r   Ú$test_arithmetic_with_frame_or_series=  s   

zBTestNumericArithmeticUnsorted.test_arithmetic_with_frame_or_seriesc                 C  sJ  t dddƒ}|d }t dddƒ}tj||dd� |d }t dddƒ}tj||dd� |d }t d	d
dƒ}tj||dd� |d }t dddƒ d¡}tj||dd� |d }t dddƒd }tj||dd� |d }|}tj||dd� || }t|j|j ƒ}tj||dd� t dddƒ}|d }t|jƒd }tjt|jƒ|dd� d S )Nr   r[   rg   r_   ræ   TrÇ  r¶  éþÿÿÿrç   r%   rf   r&   éè  )r   rG   rÕ   r«   r   rð   Ú_values)rk   r×   rl   r<   r   r   r   Útest_numeric_compat2X  s4   z2TestNumericArithmeticUnsorted.test_numeric_compat2zidx, div, expectedrÓ  iô  i�ÿÿÿi7ÿÿÿéýÿÿÿé!   éC   éd   rù   rƒ   ræ   rh   iúÿÿÿrÒ  iœÿÿÿi8ÿÿÿc                 C  s   t j|| |dd� d S )NTrÇ  r2  )rk   r×   r&  r<   r   r   r   Útest_numeric_compat2_floordiv�  s   z;TestNumericArithmeticUnsorted.test_numeric_compat2_floordivr(   Údelta)rf   r   r6   c                 C  sž   ||ƒ}t g d¢|d�}|| }t |j| |d�}t ||¡ || }t |j| |d�}t ||¡ t || d| ¡ t || d| ¡ || jrMJ ‚d S )N)r[   r¤  r¶  r'   rg   r   )r   rð   rG   rÕ   Úempty)rk   r(   rÛ  rD   rl   r<   r   r   r   Útest_addsub_arithmetic›  s   z4TestNumericArithmeticUnsorted.test_addsub_arithmeticc                 C  sh   t tjtjtjgƒ}t g d¢ƒ}t g d¢ƒ}t ||¡}t ||¡}t ||¡}|| }t ||¡ d S )N)r   r   r   )rø   rø   rø   )r   r7   rÓ   rG   rp   r‰   )rk   rq   rL   rM   r<   rl   r   r   r   Útest_pow_nan_with_zero®  s   z4TestNumericArithmeticUnsorted.test_pow_nan_with_zeroN)r/   r‘   r’   rŠ   rÈ   rÉ   r?   r™  r¿  rY  r!  r   r   rË  rÎ  rÏ  rÐ  r@   r?  rÑ  rÕ  r   rÔ  rÚ  r7   r)   r&   rÝ  rÞ  r   r   r   r   rÀ  é  s°    ûþ




üþ	



üþ	ûþ




üþ	   	ùþ
)
ý
ýïþ
rÀ  c                  C  sv   t  g d¢g d¢dœ¡} t jdg d¢ig d¢d�}| j|dd	�}t  tjd
dd
gdtjdtjgdœ¡}t ||¡ d S )Nrj   )çš™™™™™ñ?Nrß  )rS  r�  rS  )rß  g333333ó?gÍÌÌÌÌÌô?)r   rg   rh   re  rf   ©Ú
fill_valuerø   ri   )r{   r  Ú	rfloordivr7   rÔ   rÓ   rG   r	  )r
  rJ   rl   r<   r   r   r   Útest_fill_value_inf_masking»  s   ÿrã  c                  C  sª   t jt d¡tjddddgd tjgd t d¡dœtdƒtdƒd	�} t jtj d¡ d
¡tdƒtdƒd	�}t	 
d ¡� | j|dd� W d   ƒ d S 1 sNw   Y  d S )Nr[   rf   rg   rh   ræ   )rS  r�  r€  rÀ   Ú
abcdefghijr`  r  )r[   ræ   Ú
abcdefghjkÚABCXr   rà  )r{   r  r7   r°   rÓ   rö   rx   ry   rz   rG   Úassert_produces_warningr&  )Úpdf1Úpdf2r   r   r   Útest_dataframe_div_silencedÉ  s"   
üø
ý"ÿrê  zdata, expected_datarj   )r   rg   ræ   c           
      C  s|   t |dd�}| |ƒ}|||ƒ }||ƒ| }t|| fv rt}nt|| fv r(t}nt }||dd�}	t ||	¡ t ||	¡ d S )NÚInt64r'   )r   r   r   rG   r‰   )
r$   r5   rü   Úexpected_datar³   Ú	containerrL   rM   Úclsr<   r   r   r   Ú test_integer_array_add_list_likeÞ  s   rï  c                  C  s†   t jdtj d¡ d¡it jjddgg d¢gddgd�d	�} |  ¡ }|j	 
d
d¡|_	| | }t jdgd dg| j	d�}t ||¡ d S )Nr}   rg   é   r~   rj   ÚlevAÚlevB)Únamesre  r   rf   ri   )r  rD   )r{   r  r7   rx   ry   rz   Ú
MultiIndexÚfrom_productr¯   rD   Ú	swaplevelrG   r	  )r
  Údf2rl   r<   r   r   r   Ú"test_sub_multiindex_swapped_levelsø  s   ÿþrø  Úpower)rf   rg   r%   Ústring_size)r   rf   rg   r%   c                 C  sX   t  td|  ƒ¡}tj|t jd�}d| }||k}t t j|jtd�¡}t	 
||¡ d S )Nr[   r'   ú )r7   r   ro   r{   r  r)   r‡   rE  rˆ   rG   r	  )rù  rú  r}   rM   rL   rl   r<   r   r   r   Útest_empty_str_comparison  s   rü  c                  C  sh   t g d¢ƒ} t g d¢dd�}| | }t g d¢dd�}t ||¡ | | }t g d¢dd�}t ||¡ d S )Nre   )rg   rf   rh   ÚUInt64r'   )rh   rh   rð  ÚFloat64)r6   rf   r   )r   rG   rH   )Úseries1Úseries2rl   r<   r   r   r   Útest_series_add_sub_with_UInt64  s   r  )>Ú
__future__r   Úcollectionsr   Údatetimer   Údecimalr   r?   Únumpyr7   rŠ   Úpandasr{   r   r   r   r	   r
   r   r   Úpandas._testingÚ_testingrG   Úpandas.corer   Úpandas.core.computationr   r   Úpandas.tests.arithmetic.commonr   r   Úfixturer    Úto_arrayr$   r°   r4   rö   r5   r=   rO   Ú_ldtypesr]   Ú__annotations__Úextendrd   r“   rÐ   r"  r[  r©  r¹  rÀ  rã  rê  rÈ   rÉ   rï  rø  rü  r  r   r   r   r   Ú<module>   s|   $	

ûø

ÿ
: H   f rR3 Sþ
