
    3j[                        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 )    )annotationsN   )_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      N/home/wildlama/miniconda3/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>.castY   s6    a.. 007CC ??1::r   )rH   r   rI   r   result_type_implr   typecast_tensorsnep50_to_tensors__name__NEP50_FUNCSr   )x1x2r   r@   r   rA   r   rB   rC   rD   rL   r   
torch_funcs       `       r   wrapped"deco_binary_ufunc.<locals>.wrappedH   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   OutArray | NonerS   r
   rT   r
   r@   r   r   CastingModes | NonerA   r   r   DTypeLike | NonerB   r   rC   r   rD   r   r   rQ   __qualname__rU   rV   s   ` r   deco_binary_ufuncr_   A   s     
  $	"8 %)'2$'"&$)(,%)"8 	"8"8"8 ""8 %"8 ""8  "8 ""8 &"8 #"8 "8 "8H &..G!**GNr   r=   r>   F)r   rA   r   rB   rC   rD   axesaxisc                  Uc  [         R                  " X5      n[        R                  " X4XS5      u  p[        R
                  " X5      n[        XU5      nU$ r   )r   rN   r   rO   r   r   r   )rS   rT   r   r   rA   r   rB   rC   rD   r`   ra   r   s               r   r   r   w   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      $ )NrG   r   zldexp 2nd arg must be integer)rH   r   rI   r   r   rJ   cast_int_to_floatr   	_categoryr   
ValueErrorr   r!   float16tor   )rS   rT   r   r@   r   rA   r   rB   rC   rD   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    ).0rK   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)
sumrf   	TypeErrorr   rN   r   rO   r   r    r   )rS   rT   out1out2r   r@   r   rA   r   rB   rC   rD   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    )rK   argskwdsrw   rx   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   rQ   	_fp_unaryrd   r   )rK   r   r@   r   rA   r   rB   rC   rD   r   rU   s             r   rV   !deco_unary_ufunc.<locals>.wrapped&  sU     %%a8A)+''*AA#F9r   r   )
r   rY   rK   r	   r   rZ   r   r[   rB   r   r\   r^   s   ` r   deco_unary_ufuncr     s       $
 '2"&$)  %   "  . &..G!**GNr   r   )r   rY   rS   r	   rT   r	   r   rZ   rA   r   r   r[   rB   r   rC   r   rD   r   r`   r   ra   r   rX   )NN)NN)r   z'tuple[OutArray | None, OutArray | None]rS   r	   rT   r	   rr   rY   rs   rY   r@   r   r   rZ   rA   r   r   r[   rB   r   rC   r   rD   r   )"
__future__r   r    r   r   r   r   _normalizationsr	   r
   r   r   r   r   r   r   dir
startswith_binaryrR   r_   r   r!   r    namegetattrufuncvarsr|   _unaryr   r   __all__)r   s   0r   <module>r      s"   #  J J   '((??3 	$(0V$V 	(</l 
  	 $/ #" %$(!%## 
	 !    "    4 
  	#4 !%#. #" %$(!%#4 
	#4#4#4 #4 !#4 #4 #4 #4 "#4 #4 #4N  ! 3?& !%#. #" %$(!%& 
1&&& & 	& & !& & & & "& & &X D'.E$U+DF4L 

 9
9 &'
'??3 	$(GO 	'
	@"P D&-E#E*DF4L 
 F
a	v
s#   FFF'F
F
F
