a
    ;e                      @  sL  d dl mZ ddlmZmZmZ ddlmZ ddlmZm	Z	m
Z
mZ d dlmZmZmZmZ erlddlmZ d dlZdd	d
dddddddZdd	d
dddddddZdd	d
dddddddZddd	dddddddddZddd	dddddddddZddd	dddddddd d!Zddd	dddddddd"d#ZdS )$    )annotations   )_real_floating_dtypes_real_numeric_dtypes_numeric_dtypes)Array)float32float64	complex64
complex128)TYPE_CHECKINGOptionalTupleUnion)DtypeNFaxiskeepdimsr   z%Optional[Union[int, Tuple[int, ...]]]bool)xr   r   returnc               C  s*   | j tvrtdttj| j||dS )Nz+Only real numeric dtypes are allowed in maxr   )dtyper   	TypeErrorr   _newnpmax_arrayr   r   r    r   Z/var/www/sunrise/env/lib/python3.9/site-packages/numpy/array_api/_statistical_functions.pyr      s    
r   c               C  s*   | j tvrtdttj| j||dS )Nz3Only real floating-point dtypes are allowed in meanr   )r   r   r   r   r   r   meanr   r   r   r   r   r       s    
r    c               C  s*   | j tvrtdttj| j||dS )Nz+Only real numeric dtypes are allowed in minr   )r   r   r   r   r   r   minr   r   r   r   r   r!   +   s    
r!   r   r   r   zOptional[Dtype])r   r   r   r   r   c               C  sR   | j tvrtd|d u r8| j tkr*t}n| j tkr8t}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   r   r   prodr   r   r   r   r   r   r   r   r#   7   s    


r#   g        )r   
correctionr   zUnion[int, float])r   r   r%   r   r   c               C  s,   | j tvrtdttj| j|||dS )Nz2Only real 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'   L   s    	
r'   c               C  sR   | j tvrtd|d u r8| j tkr*t}n| j tkr8t}tt	j
| j|||dS )Nz&Only numeric dtypes are allowed in sumr"   )r   r   r   r   r	   r
   r   r   r   r   sumr   r$   r   r   r   r)   Z   s    


r)   c               C  s,   | j tvrtdttj| j|||dS )Nz2Only real floating-point dtypes are allowed in varr&   )r   r   r   r   r   r   varr   r(   r   r   r   r*   o   s    	
r*   )
__future__r   Z_dtypesr   r   r   Z_array_objectr   r   r	   r
   r   typingr   r   r   r   _typingr   numpyr   r   r    r!   r#   r'   r)   r*   r   r   r   r   <module>   s@   