
    ΧgG                     :   d dl Z ddlmZmZ g Zg dZd  e ee          h dz
            D             Zg dZ	d Z
d	 Zd
 Zd eD             Zd eD             Z ee                                          Z ee                                          Zd Zd ZdS )    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truncc                     g | ]}|d z   S )_ ).0ns     [/var/www/html/ai-engine/env/lib/python3.11/site-packages/torch/masked/maskedtensor/unary.py
<listcomp>rJ   M   s,       	 G      >   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k    rt          d          |dd          D ]%}t          j        |          rt	          d          &t          ||d           \  }}t          ||d           \  }}|d         j        t          j        k    r|d                                         |d<   |d         	                                }	|d         
                                }
|d                                                                         |d<    | | }t          j        |
||	          }n|d         j        t          j        k    rm|d                                         }|d                                         }|d                                         |d<    | | }t          j        |||          }n | | }|r*|d                             ||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    rI   <lambda>z_unary_helper.<locals>.<lambda>{        rK   c                     | j         S re   )_masked_datarg   s    rI   ri   z_unary_helper.<locals>.<lambda>|   rj   rK   )size)len
ValueErrortorch	is_tensor	TypeErrorr   layout
sparse_coocoalescerm   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                  rI   _unary_helperr   o   s   
6{{aL
 
 	
 !""X  ?1 	S  	
 1v?W?WXXI{0v?W?WXXI{Aw~))) |,,..	!aLaL  "" |,,..5577	!B	N-a;;;	a5+	+	+|((**l&&(( |**,,	!B	N-dC;; b)n 7Q{IaL999AwK1666rK   c                 P    t          t          j        j        |           fd}|S )Nc                  *    t          | |d          S )NFr   r   r   r   r~   s     rI   unary_fnz_torch_unary.<locals>.unary_fn   s    Rvu====rK   getattrrp   opsatenfn_namer   r~   s     @rI   _torch_unaryr      s6    		)	)B> > > > > OrK   c                 P    t          t          j        j        |           fd}|S )Nc                  *    t          | |d          S )NTr   r   r   s     rI   r   z&_torch_inplace_unary.<locals>.unary_fn   s    Rvt<<<<rK   r   r   s     @rI   _torch_inplace_unaryr      s6    		)	)B= = = = = OrK   c                 h    i | ]/}t          t          j        j        |          t	          |          0S rF   )r   rp   r   r   r   rG   names     rI   
<dictcomp>r      s=       :>GEIND!!<#5#5  rK   c                 h    i | ]/}t          t          j        j        |          t	          |          0S rF   )r   rp   r   r   r   r   s     rI   r   r      sA        EIND!!#7#=#=  rK   c                 &    | t           v p| t          v S re   )NATIVE_UNARY_FNSNATIVE_INPLACE_UNARY_FNS)r~   s    rI   _is_native_unaryr      s    !!CR+C%CCrK   c                 |    | t           v rt          |          |i |S | t          v rt          |          |i |S t          S re   )r   NATIVE_UNARY_MAPr   NATIVE_INPLACE_UNARY_MAPNotImplemented)r~   r   r   s      rI   _apply_native_unaryr      sP    	#T4V444	%%%'+T<V<<<rK   )rp   corer   r   __all__UNARY_NAMESlistsetINPLACE_UNARY_NAMESUNARY_NAMES_UNSUPPORTEDr   r   r   r   r   keysr   r   r   r   rF   rK   rI   <module>r      se    3 3 3 3 3 3 3 3 ? ? ?B d33{##&O&O&OOPP      6%7 %7 %7P     BM    #   
 4(--//00 4 8 = = ? ?@@ D D D    rK   