
    sgG                        d dl Z ddlmZmZ g Zg dZ e ee      h dz
        D  cg c]  } | dz   	 c} Zg dZ	d Z
d	 Zd
 ZeD ci c]&  } ee j                  j                  |       e|      ( c}ZeD ci c]&  } ee j                  j                  |       e|      ( c}Z eej%                               Z eej%                               Zd Zd Zyc c} w c c}w c c}w )    N   )_map_mt_args_kwargs_wrap_result)>absabsoluteacosarccosacosharccoshangleasinarcsinasinharcsinhatanarctanatanharctanhbitwise_notceilclampclipconj_physicalcoscoshdeg2raddigammaerferfcerfinvexpexp2expm1fixfloorfraclgammaloglog10log1plog2logiti0isnan
nan_to_numnegnegativepositivepowrad2deg
reciprocalroundrsqrtsigmoidsignsgnsignbitsinsincsinhsqrtsquaretantanhtrunc>   r   r.   r;   r2   _)atan2arctan2bitwise_left_shiftbitwise_right_shiftcopysignfloat_powerfmodfrexpgradientimagldexplerplogical_nothypotigammaigammacmvlgamma	nextafter	polygammareal	remaindertrue_dividexlogyc                 `   t        |      dk7  rt        d      |dd  D ]"  }t        j                  |      st	        d       t        ||d       \  }}t        ||d       \  }}|d   j                  t        j                  k(  r~|d   j                         |d<   |d   j                         }	|d   j                         }
|d   j                         j                         |d<    | | }t        j                  |
||	      }n~|d   j                  t        j                  k(  rY|d   j                         }|d   j                         }|d   j                         |d<    | | }t        j                   |||      }n | | }|r|d   j#                  ||d          |d   S t%        ||d         S )Nr   zsMaskedTensor unary ops require that len(kwargs) == 0. If you need support for this, please open an issue on Github.r   zAMaskedTensor unary ops do not support additional Tensor argumentsc                     | j                   S N)_masked_maskxs    R/var/www/html/venv/lib/python3.12/site-packages/torch/masked/maskedtensor/unary.py<lambda>z_unary_helper.<locals>.<lambda>{   
         c                     | j                   S r^   )_masked_datar`   s    rb   rc   z_unary_helper.<locals>.<lambda>|   rd   re   )size)len
ValueErrortorch	is_tensor	TypeErrorr   layout
sparse_coocoalescerh   indicesvaluessparse_coo_tensor
sparse_csrcrow_indicescol_indicessparse_csr_tensor_set_data_maskr   )fnargskwargsinplacea	mask_argsmask_kwargs	data_argsdata_kwargssivresult_datacrowcols                  rb   _unary_helperr   o   s   
6{aL
 	
 !"X ??1S  1v?WXI{0v?WXI{Aw~~))) |,,.	!aLaL  " |,,.557	!	N--a;	a5++	+|((*l&&( |**,	!	N--dC; )nQ{IaL9AwK166re   c                 Z    t        t        j                  j                  |       fd}|S )Nc                  "    t        | |d      S )NFr|   r   rz   r{   ry   s     rb   unary_fnz_torch_unary.<locals>.unary_fn   s    Rvu==re   getattrrk   opsatenfn_namer   ry   s     @rb   _torch_unaryr      s#    		)B> Ore   c                 Z    t        t        j                  j                  |       fd}|S )Nc                  "    t        | |d      S )NTr   r   r   s     rb   r   z&_torch_inplace_unary.<locals>.unary_fn   s    Rvt<<re   r   r   s     @rb   _torch_inplace_unaryr      s#    		)B= Ore   c                 &    | t         v xs | t        v S r^   )NATIVE_UNARY_FNSNATIVE_INPLACE_UNARY_FNS)ry   s    rb   _is_native_unaryr      s    !!CR+C%CCre   c                 f    | t         v rt        |    |i |S | t        v rt        |    |i |S t        S r^   )r   NATIVE_UNARY_MAPr   NATIVE_INPLACE_UNARY_MAPNotImplemented)ry   rz   r{   s      rb   _apply_native_unaryr      sD    	#T4V44	%%'+T<V<<re   )rk   corer   r   __all__UNARY_NAMESlistsetINPLACE_UNARY_NAMESUNARY_NAMES_UNSUPPORTEDr   r   r   r   r   r   r   r   keysr   r   r   r   )nnames   00rb   <module>r      s    3 ?F 3{#&OOP	 G  6%7P CN:>GEIINND!<#55 
 $ EIINND!#7#== 
 (--/0  8 = = ?@ DYxs   C+C :+C%