U
    sVc{                  
   @   s  d dl Zd dlZd dlmZ d dl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ej
dd dgd dggdd Zej
je dd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'd(gd)fdd'd(dgd)fdgd*fgd+d, Z ej
d-d.d/d0d1gd2d3 Z!ej
dd d!gej
d4d/d0gd5d6 Z"ej
dd d!gej
d"d d7gd8d9 Z#dS ):    N)IS64ufuncz(ignore:invalid value encountered in signc                 C   sp   t jdddtjgdd}| |}t j| |tdd}t|| t |}| |}t |}t	|| d S )N      Float64dtype)
pdarraynpnanastypefloattmassert_extension_array_equalSeriesassert_series_equalr   aresultexpecteds r   N/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/arrays/floating/test_function.pytest_ufuncs_single
   s    

r   c              	   C   s   t jdddtjgdd}tjdd& | |}t j| |tdd}W 5 Q R X t|| t 	|}tjdd& | |}t j	| |tdd}W 5 Q R X t
|| d S )N      ?皙?      @r   r   ignore)invalid)r
   r   r   r   Zerrstater   r   r   r   r   r   r   r   r   r   test_ufuncs_single_float   s    "
"r!   c                 C   s$  t jdddtjgdd}| ||}t j| |t|tdd}t|| tddddg}| ||}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   arrr   r   r   test_ufuncs_binary_float(   s"    
 



r%   valuesr   c                 C   s6   t j| dd}tj|}|jdd}t|| d S )Nr   r   Fskipna)r
   r   r   addreducesumr   Zassert_almost_equal)r&   r$   resr   r   r   r   test_ufunc_reduce_raisesD   s    r-   zGH 36579: fail on 32-bit system)reasonzpandasmethname, kwargsvarZddofZkurtosisZskewZsemc              	   C   st   t jddddddtjtjgdd}t|| }|f |}t jddddddgd	d}t|| }|f |}||ksptd S )
N皙?r   g333333?g?g      ?g333333?r   )datar	   float64)r
   r   r   r   getattrAssertionError)Zpandasmethnamekwargsr   Z
pandasmethr   s2r   r   r   r   test_stat_methodM   s    "



r7   c                  C   s   t jdddt jgdd} | jdd}t jddt jg| jd}|j| jksLtt jdddg|d	d
}t	|| | jdd}t jddg|d d d	d
}t	|| d S )Nr0   r   r   r   F)Zdropnar   r   Int64indexr	   T)
r
   r   NAvalue_countsIndexr	   r4   r   r   r   )r$   r   idxr   r   r   r   test_value_counts_nab   s    r@   c                  C   sR   t jg dd} |  }t jg dd}|jdks2tt jg |dd}t|| d S )Nr   r   r8   r9   )r
   r   r=   r>   r	   r4   r   r   )serr   r?   r   r   r   r   test_value_counts_emptyo   s    rB   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sVtt|| d S )Nr0   r   r   r   T)	normalizer   r   r9   r"   )	r
   r   r<   r=   r:   r	   r4   r   r   )rA   r   r   r   r   r    test_value_counts_with_normalizex   s
     rD   r(   TF	min_countr#   c                 C   sP   t jdddd g|d}|j| |d}| r>|dkr>|dksLtn|t jksLtd S )Nr   r   r"   r   r(   rE   r         @)r
   r   r+   r4   r<   r(   rE   r	   r$   r   r   r   r   test_floating_array_sum   s
    rI   zvalues, expectedr   r"   rG           c                 C   s(   t j| dd}t|}||ks$td S )Nr   r   )r
   r   r   r+   r4   )r&   r   r$   r   r   r   r   test_floating_array_numpy_sum   s    
rK   opr+   minmaxprodc                 C   s   t dddgdd dgt jdd dgddd	}t|j|  }t|tjsLtt|	d
|  }t jtddgt jddgdddt j
ddgd
dd}t|| d S )Nr   br   r"   r0   r   r   r   )ABCrQ   r   )rR   rS   )name)r:   )r
   Z	DataFramer   r3   rS   
isinstancer   r2   r4   groupbyr>   r   Zassert_frame_equal)rL   Zdfr   r   r   r   r   test_preserve_dtypes   s    	 rW   methodc                 C   sX   t jddd g|d}t||}|| d}| rF||dkr:dndksTtn|t jksTtd S )NrJ   r   r   r'   rM   r   r   )r
   r   r3   r4   r<   )r(   rX   r	   r$   funcr   r   r   r   test_floating_array_min_max   s    

rZ   	   c                 C   sN   t jddd g|d}|j| |d}| r<|dkr<|dksJtn|t jksJtd S )Nr   g       @r   rF   r   r   )r
   r   rO   r4   r<   rH   r   r   r   test_floating_array_prod   s
    r\   )$Znumpyr   ZpytestZpandas.compatr   Zpandasr
   Zpandas._testingZ_testingr   markZparametrizeabssignfilterwarningsr   logexpsincossqrtr!   r)   subtractr%   r-   Zskipifr7   r@   rB   rD   rI   rK   rW   rZ   r\   r   r   r   r   <module>   sV   
 






		 $


