a
    ;e!                     @   s  d Z ddlZddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZmZ ejjZejjZejjZejjZejjZej jZ!e"ej#e"ej$e"ej%e"ej&iZ'e"ej(e"ej&kre')e"ej*e"ej(i dddedfddZ+dddedfddZ,ddddedfddZ-ddddedfddZ.d,ddddZ/d-ddddZ0d.ddZ1d/ddZ2d0dddd Z3d1ddd!d"Z4d2ddd#d$Z5d3d%d&Z6d4d(d)Z7d5d*d+Z8dS )6zx
Array methods which are called by both the C-code for the method
and the Python code for the NumPy-namespace function

    N)nullcontext)
multiarray)umath)
asanyarray)numerictypes)_exceptions)_no_nep50_warning)_NoValue)pickle	os_fspathFTc                 C   s   t | |d ||||S N)umr_maximumaaxisoutkeepdimsinitialwhere r   G/var/www/sunrise/env/lib/python3.9/site-packages/numpy/core/_methods.py_amax'   s    r   c                 C   s   t | |d ||||S r   )umr_minimumr   r   r   r   _amin+   s    r   c                 C   s   t | ||||||S r   )umr_sumr   r   dtyper   r   r   r   r   r   r   _sum/   s    r   c                 C   s   t | ||||||S r   )umr_prodr   r   r   r   _prod3   s    r   r   c                C   s,   |du rt | ||||S t | |||||dS NTr    )umr_anyr   r   r   r   r   r   r   r   r   _any7   s    r$   c                C   s,   |du rt | ||||S t | |||||dS r!   )umr_allr#   r   r   r   _all=   s    r&   c                 C   s   |du rb|d u r t t| j}nt|t s0|f}d}|D ]}|| jt|| j 9 }q8t|}n&ddl	m
} t||| j|tjd |}|S )NT   r   )broadcast_to)tuplerangendim
isinstanceshapemuZnormalize_axis_indexntZintpZnumpy.lib.stride_tricksr(   r   )arrr   r   r   itemsaxr(   r   r   r   _count_reduce_itemsC   s    
r3   c                 K   sv   |d u r|d u rt d|d u r8tj| |fd|i|S |d u rXtj| |fd|i|S tj| ||fd|i|S d S )NzOne of max or min must be givenr   )
ValueErrorumminimummaximumZclip)r   minmaxr   kwargsr   r   r   _clipZ   s    r;   c          
      C   sR  t | }d}t||||d}|du r.|dkrNnt|dkd drNtjdtdd |d u rt|jjt	j
t	jfrxtd	}nt|jjt	jrtd
}d}t||||||d}	t|	tjrt $ tj|	||	ddd}	W d    n1 s0    Y  |rN|d u rN|j|	}	n>t|	drF|r4|j|	| }	n|	j|	| }	n|	| }	|	S )NFr   r   Tr   r   zMean of empty slice.   
stacklevelf8Zf4r    unsafer   ZcastingZsubokr   )r   r3   r"   warningswarnRuntimeWarning
issubclassr   typer/   integerbool_r.   float16r   r,   ndarrayr   r5   true_dividehasattr)
r   r   r   r   r   r   r0   Zis_float16_resultrcountretr   r   r   _meane   s2    "

$rQ   c                C   sF  t | }t||||d}|du r*||krJnt||kd drJtjdtdd |d u rrt|jjt	j
t	jfrrtd}t|||d|d}	|jdkr|}
n||	j}
t|	tjrt $ tj|	|
|	d	d
d}	W d    n1 s0    Y  n&t|	dr|	j|	| }	n|	| }	t ||	 }t|jjt	jt	j
frDtj|||d}nh|jtv r|jt|j dfd}tj|||d tj|d |d |jdj}ntj|t||dj}t||||||d}t|| d}t|tjrt $ tj|||d	d
d}W d    n1 s0    Y  n&t|dr:|j|| }n|| }|S )Nr<   Tr=   z!Degrees of freedom <= 0 for slicer>   r?   rA   r   rB   FrC   r   r   )r>   )r   ).r   ).r'   )r   r3   r"   rD   rE   rF   rG   r   rH   r/   rI   rJ   r.   r   r+   Zreshaper-   r,   rL   r   r5   rM   rN   Zfloatingmultiply_complex_to_floatviewaddreal	conjugater7   )r   r   r   r   ddofr   r   r0   rO   ZarrmeandivxZxvrP   r   r   r   _var   sN    "


&
(r\   c             	   C   s^   t | ||||||d}t|tjr2tj||d}n(t|drP|jt|}n
t|}|S )N)r   r   r   rY   r   r   rR   r   )	r\   r,   r.   rL   r5   sqrtrN   r   rH   )r   r   r   r   rY   r   r   rP   r   r   r   _std   s    

r^   c              	   C   s&   t t| |d ||t| |d d ||S r   )r5   subtractr   r   )r   r   r   r   r   r   r   _ptp   s
    r`   r>   c                 C   sZ   t |drt|}ntt|d}| }tj| ||d W d    n1 sL0    Y  d S )Nwritewbprotocol)rN   r   openr   r
   dump)selffilerd   ctxfr   r   r   _dump   s
    

rk   c                 C   s   t j| |dS )Nrc   )r
   dumps)rg   rd   r   r   r   _dumps   s    rm   )NNNF)NNNF)FT)NNN)NNNF)NNNr   F)NNNr   F)NNF)r>   )r>   )9__doc__rD   
contextlibr   Z
numpy.corer   r.   r   r5   Znumpy.core.multiarrayr   r   r/   r   Znumpy.core._ufunc_configr   Znumpy._globalsr	   Znumpy.compatr
   r   r7   reducer   r6   r   rV   r   rS   r   
logical_orr"   logical_andr%   r   ZcsinglesingleZcdoubledoublerT   Z
longdoubleupdateZclongdoubler   r   r   r   r$   r&   r3   r;   rQ   r\   r^   r`   rk   rm   r   r   r   r   <module>   sb   





"E

