
    bMh9                        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c m	Z
 d dlZd dlmZ d dlmZ  ej        ej        ej        g          d             Z ej         ej        dej        j                  dgd	d
g          d             Zej        d             Zej                            dej        ej        ej        g          d             Zej                            dddgddg          d             Z ej                            dddgddg          d             Z!ej                            dddgddg          ej                            dddgddg          d                         Z"ej                            dddg          d             Z#ej                            dej$        g          ej                            dddg          ej        %                    d          d                                     Z&d Z'd Z(d Z) ej         ej*        g d ej+        !           ej*        g d d"!           ej*        g d d#!           ej*        g d$d%!           ej,        g d&           ej,        g d&          -                    d'           ej,        g d&          .                    d()           ej/        g d*           ej0         ej1        d d+           ej1        d,d-           ej1        d+d,          g          g	d.           d/             Z2 G d0 d1          Z3ej                            d2e4ee5g          d3             Z6d4 Z7d5 Z8d6 Z9d7 Z:e
j;        d8             Z<dS )9    )dequeN)SparseArray)paramsc                     | j         S Nparamrequests    ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/series/test_ufunc.pyufuncr      s     =    T)marksFsparsedense)r   idsc                     | j         S r   r   r
   s    r   r   r      s    
 =r   c                     t           j                            d                              dddd          } t           j                            d                              dddd          }d| ddd<   d|ddd	<   | |fS )
zO
    A pair of random, length-100 integer-dtype arrays, that are mostly 0.
       r   
   d   int64dtypeN      )nprandomdefault_rngintegers)a1a2s     r   arrays_for_binary_ufuncr#      s    
 
		q	!	!	*	*1b#W	*	E	EB			q	!	!	*	*1b#W	*	E	EBBsssGBsssGr6Mr   r   c                    t           j                            d                              dddd          }d|d d d<   |r$t	          |t          j        dd                    }t          t          j	        d d                   }d}t          j
        |||          } | |          }t          j
         | |          ||          }t          j        ||           d S )Nr   r   r   r   r   nameindexr%   )r   r   r   r    r   pdSparseDtypeliststringascii_lettersSeriestmassert_series_equal)r   r   arrr'   r%   seriesresultexpecteds           r   test_unary_ufuncr4   )   s     )


"
"
+
+Ar2W
+
E
ECC!H A#R^GQ%?%?@@@%crc*++EDYs%d333FU6]]Fys5t<<<H68,,,,,r   flipflippedstraight)r   c                    |\  }}|rHt          |t          j        dd                    }t          |t          j        dd                    }d}t          j        ||          }|}||f}	||f}
| rt	          |	          }	t	          |
          }
t          j         ||	 |          } ||
 }t          j        ||           d S Nr   r   r   r%   r%   )r   r(   r)   r-   reversedr.   r/   r5   r   r   r#   r!   r"   r%   r1   other
array_argsseries_argsr3   r2   s                r   test_binary_ufunc_with_arrayr@   :   s     %FB ?2>'1#=#=>>>2>'1#=#=>>>DYr%%%FEbJ5/K ,j))
{++y
+$777HUK F68,,,,,r   c                    |\  }}|rHt          |t          j        dd                    }t          |t          j        dd                    }d}t          j        ||          }t          j        ||                              d          }||f}	||f}
| rt          |	          }	t          |
          }
t          j         ||	 |          } ||
 }t          j        ||           d S r9   )	r   r(   r)   r-   Indexastyper;   r.   r/   r<   s                r   test_binary_ufunc_with_indexrD   R   s    
 %FB ?2>'1#=#=>>>2>'1#=#=>>>DYr%%%FHRd###**733EbJ5/K ,j))
{++y
+$777HUK F68,,,,,r   shuffle	unalignedalignedc                 .   |\  }}|rHt          |t          j        dd                    }t          |t          j        dd                    }d}t          j        ||          }t          j        ||          }	t          j                            d                              t          |                    }
|rY|		                    |
          }	| r!|	
                    |          d         j        }n(|
                    |	          d         j        }n|j        }||f}||	f}| r8t          t          |                    }t          t          |                    }t          j         || ||          } || }t          j        ||           d S )Nr   r   r   r%   r:   r   r&   )r   r(   r)   r-   r   r   r   permutationlentakealignr'   tupler;   r.   r/   )r5   rE   r   r   r#   r!   r"   r%   r1   r=   idxr'   r>   r?   r3   r2   s                   r   test_binary_ufunc_with_seriesrO   m   s    %FB ?2>'1#=#=>>>2>'1#=#=>>>DYr%%%FIbt$$$E
)


"
"
.
.s2ww
7
7C 

3 	1KK''*0EELL''*0EEbJ5/K 38J//00
H[1122y
+5tDDDHUK F68,,,,,r   c                 L   |\  }}|rt          |          }d}t          j        |d          }||f}||f}	|r8t          t	          |                    }t          t	          |	                    }	t          j         | |	 d          }
 | | }t          j        ||
           d S )Nr   r%   r:   )r   r(   r-   rM   r;   r.   r/   )r   r   r5   r#   r0   _r=   r1   r?   r>   r3   r2   s               r   test_binary_ufunc_scalarrR      s    
 %FC #EYs(((F5/KuJ 1H[11228J//00
y
+&999HUK F68,,,,,r   z$ignore:divide by zero:RuntimeWarningc                    |\  }}d||dk    <   d||dk    <   |rHt          |t          j        dd                    }t          |t          j        dd                    }t          j        |          }t          j        |          }|r|                    d          } | ||          }t          |t                    sJ  | ||          }	t          |	t                    sJ t          j        |	d         t          j        |d                              t          j        |	d         t          j        |d                              d S )N   r   r   r   )frac)	r   r(   r)   r-   sample
isinstancerM   r.   r/   )
r   r   rE   r#   r!   r"   s1s2r3   r2   s
             r   "test_multiple_output_binary_ufuncsrZ      s:    %FBBrQwKBrQwK ?2>'1#=#=>>>2>'1#=#=>>>	2B	2B YYAYuR}}Hh&&&&&U2r]]Ffe$$$$$6!9bi&<&<===6!9bi&<&<=====r   c                    |\  }}| rt          |          }t          j        |d          }t          j        |          }t          j        |          }t          |t                    sJ t          |t                    sJ t          j        |d         t          j        |d         d                     t          j        |d         t          j        |d         d                     d S )Nr%   r:   r   rT   )	r   r(   r-   r   modfrW   rM   r.   r/   )r   r#   r0   rQ   r1   r2   r3   s          r   test_multiple_output_ufuncr]      s     %FC #Ys(((FWV__Fws||Hfe$$$$$h&&&&&6!9bi&&I&I&IJJJ6!9bi&&I&I&IJJJJJr   c                     |\  }}t          j        |d          }t          j        |d          } | ||          }|j        J d S )Nar:   b)r(   r-   r%   )r   r   r#   r!   r"   rX   rY   r2   s           r   #test_binary_ufunc_drops_series_namera      sV    $FB	2C	 	 	 B	2C	 	 	 BU2r]]F;r   c                      G d d          } t          j         | d           | d          g          }t          j        |          }t	          j        t          j        ||          t          j        t          j        ||                               t	          j        t          j        | | d                    t          j        t          j        | | d                                         d S )Nc                       e Zd ZddZd ZdS )$test_object_series_ok.<locals>.DummyreturnNc                     || _         d S r   valueselfrh   s     r   __init__z-test_object_series_ok.<locals>.Dummy.__init__       DJJJr   c                      | j         |j         z   S r   rg   rj   r=   s     r   __add__z,test_object_series_ok.<locals>.Dummy.__add__   s    :++r   re   N)__name__
__module____qualname__rk   ro    r   r   Dummyrd      s7        	 	 	 		, 	, 	, 	, 	,r   ru   r   rT   )r   arrayr(   r-   r.   r/   add)ru   r0   sers      r   test_object_series_okry      s    , , , , , , , , (EE!HHeeAhh'
(
(C
)C..C26#s++RYrvc37G7G-H-HIII26#uuQxx00")BF3a<Q<Q2R2RSSSSSr   )rT   r   r   r   Int64Float32)rT   r   r   zSparse[int])200020102001CETD)freq)z1 Dayz3 Daysz2 DaysrT   r   r   c                 *    t          | j                  S r   )strr   )xs    r   <lambda>r     s    #ag,, r   c                     | j         S r   r   r
   s    r   values_for_np_reducer      s      =r   c                   &    e Zd Zd Zd Zd Zd ZdS )TestNumpyReductionsc                 p   |}|}t          j        d           5   ||          }d d d            n# 1 swxY w Y   t          |t          j        j        j                  r5t          j        	                    d          }|
                    |           |j        j        dv rt          j                            |          }|t          j        u r-|                    d          }	t          j        ||	           d S |t          j        u r#|j                                        }	||	k    sJ d S |                                }	||	k    sJ d S d                    g d          }
t          j        t.          |
          5  t          j                            |           d d d            d S # 1 swxY w Y   d S )	NzSparseArray has no 'prod')reasoniufFnumeric_only|)does not support reductionunsupported operand typez$ufunc 'multiply' cannot use operandsmatch)r.   assert_produces_warningrW   r(   corearraysr   pytestmarkxfailapplymarkerr   kindr   multiplyreduce	DataFrameprodr/   rB   _valuesjoinraises	TypeError)rj   r   box_with_arrayr   boxvaluesobjr   r2   r3   msgs              r   test_multiplyz!TestNumpyReductions.test_multiply  s1   %'-- 	 	#f++C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 fbgn899 	&;$$,G$HHD%%%<%%['',,Fbl""88877&vx88888;++--))))))88::))))))((   C y444 ( (""3'''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s   155> F++F/2F/c                    |}|}t          j        d           5   ||          }d d d            n# 1 swxY w Y   |j        j        dv rt          j                            |          }|t          j        u r-|	                    d          }t          j
        ||           d S |t          j        u r#|j        	                                }||k    sJ d S |	                                }||k    sJ d S d                    g d          }t          j        t           |          5  t          j                            |           d d d            d S # 1 swxY w Y   d S )NmiufFr   r   )r   r   zufunc 'add' cannot use operandsr   )r.   r   r   r   r   rw   r   r(   r   sumr/   rB   r   r   r   r   r   )	rj   r   r   r   r   r   r2   r3   r   s	            r   test_addzTestNumpyReductions.test_add1  s   %'-- 	 	#f++C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 <&&V]]3''Fbl""77766&vx88888;??,,))))))7799))))))((   C y444 # #c"""# # # # # # # # # # # # # # # # # #s   155% EEEc                    |}|}d}|t           j        u r|j        j        dv rd}t	          j        d           5   ||          }d d d            n# 1 swxY w Y   t          j                            |          }|t           j	        u r-|
                    d          }t	          j        ||           d S |d         }||k    sJ |r"t          |          t          |          k    sJ d S d S )NTifFr   rT   )r(   rB   r   r   r.   r   r   maximumr   r   maxr/   type	rj   r   r   r   r   	same_typer   r2   r3   s	            r   test_maxzTestNumpyReductions.test_maxO  sB   %	"(??v|0J>>I'-- 	 	#f++C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ""3''",wwEw22H"6844444ayHX%%%% 6F||tH~~55556 655   AAAc                    |}|}d}|t           j        u r|j        j        dv rd}t	          j        d           5   ||          }d d d            n# 1 swxY w Y   t          j                            |          }|t           j	        u r-|
                    d          }t	          j        ||           d S |d         }||k    sJ |r"t          |          t          |          k    sJ d S d S )NTr   Fr   r   )r(   rB   r   r   r.   r   r   minimumr   r   minr/   r   r   s	            r   test_minzTestNumpyReductions.test_ming  sB   %	"(??v|0J>>I'-- 	 	#f++C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ""3''",wwEw22H"6844444ayHX%%%% 6F||tH~~55556 655r   N)rq   rr   rs   r   r   r   r   rt   r   r   r   r     sQ         (  (  (D# # #<6 6 606 6 6 6 6r   r   type_c                    t          j        g dd          } | g d          }t          j        ||          }t          j        t          j        |                                |          d          }t          j        ||           d S )NrT   r   r   r%   r:   )r   r      )r(   r-   r   rw   to_numpyr.   r/   )r   r_   r`   r2   r3   s        r   test_binary_ufunc_other_typesr     s}    
	)))&)))AiiiAVAq\\Fy

a00v>>>H68,,,,,r   c                  ,    G fdd          t          j         d           d          g          } t          j        |  d                    }t          j         d           d          g          }t	          j        ||           d S )Nc                   :    e Zd ZddZd Zdef fdZdefdZdS )#test_object_dtype_ok.<locals>.Thingre   Nc                     || _         d S r   rg   ri   s     r   rk   z,test_object_dtype_ok.<locals>.Thing.__init__  rl   r   c                 d    t          |d|          } t          |           | j        |z             S )Nrh   )getattrr   rh   rn   s     r   ro   z+test_object_dtype_ok.<locals>.Thing.__add__  s0    E7E22E4::dj50111r   c                 F    t          |          u o| j        |j        k    S r   )r   rh   )rj   r=   Things     r   __eq__z*test_object_dtype_ok.<locals>.Thing.__eq__  s"    ;;%'EDJ%+,EEr   c                     d| j          dS )NzThing()rg   )rj   s    r   __repr__z,test_object_dtype_ok.<locals>.Thing.__repr__  s    )DJ))))r   rp   )	rq   rr   rs   rk   ro   boolr   r   r   )r   s   r   r   r     s        	 	 	 		2 	2 	2	F4 	F 	F 	F 	F 	F 	F	*c 	* 	* 	* 	* 	* 	*r   r   rT   r   r   )r(   r-   r   rw   r.   r/   )sr2   r3   r   s      @r   test_object_dtype_okr     s    * * * * * * * * * * 		5588UU1XX&''AVAuuQxx  Fy%%((EE!HH-..H68,,,,,r   c                     t          j        g d          } t          j        g d          }t	          j        t          d          5  t          j                            | |           d d d            d S # 1 swxY w Y   d S )Nr    r   )	r(   r-   r   rv   r   r   NotImplementedErrorsubtractouter)rx   r   s     r   
test_outerr     s    
)III

C
(999

C	*"	5	5	5 $ $
#s###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s   !A66A:=A:c                      t          j        g dg          } t          j        g d          }t          j        dg          }t          j        | |          }t	          j        ||           d S )N)rT   r   )dataf   )r(   r   r   matmulr.   assert_frame_equal)df1df2r3   r2   s       r   test_np_matmulr     sn    
,[[[M
*
*
*C
,KKK
(
(
(C|#'''HYsC  F(F+++++r   c                     d } t          j        | dd          }t          j        ddg          } |||d          }t          j        ddgt                    }t          j        ||           t          j        ddgg          }d}t          j	        t          t          j        |                    5   ||||           d d d            d S # 1 swxY w Y   d S )	Nc                     | |z   |z   S r   rt   )r   yzs      r   add3z2test_array_ufuncs_for_many_arguments.<locals>.add3  s    1uqyr   r   rT   r   r   r   zTCannot apply ufunc <ufunc 'add3 (vectorized)'> to mixed DataFrame and Series inputs.r   )r   
frompyfuncr(   r-   objectr.   r/   r   r   r   r   reescape)r   r   rx   r2   r3   dfr   s          r   $test_array_ufuncs_for_many_argumentsr     s.      M$1%%E
)QF

CU3QFy!Qv...H68,,,	1vh		B	0  
*")C..	A	A	A  c3                 s   5CCCc                      t          j        g d          } t          j        |           }t          j        g d          }t	          j        ||           d S )N)g      g      g      ?g      ?)g      g       g        g      ?)r(   r-   r   fixr.   r/   )rx   r2   r3   s      r   test_np_fixr     sV     )***
+
+CVC[[Fy///00H68,,,,,r   )=collectionsr   r   r+   numpyr   r   pandas.util._test_decoratorsutil_test_decoratorstdpandasr(   pandas._testing_testingr.   pandas.arraysr   fixturerw   	logaddexpr   r	   r   fails_arm_wheelsr   r#   parametrizepositivefloorexpr4   r@   rD   rO   rR   divmodfilterwarningsrZ   r]   ra   ry   rv   r   to_datetimetz_localize	to_periodto_timedeltaIntervalIndexIntervalr   r   r*   rM   r   r   r   r   r   &skip_copy_on_write_not_yet_implementedr   rt   r   r   <module>r	     sI         				       ) ) ) ) ) ) ) ) )           % % % % % % -...  /.
 FLV[%ABBBEJ	7   	     2;"&"ABB- - CB-  $Y
4KLL- - ML-. $Y
4KLL- - ML-4 T5MY7OPP$Y
4KLL#- #- ML QP#-L $//- - 0/-. 29+..T5M22BCC> > DC 32 /.><K K K&  T T T "(+++'***),,,=111///00///00<<UCC///00:::DD55566+"+a++[R[A->->Aq@Q@QRSS
 	    
p6 p6 p6 p6 p6 p6 p6 p6f 4"677- - 87-- - -*$ $ $, , ,  . *- - +*- - -r   