B
    ˜íY
  ã               @   s¶   d dl Z d dlZd dlmZ ddddddd	d
dddddgZddd„Zddd„Zddd„Zddd„Zd dd„Z	d!dd	„Z
d"dd
„Zd#dd„Zd$dd„Zd%dd„Zd&dd„Zd'dd„ZdS )(é    N)ÚnanmeanÚmedianÚ	nanmedianÚnansumr   ÚnanvarÚnanstdÚnanminÚnanmaxÚ	nanargminÚ	nanargmaxÚssÚanynanÚallnanc             C   s4   t  | ¡} t j| |d}|j| jkr0| | j¡}|S )z2Slow nansum function used for unaccelerated dtype.)Úaxis)ÚnpÚasarrayr   ÚdtypeÚastype)Úar   Úy© r   ú5lib/python3.7/site-packages/bottleneck/slow/reduce.pyr   
   s
    
c          	   C   s,   t  ¡  t  d¡ tj| |dS Q R X dS )z6Slow nanargmin function used for unaccelerated dtypes.Úignore)r   N)ÚwarningsÚcatch_warningsÚsimplefilterr   r
   )r   r   r   r   r   r
      s    

c          	   C   s,   t  ¡  t  d¡ tj| |dS Q R X dS )z6Slow nanargmax function used for unaccelerated dtypes.r   )r   N)r   r   r   r   r   )r   r   r   r   r   r      s    

c          	   C   s.   t  ¡  t  d¡ tj| ||dS Q R X dS )z3Slow nanvar function used for unaccelerated dtypes.r   )r   ÚddofN)r   r   r   r   r   )r   r   r   r   r   r   r   !   s    

c          	   C   s.   t  ¡  t  d¡ tj| ||dS Q R X dS )z3Slow nanstd function used for unaccelerated dtypes.r   )r   r   N)r   r   r   r   r   )r   r   r   r   r   r   r   (   s    

c          	   C   s,   t  ¡  t  d¡ tj| |dS Q R X dS )z3Slow nanmin function used for unaccelerated dtypes.r   )r   N)r   r   r   r   r   )r   r   r   r   r   r   /   s    

c          	   C   s,   t  ¡  t  d¡ tj| |dS Q R X dS )z3Slow nanmax function used for unaccelerated dtypes.r   )r   N)r   r   r   r   r	   )r   r   r   r   r   r	   6   s    

c          	   C   s,   t  ¡  t  d¡ tj| |dS Q R X dS )z3Slow median function used for unaccelerated dtypes.r   )r   N)r   r   r   r   r   )r   r   r   r   r   r   =   s    

c          	   C   s,   t  ¡  t  d¡ tj| |dS Q R X dS )z6Slow nanmedian function used for unaccelerated dtypes.r   )r   N)r   r   r   r   r   )r   r   r   r   r   r   D   s    

c             C   s8   t  | ¡} t  | | ¡ |¡}|j| jkr4| | j¡}|S )z2Slow sum of squares used for unaccelerated dtypes.)r   r   ZmultiplyÚsumr   r   )r   r   r   r   r   r   r   K   s
    
c             C   s   t  | ¡ |¡S )z2Slow check for Nans used for unaccelerated dtypes.)r   ÚisnanÚany)r   r   r   r   r   r   T   s    c             C   s   t  | ¡ |¡S )z6Slow check for all Nans used for unaccelerated dtypes.)r   r   Úall)r   r   r   r   r   r   Y   s    )N)N)N)Nr   )Nr   )N)N)N)N)N)N)N)r   Znumpyr   r   Ú__all__r   r
   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   Ú<module>   s"   
	








	
