
    [Th                     *   S SK Jr  S SKJr  S SKrSSKJrJrJrJ	r	  SSK
JrJrJrJrJrJrJr  S r\" \5       V s/ s H%  n U R)                  S5      (       a  M  U S	;  d  M#  U PM'     sn rS
rS r\ SSSSSSSSSS.                     SS jjj5       r\ SSSSSSSSS.                   SS jjj5       r\   SSSSSSSSS.                       SS jjj5       r\ H  r\" \\5      r\" \5      \" 5       \'   M     S r\/ SQ-   r\" \5       V s/ s H%  n U R)                  S5      (       a  M  U S:w  d  M#  U PM'     sn r / SQr!S r"\  H  r\" \\5      r\"" \5      \" 5       \'   M     \\ -   r#gs  sn f s  sn f )    )annotations)OptionalN   )_binary_ufuncs_impl_dtypes_impl_unary_ufuncs_impl_util)	ArrayLikeArrayLikeOrScalarCastingModes	DTypeLike
normalizerNotImplementedTypeOutArrayc                    UbK  [         R                  " XR                  R                  U5      n [        R
                  " XR                  5      n U $ N)r	   typecast_tensordtypetorch_dtypetorchbroadcast_toshape)resultoutcastings      L/var/www/auris/envauris/lib/python3.13/site-packages/torch/_numpy/_ufuncs.py_ufunc_postprocessr      s<    
&&vyy/D/DgN##FII6M    _)r   matmuldivmodldexp)addsubtractmultiplyfloor_dividetrue_dividedivide	remainderbitwise_and
bitwise_orbitwise_xorbitwise_left_shiftbitwise_right_shifthypotarctan2	logaddexp
logaddexp2	heavisidecopysignfmaxminimumfminmaximumfmodgcdlcmpowc           
        ^  [          SSSSSSSSS.                   S	U 4S jjjj5       nT R                  Ul        T R                  Ul        U$ )
zCommon infra for binary ufuncs.

Normalize arguments, sort out type casting, broadcasting and delegate to
the pytorch functions for the actual work.
NT	same_kindKFwherer   orderr   subok	signatureextobjc                >^ Ub  U4S jn
U
" X5      n U
" X5      nO[        U [        R                  5      (       aQ  [        U[        R                  5      (       a2  [        R                  " X5      n[
        R                  " X4UT5      u  pO5[        R                  " XTR                  [        ;   TR                  5      u  pT" X5      n[        XT5      $ )Nc                   > [        U [        R                  5      (       a  [        R                  " XT5      $ [        R
                  " XS9$ )Nr   )
isinstancer   Tensorr	   r   	as_tensor)xr   r   s     r   cast0deco_binary_ufunc.<locals>.wrapped.<locals>.cast[   s6    a.. 007CC ??1::r   )rI   r   rJ   r   result_type_implr	   typecast_tensorsnep50_to_tensors__name__NEP50_FUNCSr   )x1x2r   rA   r   rB   r   rC   rD   rE   rM   r   
torch_funcs       `       r   wrapped"deco_binary_ufunc.<locals>.wrappedJ   s     ; bBbBELL))jU\\.J.J 11"9E++RHeWEFB!22
++{:J<O<OFB B#!&w77r   r   r   Optional[OutArray]rT   r   rU   r   rA   r   r   Optional[CastingModes]rB   r   r   Optional[DTypeLike]rC   r   rD   r   rE   r   r   rR   __qualname__rV   rW   s   ` r   deco_binary_ufuncr`   C   s     
 #'	"8 %)*5$'%)$)(,%)"8  	"8"8"8 ""8 ("8 ""8 #"8 ""8 &"8 #"8 "8 "8H &..G!**GNr   r>   r?   F)r   rB   r   rC   rD   rE   axesaxisc                  Uc  [         R                  " X5      n[        R                  " X4XS5      u  p[        R
                  " X5      n[        XU5      nU$ r   )r   rO   r	   rP   r   r    r   )rT   rU   r   r   rB   r   rC   rD   rE   ra   rb   r   s               r   r    r    y   sP      }--b5##RHe=FB ''/FW5FMr   Tr@   c              ~   UbL  [        U [        R                  5      (       a  [        R                  " XU5      n O`[        R
                  " XS9n OK[        U [        R                  5      (       d,  [        R
                  " U 5      n [        R                  " U 5      n [        R
                  " U5      n[        R                  " UR                  5      S:w  a  [        S5      e[        R                  " X5      n
U R                  [        R                  :X  a  U
R                  [        R                  5      n
[        XU5      $ )NrH   r   zldexp 2nd arg must be integer)rI   r   rJ   r	   r   rK   cast_int_to_floatr   	_categoryr   
ValueErrorr   r"   float16tor   )rT   rU   r   rA   r   rB   r   rC   rD   rE   r   s              r   r"   r"      s     b%,,''&&r':B1B"ell++$B((,B		Bbhh'1,899 &&r.F	xx5== 5==)f733r   c              Z   [        S X#4 5       5      nUS:X  a  [        S5      eUS:X  a  Uu  pUc  Ub  [        S5      eOUu  p#Uc  [        R                  " X5      n[
        R                  " X4X5      u  p[        R                  " X5      u  nn[        XU5      n[        UX65      nUU4$ )Nc              3  (   #    U  H  oS Lv   M
     g 7fr    ).0rL   s     r   	<genexpr>divmod.<locals>.<genexpr>   s     7,QD=,s   r   z&both out1 and out2 need to be provided   z>cannot specify 'out' as both a positional and keyword argument)
sumrg   	TypeErrorr   rO   r	   rP   r   r!   r   )rT   rU   out1out2r   rA   r   rB   r   rC   rD   rE   num_outso1o2quotrems                    r   r!   r!      s    & 74,77H1}ABB	Q>R^P  ,
 
}--b5##RHe=FB#**22ID#d'2D
S$
0C9r   c               ,    [        U S/UQ70 UD6u  p4XC4$ )Nr   )r!   )rL   argskwdsrx   ry   s        r   modfr}      s"    q!+d+d+ID9r   )r!   r}   r    r"   r   )arccosarccosharcsinarcsinharctanarctanhcbrtcoscoshdeg2raddegreesexpexp2expm1loglog10log1plog2rad2degradians
reciprocalsinsinhsqrtsquaretantanhtruncc           
        ^  [          SSSSSSSSS.         S	U 4S jjjj5       nT R                  Ul        T R                  Ul        U$ )
zCommon infra for unary ufuncs.

Normalize arguments, sort out type casting, broadcasting and delegate to
the pytorch functions for the actual work.
NTr>   r?   Fr@   c                 > Ub  [         R                  " XU5      n T
R                  [        ;   a  [         R                  " U 5      n T
" U 5      n	[        XU5      n	U	$ r   )r	   r   rR   	_fp_unaryre   r   )rL   r   rA   r   rB   r   rC   rD   rE   r   rV   s             r   rW   !deco_unary_ufunc.<locals>.wrapped(  sU     %%a8A)+''*AA#F9r   r   )
r   rZ   rL   r
   r   r[   r   r\   rC   r   r]   r_   s   ` r   deco_unary_ufuncr   !  s      #'
 *5%)$)   ( # "  . &..G!**GNr   r   )r   rZ   rT   r
   rU   r
   r   r[   rB   r   r   r\   rC   r   rD   r   rE   r   ra   r   rb   r   rY   )NN)NN)r   z-tuple[Optional[OutArray], Optional[OutArray]]rT   r
   rU   r
   rs   rZ   rt   rZ   rA   r   r   r[   rB   r   r   r\   rC   r   rD   r   rE   r   )$
__future__r   typingr   r    r   r   r   r	   _normalizationsr
   r   r   r   r   r   r   r   dir
startswith_binaryrS   r`   r    r"   r!   namegetattrufuncvarsr}   _unaryr   r   __all__)r   s   0r   <module>r      s%   #   J J   '((??3 	$(0V$V 	(</l 
 #	 '2 #!% %$(!%## 
	 $    "    4 
 #	#4 !%&1 #!% %$(!%#4 
	#4#4#4 #4 $#4 #4 #4 #4 "#4 #4 #4N   $#9E& !%&1 #!% %$(!%& 
7&&& & 	& & $& & & & "& & &X D'.E$U+DF4L 

 9
9 &'
'??3 	$(GO 	'
	@"P D&-E#E*DF4L 
 F
a	v
s#   FF"F-FFF