
    ,Vh%                     |   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 dd
lmZ  e
j,                  d      Zej0                  j2                  Zej6                  j2                  Zej:                  j2                  Zej>                  j2                  Z ejB                  Z"ejF                  j2                  Z$ejJ                  j2                  Z& ej,                  ejN                         ej,                  ejP                         ej,                  ejR                         ej,                  ejT                        iZ+ ej,                  ejX                         ej,                  ejT                        k7  rGe+j[                   ej,                  ej\                         ej,                  ejX                        i       dddedfdZ/dddedfdZ0ddddedfdZ1ddddedfdZ2d"dddZ3d"dddZ4d#dZ5d$dZ6d"dddZ7d%ddddZ8d%ddddZ9d&dZ:d'dZ;d'dZ<d(dddddd d!Z=y))zx
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boolFTc           	      $    t        | |d ||||      S N)umr_maximumaaxisoutkeepdimsinitialwheres         D/home/dcms/DCMS/lib/python3.12/site-packages/numpy/_core/_methods.py_amaxr   +       q$c8WeDD    c           	      $    t        | |d ||||      S r   )umr_minimumr   s         r   _aminr   /   r   r   c           	      $    t        | ||||||      S r   )umr_sumr   r   dtyper   r   r   r   s          r   _sumr!   3   s    1dE3'5AAr   c           	      $    t        | ||||||      S r   )umr_prodr   s          r   _prodr$   7   s    AtUC7EBBr   r   c                Z    |t         }|du rt        | ||||      S t        | |||||      S NTr%   )bool_dtumr_anyr   r   r    r   r   r   s         r   _anyr+   ;   ;    }}q$sH551dE3>>r   c                Z    |t         }|du rt        | ||||      S t        | |||||      S r'   )r(   umr_allr*   s         r   _allr/   D   r,   r   c                 ~   |du r|t        t        | j                              }nt        |t               s|f}d}|D ]2  }|| j                  t        j                  || j                           z  }4 t        j                  |      }|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_implr2   r   )arrr   r   r   itemsaxr2   s          r   _count_reduce_itemsr@   M   s    }<sxx)DD%(7D 	FBSYYr66r388DEEE	F L	 	?UCII6bggt "Lr   c                    | j                   j                  dv r~t        |      t        u r.|t	        j
                  | j                         j                  k  rd }t        |      t        u r.|t	        j
                  | j                         j                  k\  rd }||t        j                  | fd|i|S |t        j                  | |fd|i|S |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   rH   rI   r   kwargss        r   _cliprP   d   s    ww||t 9rxx'8'<'< <C9rxx'8'<'< <C
{s{{{10#000	zz!S4c4V44	zz!S4c4V44wwq#s66v66r   c                   t        |       }d}t        ||||      }|du r|dk(  r-nt        |dk(  d       rt        j                  dt
        d       |t        |j                  j                  t        j                  t        j                  f      rt        j                  d	      }nEt        |j                  j                  t        j                        rt        j                  d
      }d}t        ||||||      }	t        |	t        j                         rNt#               5  t%        j&                  |	||	dd      }	d d d        |r||j                  j                  |	      }	|	S t)        |	d      rB|r |j                  j                  |	|z        }	|	S |	j                  j                  |	|z        }	|	S |	|z  }	|	S # 1 sw Y   xY w)NFr   r   Tr   r   zMean of empty slice.   
stacklevelf8f4r%   unsafer   castingsubokr    )r   r@   r)   warningswarnRuntimeWarning
issubclassr    rD   r:   integerr   r8   float16r   r6   ndarrayr	   rJ   true_dividehasattr)
r   r   r    r   r   r   r=   is_float16_resultrcountrets
             r   _meanri   w   s   
Q-C dXUKFtmv{14)H,nK }ciinnrzz277&;<HHTNE		

3HHTNE $
#tUC
?C#rzz"  	I..S(%IC	I ))..%C J 
g	))..v.C J	 ))..v.C J FlJ	I 	Is   #F<<G)r   meanc                x   t        |       }t        ||||      }	|du r||	k\  r-nt        ||	k\  d       rt        j                  dt
        d       |St        |j                  j                  t        j                  t        j                  f      rt        j                  d      }||}
nt        |||d|      }
|	j                  dk(  r|	}n|	j                  |
j                         }t#        |
t        j$                        r.t'               5  t)        j*                  |
||
d	d
      }
d d d        n0t-        |
d      r|
j                  j                  |
|	z        }
n|
|	z  }
t        ||
z
        }t        |j                  j                  t        j.                  t        j                  f      rt)        j0                  |||      }n|j                  t2        v rp|j5                  t2        |j                     df      }t)        j0                  |||       t)        j6                  |d   |d   |j8                        j8                  }n5t)        j0                  |t)        j:                  |      |      j8                  }t        ||||||      }t)        j<                  |	|z
  d      }	t#        |t        j$                        r/t'               5  t)        j*                  ||	|d	d
      }d d d        |S t-        |d      r |j                  j                  ||	z        }|S ||	z  }|S # 1 sw Y   xY w# 1 sw Y   |S xY w)NrR   TrS   z!Degrees of freedom <= 0 for slicerT   rU   rW   r   rY   FrZ   r    r   rT   )r    ).r   ).r1   )r   r@   r)   r]   r^   r_   r`   r    rD   r:   ra   r   r8   r   r5   reshaper7   r6   rc   r	   rJ   rd   re   floatingmultiply_complex_to_floatviewaddreal	conjugaterM   )r   r   r    r   ddofr   r   rj   r=   rg   arrmeandivxxvrh   s                  r   _varr{      s   
Q-C dXUKF$tv~GDFN,N9>!"	$ }CIINNRZZ4IJ
 #tUTG ;;!C ../Cgrzz*"$ H..#719HH H Wg&mm((6)9:G&G
 	3=!A#))..2;;

";<KK1!$	
%	%VV,QWW5t<V=
B#FF2f:r&zqvv6;; KK2<<?277
!T5#
FC ZZq)F #rzz"  	I..S(%IC	I J 
g	iinnS6\* J FlJQH H@	I Js   L"
L/"L,/L9c          
      4   t        | |||||||      }t        |t        j                        rt	        j
                  ||      }|S t        |d      r0|j                  j                  t	        j
                  |            }|S t	        j
                  |      }|S )N)r   r    r   rv   r   r   rj   rl   r    )	r{   r6   r8   rc   rJ   sqrtre   r    rD   )	r   r   r    r   rv   r   r   rj   rh   s	            r   _stdr~      s    
qt5c D:C #rzz"ggcs# J 
g	iinnRWWS\* J ggclJr   c           
      d    t        j                  t        | |d ||      t        | |d d |      |      S r   )rJ   subtractr   r   )r   r   r   r   s       r   _ptpr      s6    ;;AtT31AtT42 r   c                     t        |d      rt        |      }nt        t        j                  |      d      }|5 }t        j                  | ||       d d d        y # 1 sw Y   y xY w)Nwritewbprotocol)re   r   openosfspathpickledump)selffiler   ctxfs        r   _dumpr      sT    tW$299T?D)	 0D!h/0 0 0s   AA%c                 0    t        j                  | |      S )Nr   )r   dumps)r   r   s     r   _dumpsr      s    <<x00r   	same_kindKr   r[   orderr    r\   c          	      &    t        | ||||||      S )Nr   )umr_bitwise_count)r   r   r   r[   r   r    r\   s          r   _bitwise_countr     s    Q5'uE3 3r   )NNNF)FT)NNN)NNNr   F)NNFrm   r   )>__doc__r   r   r]   
contextlibr   numpyrF   numpy._corer   r8   r   rJ   numpy._core.multiarrayr   r   r:   r   numpy._core._ufunc_configr	   numpy._globalsr
   r    r(   rM   reducer   rL   r   rs   r   rp   r#   bitwise_countr   
logical_orr)   logical_andr.   csinglesinglecdoubledoublerq   
longdoubleupdateclongdoubler   r   r!   r$   r+   r/   r@   rP   ri   r{   r~   r   r   r   r    r   r   <module>r      s  
 
   "  ( # - * # 7 # "((6
jjjj
&&--;;$$ 
--


..

 BHHRZZ8288BII.BHHRZZ8288BII. 
 288BMMhbhhryy11 8288BMM#:  D5$E D5$E TteB du$C?d ??d ?.7& t  DF$FP$013{4t3r   