a
    oÝEb{  ã                
   @   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&g d'¢d(fg d)¢d(fdgd*fg¡d+d,„ ƒZ ej
 d-g d.¢¡d/d0„ ƒZ!ej
 dd d!g¡ej
 d1d2d3g¡d4d5„ ƒƒZ"ej
 dd d!g¡ej
 d"d d6g¡d7d8„ ƒƒZ#dS )9é    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   új/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/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��0 | |ƒ}t j| | t¡ƒdd�}W d   ƒ n1 sZ0    Y  t ||¡ t  	|¡}tjdd��0 | |ƒ}t j	| | t¡ƒdd�}W d   ƒ n1 s¼0    Y  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    6
6r!   c                 C   s   t jdddtjgdd�}| ||ƒ}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_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 i |¤Ž}t jg d	¢d
d�}t|| ƒ}|f i |¤Ž}||kspJ ‚d S )Nçš™™™™™¹?r   ç333333Ó?çš™™™™™Ù?ç      à?ç333333ã?r   )Údatar	   )r0   r   r1   r2   r3   r4   Úfloat64)r
   r   r   r   Úgetattr)ZpandasmethnameÚkwargsr   Z
pandasmethr   Ús2r   r   r   r   Útest_stat_methodM   s    "

r:   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sLJ ‚t jg d¢|dd	�}t ||¡ | jd
d�}t jddg|d d… dd	�}t ||¡ d S )Nr0   r   r   r   F)Zdropna)r   r   r   ÚInt64©Úindexr	   Tr   r   éÿÿÿÿ)	r
   r   ÚNAÚvalue_countsÚIndexr	   r   r   r   )r$   r   Úidxr   r   r   r   Útest_value_counts_nab   s    rC   c                  C   sR   t jg dd�} |  ¡ }t jg dd�}|jdks2J ‚t jg |dd�}t ||¡ d S )Nr   r   r;   r<   )r
   r   r@   rA   r	   r   r   )Úserr   rB   r   r   r   r   Útest_value_counts_emptyo   s    rE   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sVJ ‚t ||¡ d S )Nr0   r   r   r   T)Ú	normalizer   r   r<   r"   )r
   r   r?   r@   r=   r	   r   r   )rD   r   r   r   r   r   Ú test_value_counts_with_normalizex   s
     rG   r(   TFÚ	min_countr#   c                 C   sL   t jg d¢|d�}|j| |d�}| r:|dkr:|dksHJ ‚n|t ju sHJ ‚d S )N©r   r   r"   Nr   ©r(   rH   r   ç      @)r
   r   r+   r?   ©r(   rH   r	   r$   r   r   r   r   Útest_floating_array_sum€   s
    rM   zvalues, expected)r   r   r"   rK   rI   ç        c                 C   s(   t j| dd�}t |¡}||ks$J ‚d S )Nr   r   )r
   r   r   r+   )r&   r   r$   r   r   r   r   Útest_floating_array_numpy_sum‹   s    
rO   Úop)r+   ÚminÚmaxÚprodc                 C   s¢   t  g d¢g d¢t jg d¢dd�dœ¡}t|j| ƒƒ }t|tjƒsFJ ‚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 )N)r   ÚbrT   )r   Nr"   )r0   Nr   r   r   )ÚAÚBÚCrU   r   r   r0   r"   )rV   rW   r   rT   )Úname)r=   )r
   Z	DataFramer   r7   rW   Ú
isinstancer   r6   ÚgroupbyrA   r   Zassert_frame_equal)rP   Zdfr   r   r   r   r   Útest_preserve_dtypes”   s    ýÿ	 þr[   ÚmethodrQ   rR   c                 C   sV   t jg d¢|d�}t||ƒ}|| d�}| rD||dkr8dndksRJ ‚n|t ju sRJ ‚d S )N)rN   r   Nr   r'   rQ   r   r   )r
   r   r7   r?   )r(   r\   r	   r$   Úfuncr   r   r   r   Útest_floating_array_min_max¬   s    

r^   é	   c                 C   sL   t jg d¢|d�}|j| |d�}| r:|dkr:|dksHJ ‚n|t ju sHJ ‚d S )N)r   g       @Nr   rJ   r   r   )r
   r   rS   r?   rL   r   r   r   Útest_floating_array_prod¸   s
    r`   )$Ú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skipifr:   rC   rE   rG   rM   rO   r[   r^   r`   r   r   r   r   Ú<module>   sT   
 




ûþ

		 ÿ


