o
    &i                     @  s   d dl mZ ddlmZmZ ddlmZ ddlmZ ddlm	Z	m
Z
 d dlmZmZmZmZ er6ddlmZ d d	lZd	d
dd(ddZd	d
dd(ddZd	d
dd(ddZd	d	d
dd)ddZd	dd
dd*d"d#Zd	d	d
dd)d$d%Zd	dd
dd*d&d'Zd	S )+    )annotations   )_floating_dtypes_numeric_dtypes)Array)asarray)float32float64)TYPE_CHECKINGOptionalTupleUnion)DtypeNFaxiskeepdimsxr   r   %Optional[Union[int, Tuple[int, ...]]]r   boolreturnc               C  *   | j tvr	tdttj| j||dS )Nz&Only numeric dtypes are allowed in maxr   )dtyper   	TypeErrorr   _newnpmax_arrayr   r   r    r   QC:\wamp64\www\opt\env\Lib\site-packages\numpy/array_api/_statistical_functions.pyr         
r   c               C  r   )Nz.Only floating-point dtypes are allowed in meanr   )r   r   r   r   r   r   meanr   r   r   r   r   r!      r    r!   c               C  r   )Nz&Only numeric dtypes are allowed in minr   )r   r   r   r   r   r   minr   r   r   r   r   r"   +   r    r"   r   r   r   r   Optional[Dtype]c               C  sB   | j tvr	td|d u r| j tkrt}ttj| j	|||dS )Nz'Only numeric dtypes are allowed in prod)r   r   r   )
r   r   r   r   r	   r   r   r   prodr   r   r   r   r   r   r   r   r%   7   s
   
r%   g        )r   
correctionr   r'   Union[int, float]c               C  ,   | j tvr	tdttj| j|||dS )Nz-Only floating-point dtypes are allowed in stdr   Zddofr   )r   r   r   r   r   r   stdr   r   r   r'   r   r   r   r   r+   H      
	r+   c               C  sB   | j tvr	td|d u r| j tkrt}ttj| j	|||dS )Nz&Only numeric dtypes are allowed in sumr#   )
r   r   r   r   r	   r   r   r   sumr   r&   r   r   r   r.   V   s
   
r.   c               C  r)   )Nz-Only floating-point dtypes are allowed in varr*   )r   r   r   r   r   r   varr   r,   r   r   r   r/   h   r-   r/   )r   r   r   r   r   r   r   r   )
r   r   r   r   r   r$   r   r   r   r   )
r   r   r   r   r'   r(   r   r   r   r   )
__future__r   Z_dtypesr   r   Z_array_objectr   Z_creation_functionsr   r   r	   typingr
   r   r   r   Z_typingr   numpyr   r   r!   r"   r%   r+   r.   r/   r   r   r   r   <module>   sD    