o
    5c[                  	   @   s  d dl Zd dlZd dlZd dlmZ d dlm	Z	 ej
dejejgej
ddd Zej
dejejejejejgdd Zej
dejejgd	d
 Zdd Zej
dd dgd dggdd Zej
dddd ifdddifdi fdi fdi fgdd Zdd Zdd Zdd Zej
dd d!gej
d"d d#gd$d% Zej
dd d!gej
d&d'd(gd)d* Z ej
dd d!gej
d"d d+gd,d- Z!ej
d.g d/d0fg d1d0fdgd fgd2d3 Z"ej
d4g d5d6d7 Z#dS )8    N)FloatingArrayufuncz(ignore:invalid value encountered in signc                 C   s   t dddtjg}| |}t j| |tdd}t|| t |}| |}t t j| |tdd}t	|| d S )N      Int64dtype)
pdarraynpnanastypefloattmassert_extension_array_equalSeriesassert_series_equalr   aresultexpecteds r   _/var/www/html/gps/gps/lib/python3.10/site-packages/pandas/tests/arrays/integer/test_function.pytest_ufuncs_single_int	   s   
r   c                 C   s   t dddtjg}tjdd | |}t| |t|jd}W d    n1 s+w   Y  t	
|| t |}tjdd | |}W d    n1 sPw   Y  t |}t	|| d S )Nr   r   r   ignore)invalid)mask)r
   r   r   r   errstater   r   r   _maskr   r   r   r   r   r   r   r   test_ufuncs_single_float   s   


r!   c                 C   s  t dddtjg}| ||}t j| |t|tdd}t|| tg d}| ||}t j| |t|dd}t|| | ||}t j| ||tdd}t|| | |d}t j| |tddd}t|| | d|}t j| d|tdd}t|| d S )Nr   r   r   r   r   )r   r         )r
   r   r   r   r   r   r   r   )r   r   r   r   arrr   r   r   test_ufuncs_binary_int'   s"   
 



r%   c                  C   s   t ddtjg} t| }t| jtjdd}t |d t |d f}t|ts.J t|dks6J t	||D ]
\}}t
|| q;d S )Nr   r   r   )na_valuer	   r   )r
   r   r   r   modfto_numpy
isinstancetuplelenzipr   r   )r   r   r   xyr   r   r   test_ufunc_binary_outputC   s   
r/   valuesr   c                 C   s2   t | }tj|}|jdd}t|| d S )NFskipna)r
   r   r   addreducesumr   assert_almost_equal)r0   r$   resr   r   r   r   test_ufunc_reduce_raisesP   s   
r8   zpandasmethname, kwargsvarddofkurtosisskewsemc              	   C   st   t jddddddtjtjgdd}t|| }|d
i |}t jg d	dd}t|| }|d
i |}||ks8J d S )Nr   r   r"   r#         r   )datar	   )r   r   r"   r#   r>   r?   r   )r
   r   r   r   getattr)pandasmethnamekwargsr   
pandasmethr   s2r   r   r   r   test_stat_methodY   s   "

rF   c                  C   s   t jdddt jgdd} | jdd}t jddt jgdd}|jdks$J t jg d|dd}t|| | jd	d}t jddg| d d dd}|j	j| jksQJ t|| d S )
Nr   r   r   r   F)dropna)r   r   r   indexr	   T)
r
   r   NAvalue_countsIndexr	   r   r   r   rI   )r$   r   ex_indexr   r   r   r   test_value_counts_nam   s   rN   c                  C   sV   t jg dd} |  }t jg | jd}|j| jksJ t jg |dd}t|| d S )Nr   r   rH   )r
   r   rK   rL   r	   r   r   )serr   idxr   r   r   r   test_value_counts_empty{   s   rQ   c                  C   sf   t jdddt jgdd} | jdd}t jddg| d d ddd	 }|jj| jks+J t|| d S )
Nr   r   r   r   T)	normalizeFloat64rH   r"   )r
   r   rJ   rK   rI   r	   r   r   )rO   r   r   r   r   r    test_value_counts_with_normalize   s
    rT   r2   TF	min_countr#   c                 C   R   |}t jg d|d}|j| |d}| r |dkr |dksJ d S |t ju s'J d S )Nr   r   r"   Nr   r2   rU   r   r?   )r
   r   r5   rJ   r2   rU   any_int_ea_dtyper	   r$   r   r   r   r   test_integer_array_sum      r[   methodminmaxc                 C   s\   |}t jg d|d}t||}|| d}| r%||dkrdndks#J d S |t ju s,J d S )N)r   r   Nr   r1   r^   r   r   )r
   r   rA   rJ   )r2   r]   rZ   r	   r$   funcr   r   r   r   test_integer_array_min_max   s   

ra   	   c                 C   rV   )N)r   r   Nr   rX   r   r   )r
   r   prodrJ   rY   r   r   r   test_integer_array_prod   r\   rd   zvalues, expected)r   r   r"   r?   rW   c                 C   s(   t j| dd}t|}||ksJ d S )Nr   r   )r
   r   r   r5   )r0   r   r$   r   r   r   r   test_integer_array_numpy_sum   s   
re   op)r5   rc   r^   r_   c                 C   s<   t dt jddgddi}| }t|d tjsJ d S )Nr   r   r   r   r   )r
   	DataFramer   r_   r)   r   int64)rf   dfr   r   r   r   test_dataframe_reductions   s   rj   )$numpyr   pytestpandasr
   pandas._testing_testingr   pandas.core.arraysr   markparametrizeabssignfilterwarningsr   logexpsincossqrtr!   r3   subtractr%   r/   r8   rF   rN   rQ   rT   r[   ra   rd   re   rj   r   r   r   r   <module>   sV    
 








	

 
