o
    :‘ðiý$  ã                   @   s  d Z ddlZddlZddlZddlm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 e
 d
¡ZejjZejjZejjZejjZe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„Z0d1ddœdd„Z1d1ddœdd„Z2d2dd„Z3d3dd„Z4d1ddœdd„Z5d4ddd œd!d"„Z6d4ddd œd#d$„Z7d5d%d&„Z8d6d(d)„Z9d6d*d+„Z:d7dd,d-ddd.œd/d0„Z;dS )8zx
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)Ú_NoValueÚboolFTc                 C   ó   t | |d ||||ƒS ©N)Úumr_maximum©ÚaÚaxisÚoutÚkeepdimsÚinitialÚwhere© r   úS/root/parts/websockify/install/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   Ú_sum2   r   r   c                 C   r   r   )Úumr_prodr   r   r   r   Ú_prod6   r   r    ©r   c                C   ó8   |d u rt }|du rt| ||||ƒS t| |||||d�S ©NTr!   )Úbool_dtÚumr_any©r   r   r   r   r   r   r   r   r   Ú_any:   ó
   r'   c                C   r"   r#   )r$   Úumr_allr&   r   r   r   Ú_allC   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_tricks_implr,   r   )Úarrr   r   r   ÚitemsÚaxr,   r   r   r   Ú_count_reduce_itemsL   s   


üÿr:   c                 K   sÐ   | j jdv r(t|ƒtu r|t | j ¡jkrd }t|ƒtu r(|t | j ¡jkr(d }|d u r;|d u r;tj	| fd|i|¤ŽS |d u rKtj
| |fd|i|¤ŽS |d u r[tj| |fd|i|¤ŽS tj| ||fd|i|¤ŽS )NÚiur   )r   ÚkindÚtypeÚintÚnpÚiinfoÚminÚmaxÚumÚpositiveÚminimumÚmaximumÚclip)r   rA   rB   r   Úkwargsr   r   r   Ú_clipc   s   rI   c          
      C   s(  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ƒrstj|	||	ddd�}	|rq|d u rq|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   r=   r4   Úintegerr	   r2   Úfloat16r   r0   ÚndarrayrC   Útrue_divideÚhasattr)
r   r   r   r   r   r   r7   Úis_float16_resultÚrcountÚretr   r   r   Ú_meanv   s6   "

ÿ	
øüþra   )r   Úmeanc                C   s   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¡}|d ur@|}
n:t|||d|d�}
|	jdkrQ|	}n|	 |
j¡}t|
tjƒrhtj|
||
d	d
d�}
nt|
dƒrv|
j |
|	 ¡}
n|
|	 }
t ||
 ƒ}t|jjt	jt	j
fƒr”t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j||	|d	d
d�}|S t|dƒrú|j ||	 ¡}|S ||	 }|S )NrJ   TrK   z!Degrees of freedom <= 0 for slicerL   rM   rO   r   rQ   FrR   r   ©r   ©rL   )r   ).r   ).r+   )r   r:   r%   rU   rV   rW   rX   r   r=   r4   rY   r	   r2   r   r/   Úreshaper1   r0   r[   rC   r\   r]   ÚfloatingÚmultiplyÚ_complex_to_floatÚviewÚaddÚrealÚ	conjugaterF   )r   r   r   r   Úddofr   r   rb   r7   r_   ÚarrmeanÚdivÚxÚxvr`   r   r   r   Ú_var—   sR   "ÿ


ÿ


ÿ
ûþrr   c          	   
   C   sd   t | |||||||d�}t|tjƒrtj||d�}|S t|dƒr+|j t |¡¡}|S t |¡}|S )N)r   r   r   rm   r   r   rb   rc   r   )	rr   r0   r2   r[   rC   Úsqrtr]   r   r=   )	r   r   r   r   rm   r   r   rb   r`   r   r   r   Ú_stdÝ   s   ÿ
û
þrt   c              	   C   s&   t  t| |d ||ƒt| |d d |ƒ|¡S r   )rC   Úsubtractr   r   )r   r   r   r   r   r   r   Ú_ptpë   s
   ýrv   rL   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)r]   r   ÚopenÚosÚfspathÚpickleÚdump)ÚselfÚfilerz   ÚctxÚfr   r   r   Ú_dumpò   s   

"ÿr„   c                 C   s   t j| |d�S )Nry   )r~   Údumps)r€   rz   r   r   r   Ú_dumpsú   s   r†   Ú	same_kindÚK©r   rS   Úorderr   rT   c             	   C   s   t | ||||||d�S )Nr‰   )Úumr_bitwise_count)r   r   r   rS   rŠ   r   rT   r   r   r   Ú_bitwise_countý   s   
ÿrŒ   )NNNF)FT)NNN)NNNr   F)NNFrd   r   )<Ú__doc__r|   r~   rU   Ú
contextlibr   Únumpyr?   Únumpy._corer   r2   r   rC   Únumpy._core.multiarrayr   r   r4   r   Únumpy._globalsr   r   r$   rF   Úreducer   rE   r   rj   r   rg   r   Úbitwise_countr‹   Ú
logical_orr%   Úlogical_andr)   ÚcsingleÚsingleÚcdoubleÚdoublerh   Ú
longdoubleÚupdateÚclongdoubler   r   r   r    r'   r*   r:   rI   ra   rr   rt   rv   r„   r†   rŒ   r   r   r   r   Ú<module>   sp    
þÿ
ÿ
ÿ
ÿ
ÿ	
	
!ÿFÿ


ÿ