Ë
    L²j[   ã                  óÎ  — d dl mZ d dlZddlmZmZmZmZ ddlm	Z	m
Z
mZmZmZmZmZ d„ Z ee«      D � cg c]  } | j%                  d«      s| dvr| ‘Œ c} Zd	Zd
„ Ze	 ddddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„«       Ze	 dddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„«       Ze	 	 	 dddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„«       ZeD ]  Z eee«      Z ee«       e«       e<   Œ d„ Zeg d¢z   Z ee«      D � cg c]  } | j%                  d«      s| dk7  r| ‘Œ c} Zg d¢Zd„ Z eD ]  Z eee«      Z e e«       e«       e<   Œ eez   Z!yc c} w c c} w )é    )ÚannotationsNé   )Ú_binary_ufuncs_implÚ_dtypes_implÚ_unary_ufuncs_implÚ_util)Ú	ArrayLikeÚArrayLikeOrScalarÚCastingModesÚ	DTypeLikeÚ
normalizerÚNotImplementedTypeÚOutArrayc                ó    — |�Kt        j                  | |j                  j                  |«      } t	        j
                  | |j                  «      } | S ©N)r   Útypecast_tensorÚdtypeÚtorch_dtypeÚtorchÚbroadcast_toÚshape)ÚresultÚoutÚcastings      úS/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/torch/_numpy/_ufuncs.pyÚ_ufunc_postprocessr      s@   € Ø
€Ü×&Ñ& v¨s¯y©y×/DÑ/DÀgÓNˆÜ×#Ñ# F¨C¯I©IÓ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           
     ó¦   ‡ — t         	 dddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d	ˆ fd„«       }‰ j                  |_        ‰ j                  |_        |S )
z¡Common 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              óž  •‡— |�ˆfd„}
 |
| |«      }  |
||«      }nœt        | t        j                  «      rMt        |t        j                  «      r3t        j                  | |«      }t        j                  | |f|‰«      \  } }n5t        j                  | |‰j                  t        v ‰j                  «      \  } } ‰| |«      }t        ||‰«      S )Nc                ó”   •— t        | t        j                  «      rt        j                  | |‰«      S t        j
                  | |¬«      S )N©r   )Ú
isinstancer   ÚTensorr   r   Ú	as_tensor)Úxr   r   s     €r   Úcastz0deco_binary_ufunc.<locals>.wrapped.<locals>.castY   s7   ø€ Ü˜a¤§¡Ô.Ü ×0Ñ0°°E¸7ÓCÐCä Ÿ?™?¨1°EÔ:Ð: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   Úwrappedz"deco_binary_ufunc.<locals>.wrappedH   s¼   ù€ ð Ðô;ñ �b˜%“ˆBÙ�b˜%“‰BÜ˜œEŸL™LÔ)¬j¸¼U¿\¹\Ô.JÜ ×1Ñ1°"°bÓ9ˆEÜ×+Ñ+¨R°¨H°e¸WÓE‰FˆB‘ä!×2Ñ2Ø�B˜
×+Ñ+¬{Ð:¸J×<OÑ<Oó‰FˆB�ñ ˜B Ó#ˆä! &¨#¨wÓ7Ð7r   r   ©r   úOutArray | NonerR   r
   rS   r
   r@   r   r   úCastingModes | NonerA   r   r   úDTypeLike | NonerB   r   rC   r   rD   r   ©r   rP   Ú__qualname__©rT   rU   s   ` r   Údeco_binary_ufuncr]   A   s¼   ø€ ô ð
  $ð	"8ð %)Ø'2Ø$'Ø"&Ø$)Ø(,Ø%)ñ"8ð ð	"8Øð"8àð"8ð "ð"8ð %ð"8ð "ð"8ð  ð"8ð "ð"8ð &ð"8ð #ô"8ó ð"8ðH &×.Ñ.€GÔØ!×*Ñ*€GÔà€Nr   r=   r>   F)r   rA   r   rB   rC   rD   ÚaxesÚaxisc              ó´   — |€t        j                  | |«      }t        j                  | |f||«      \  } }t	        j
                  | |«      }t        |||«      }|S r   )r   rM   r   rN   r   r   r   )rR   rS   r   r   rA   r   rB   rC   rD   r^   r_   r   s               r   r   r   w   s\   € ð  €}Ü×-Ñ-¨b°"Ó5ˆÜ×#Ñ# R¨ H¨e°WÓ=�F€Bˆä ×'Ñ'¨¨BÓ/€Fä ¨¨WÓ5€FØ€Mr   Tr?   c              ód  — |�Jt        | t        j                  «      rt        j                  | ||«      } n\t        j
                  | |¬«      } nDt        | t        j                  «      s*t        j
                  | «      } t        j                  | «      } t        j
                  |«      }t        j                  |j                  «      dk7  rt        d«      ‚t        j                  | |«      }
| j                  t        j                  k(  r|
j                  t        j                  «      }
t        |
||«      S )NrG   r   zldexp 2nd arg must be integer)rH   r   rI   r   r   rJ   Úcast_int_to_floatr   Ú	_categoryr   Ú
ValueErrorr   r!   Úfloat16Útor   )rR   rS   r   r@   r   rA   r   rB   rC   rD   r   s              r   r!   r!   ’   sÜ   € ð ÐÜ�bœ%Ÿ,™,Ô'Ü×&Ñ& r¨5°'Ó:‰Bä—‘ ¨5Ô1‰Bä˜"œeŸl™lÔ+Ü—‘ Ó$ˆBÜ×(Ñ(¨Ó,ˆBä	�‰˜Ó	€Bä×Ñ˜bŸh™hÓ'¨1Ò,ÜÐ8Ó9Ð9ä ×&Ñ& r¨2Ó.€Fà	‡x�x”5—=‘=Ò à—‘œ5Ÿ=™=Ó)ˆä˜f c¨7Ó3Ð3r   c              ó\  — t        d„ ||fD «       «      }|dk(  rt        d«      ‚|dk(  r|\  }}|€|�t        d«      ‚|\  }}|€t        j                  | |«      }t        j                  | |f||«      \  } }t        j                  | |«      \  }}t        |||«      }t        |||«      }||fS )Nc              3  ó$   K  — | ]  }|d u–— Œ
 y ­wr   © )Ú.0rK   s     r   ú	<genexpr>zdivmod.<locals>.<genexpr>Í   s   è ø€ Ò7 Q�1˜D”=Ñ7ùs   ‚r   z&both out1 and out2 need to be providedé   z>cannot specify 'out' as both a positional and keyword argument)
Úsumrd   Ú	TypeErrorr   rM   r   rN   r   r    r   )rR   rS   Úout1Úout2r   r@   r   rA   r   rB   rC   rD   Únum_outsÚo1Úo2ÚquotÚrems                    r   r    r    º   sÎ   € ô& Ñ7¨4°¨,Ô7Ó7€HØ�1‚}ÜÐAÓBÐBØ	�QŠØ‰ˆˆBØˆ>˜R˜^ÜØPóð ð ‰
ˆˆdà€}Ü×-Ñ-¨b°"Ó5ˆÜ×#Ñ# R¨ H¨e°WÓ=�F€Bˆä#×*Ñ*¨2¨rÓ2�I€Dˆ#ä˜d D¨'Ó2€DÜ
˜S $¨Ó
0€CØ�ˆ9Ðr   c               ó0   — t        | dg|¢­i |¤Ž\  }}||fS )Nr   )r    )rK   ÚargsÚkwdsrt   ru   s        r   Úmodfry   ì   s&   € Ü�q˜!Ð+˜dÒ+ dÑ+�I€Dˆ#Ø�ˆ9Ðr   )r    ry   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           
     ó’   ‡ — t         	 dddddddddœ	 	 	 	 	 	 	 	 	 d	ˆ fd„«       }‰ j                  |_        ‰ j                  |_        |S )
z Common 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              ó²   •— |�t        j                  | ||«      } ‰
j                  t        v rt        j                  | «      }  ‰
| «      }	t        |	||«      }	|	S r   )r   r   rP   Ú	_fp_unaryrb   r   )rK   r   r@   r   rA   r   rB   rC   rD   r   rT   s             €r   rU   z!deco_unary_ufunc.<locals>.wrapped&  sY   ø€ ð ÐÜ×%Ñ% a¨°Ó8ˆAà×Ñ¤)Ñ+Ü×'Ñ'¨Ó*ˆAá˜A“ˆÜ# F¨C°Ó9ˆØˆr   r   )
r   rW   rK   r	   r   rX   r   rY   rB   r   rZ   r\   s   ` r   Údeco_unary_ufuncr™     s‹   ø€ ô ð  $ðð
 Ø'2ØØ"&Ø$)ØØñð ðØðð %ðð  ðð "ôó ðð. &×.Ñ.€GÔØ!×*Ñ*€GÔà€Nr   r   )r   rW   rR   r	   rS   r	   r   rX   rA   r   r   rY   rB   r   rC   r   rD   r   r^   r   r_   r   rV   )NN)NN)r   z'tuple[OutArray | None, OutArray | None]rR   r	   rS   r	   ro   rW   rp   rW   r@   r   r   rX   rA   r   r   rY   rB   r   rC   r   rD   r   )"Ú
__future__r   r   Ú r   r   r   r   Ú_normalizationsr	   r
   r   r   r   r   r   r   ÚdirÚ
startswithÚ_binaryrQ   r]   r   r!   r    ÚnameÚgetattrÚufuncÚvarsry   Ú_unaryr˜   r™   Ú__all__)r    s   0r   ú<module>r¦      s  ðõ #ã ç JÓ J÷÷ ñ òñ Ð'Ó(öàØ�?‰?˜3Ô DÐ0VÑ$Vò 	ò€ð€ò</ðl ð
  ð	ð $/Ø #Ø"Ø %Ø$(Ø!%Ø#Ø#ñð 
ð	Øðàðð !ðð ðð ðð ðð "ðð ðð ðð òó ðð4 ð
  ð	#4ð !%Ø#.Ø #Ø"Ø %Ø$(Ø!%ñ#4ð 
ð	#4Øð#4àð#4ð ð#4ð !ð#4ð ð#4ð ð#4ð ð#4ð "ð#4ð ò#4ó ð#4ðN ð !Ø à3?ð&ð !%Ø#.Ø #Ø"Ø %Ø$(Ø!%ñ&ð 
1ð&Øð&àð&ð ð&ð ð	&ð ð&ð !ð&ð ð&ð ð&ð ð&ð "ð&ð ò&ó ð&ðX ò ,€DÙÐ'¨Ó.€EÙ$ UÓ+�DƒFˆ4‚Lð,ò
ð
 Ò9Ñ
9€ñ Ð&Ó'ö
àØ�?‰?˜3Ô D¨G¢Oò 	ò
€ò€	ò@"ðP ò +€DÙÐ&¨Ó-€EÙ# EÓ*�DƒFˆ4‚Lð+ð
 �FÑ
�ùòa	ùòv
s   ¶EÄE"