o
    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re')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Z2d,dddd Z3d/ddd!d"Z4d/ddd#d$Z5d0d%d&Z6d1d(d)Z7d1d*d+Z8dS )2zx
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      t | |d ||||S N)umr_maximumaaxisoutkeepdimsinitialwhere r   F/var/www/html/venv/lib/python3.10/site-packages/numpy/core/_methods.py_amax'      r   c                 C   r   r   )umr_minimumr   r   r   r   _amin+   r   r   c                 C      t | ||||||S r   )umr_sumr   r   dtyper   r   r   r   r   r   r   _sum/   r   r    c                 C   r   r   )umr_prodr   r   r   r   _prod3   r   r"   r   c                C   ,   |du rt | ||||S t | |||||dS NTr#   )umr_anyr   r   r   r   r   r   r   r   r   _any7      r(   c                C   r$   r%   )umr_allr'   r   r   r   _all=   r)   r+   c                 C   s   |du r2|d u rt t| j}nt|t s|f}d}|D ]}|| jt|| j 9 }qt|}|S ddl	m
} t||| j|tjd |}|S )NT   r   )broadcast_to)tuplerangendim
isinstanceshapemunormalize_axis_indexntintpnumpy.lib.stride_tricksr-   r   )arrr   r   r   itemsaxr-   r   r   r   _count_reduce_itemsC   s   


r;   c                 K   sr   |d u r|d u rt d|d u rtj| |fd|i|S |d u r,tj| |fd|i|S tj| ||fd|i|S )NzOne of max or min must be givenr   )
ValueErrorumminimummaximumclip)r   minmaxr   kwargsr   r   r   _clipZ   s   rD   c          
      C   sN  t | }d}t||||d}|du r|dkr'nt|dkd dr'tjdtdd |d u rKt|jjt	j
t	jfr<td	}nt|jjt	jrKtd
}d}t||||||d}	t|	tjrt  tj|	||	ddd}	W d    n1 ssw   Y  |r|d u r|j|	}	|	S t|	dr|r|j|	| }	|	S |	j|	| }	|	S |	| }	|	S )NFr   r   Tr   r   zMean of empty slice.   
stacklevelf8f4r#   unsafer   castingsubokr   )r   r;   r&   warningswarnRuntimeWarning
issubclassr   typer5   integerbool_r3   float16r   r1   ndarrayr   r=   true_dividehasattr)
r   r   r   r   r   r   r8   is_float16_resultrcountretr   r   r   _meane   s:   "

	
r^   c                C   sF  t | }t||||d}|du r||kr%nt||kd dr%tjdtdd |d u r9t|jjt	j
t	jfr9td}t|||d|d}	|jdkrJ|}
n||	j}
t|	tjrtt  tj|	|
|	d	d
d}	W d    n1 snw   Y  nt|	dr|	j|	| }	n|	| }	t ||	 }t|jjt	jt	j
frtj|||d}n3|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    |S 1 sw   Y  |S t|dr|j|| }|S || }|S )NrE   TrF   z!Degrees of freedom <= 0 for slicerG   rH   rJ   r   rL   FrM   r   r   rG   )r   ).r   ).r,   )r   r;   r&   rP   rQ   rR   rS   r   rT   r5   rU   rV   r3   r   r0   reshaper2   r1   rX   r   r=   rY   rZ   floatingmultiply_complex_to_floatviewaddreal	conjugater?   )r   r   r   r   ddofr   r   r8   r\   arrmeandivxxvr]   r   r   r   _var   s\   "






rn   c             	   C   sb   t | ||||||d}t|tjrtj||d}|S t|dr*|jt|}|S t|}|S )N)r   r   r   ri   r   r   r_   r   )	rn   r1   r3   rX   r=   sqrtrZ   r   rT   )r   r   r   r   ri   r   r   r]   r   r   r   _std   s   

rp   c              	   C   s&   t t| |d ||t| |d d ||S r   )r=   subtractr   r   )r   r   r   r   r   r   r   _ptp   s
   rr   rG   c                 C   s\   t |dr
t|}ntt|d}|}tj| ||d W d    d S 1 s'w   Y  d S )Nwritewbprotocol)rZ   r   openr   r
   dump)selffilerv   ctxfr   r   r   _dump   s   

"r}   c                 C   s   t j| |dS )Nru   )r
   dumps)ry   rv   r   r   r   _dumps   s   r   )NNNF)FT)NNN)NNNr   F)NNFr`   )9__doc__rP   
contextlibr   
numpy.corer   r3   r   r=   numpy.core.multiarrayr   r   r5   r   numpy.core._ufunc_configr   numpy._globalsr	   numpy.compatr
   r   r?   reducer   r>   r   rf   r   rc   r!   
logical_orr&   logical_andr*   r   csinglesinglecdoubledoublerd   
longdoubleupdateclongdoubler   r   r    r"   r(   r+   r;   rD   r^   rn   rp   rr   r}   r   r   r   r   r   <module>   sd    





"E

