U
    f/e                  
   @   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-tiezk1ph/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   s<   t j| dd}d}tjt|d tj| W 5 Q R X d S )Nr   r   z%The 'reduce' method is not supported.)match)r
   r   pytestZraisesNotImplementedErrorr   addreduce)r&   r   msgr   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_methodL   s    "



r7   c                  C   s   t jdddt jgdd} | jdd}t jdddgddt jgd	d
}t|| | jdd}t jddgddgd	d
}t|| d S )Nr0   r   r   r   F)Zdropnar   r   Int64indexr	   T)r
   r   NAvalue_countsr   r   r   )r$   r   r   r   r   r   test_value_counts_naa   s    r=   c                  C   sD   t jg dd} |  }t jg dd}t jg |dd}t|| d S )Nr   r   objectr8   r9   )r
   r   r<   Indexr   r   )r   r   idxr   r   r   r   test_value_counts_emptyl   s
    rA   c                  C   sP   t jdddt jgdd} | jdd}t jddgddgdd	d
 }t|| d S )Nr0   r   r   r   T)	normalizer   r   r9   r"   )r
   r   r;   r<   r   r   )r   r   r   r   r   r    test_value_counts_with_normalizet   s    rC   skipnaTF	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   rD   rE   r         @)r
   r   sumr4   r;   rD   rE   r	   r$   r   r   r   r   test_floating_array_sum{   s
    rJ   zvalues, expectedr   r"   rG           c                 C   s(   t j| dd}t|}||ks$td S )Nr   r   )r
   r   r   rH   r4   )r&   r   r$   r   r   r   r   test_floating_array_numpy_sum   s    
rL   oprH   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CrR   r   )rS   rT   )name)r:   )r
   Z	DataFramer   r3   rT   
isinstancer   r2   r4   groupbyr?   r   Zassert_frame_equal)rM   Zdfr   r   r   r   r   test_preserve_dtypes   s    	 rX   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 )NrK   r   r   )rD   rN   r   r   )r
   r   r3   r4   r;   )rD   rY   r	   r$   funcr   r   r   r   test_floating_array_min_max   s    

r[   	   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   rP   r4   r;   rI   r   r   r   test_floating_array_prod   s
    r]   )$Znumpyr   r(   Zpandas.compatr   Zpandasr
   Zpandas._testingZ_testingr   markZparametrizeabssignfilterwarningsr   logexpsincossqrtr!   r*   subtractr%   r-   Zskipifr7   r=   rA   rC   rJ   rL   rX   r[   r]   r   r   r   r   <module>   sV   
 






	 $


