U
    wh                  [   @   s  U d dl Z d dlZd dlZd dlmZ d dlmZmZ d dlZd dl	m
  mZ ddlmZmZmZmZmZ daeeeef  ed< eejjejjejjejjejjejjfZedfedfed	fed
fedfedfedfejdfej dfej!dfej"dfej#dfej$dfej%dfej&dfej'dfej(dfej)dfej*dfej+dfej,dfej-dfej.dfej/dfej0dfej1dfej2d fej3d!fej4d"fej5d#fej6d$fej7d%fej8d&fej9d'fej:d(fej;d)fej0dfej1dfej<d*fej=d+fej>d,fej?d-fej@d.fejAd/fejBd0fejCd1fe j/dfe jDd2fe jAd/fe jEd3fe jFd4fe j*dfe j+dfe j.dfe j$dfe j:d(fe j;d)fe j9d'fe j6d$fe j5d#fe j7d%fe j3d!fe j2d fe j4d"fe j0dfe j<d*fe j1dfejGd5fejHd6fejIjJd7fejIjKd8fejjLd9fejMjNjOd:fejMjNjPd;fejMjQjRd<fejMjQjSd=fejMjQjTd>fejMjQjUd?fejjVd@fejjWdAfejXdBfejYjZdCfejYj[dDfejYj\dEfejYj]dFfejYj^dGfejYj_dHfejYj`dIfejYjadJfejYjbdKfgZZcdLdM Zded ZedNdO ZfdPdQ ZgdRdS ZhdTdU ZidS )V    N)OrderedDict)DictOptional   )_list_with_default_pair
_quadruple_single_triple_builtin_tablezaten::_pairzaten::_quadruplezaten::_singlezaten::_triplezaten::list_with_defaultz
aten::dictzaten::cudnn_is_acceptablez
aten::ceilzaten::copysignz	aten::erfz
aten::erfcz	aten::expzaten::expm1z
aten::fabszaten::floorzaten::gammazaten::lgammaz	aten::logzaten::log10zaten::log1pz	aten::powz
aten::sqrtzaten::isnanzaten::asinhzaten::atanhz
aten::coshz
aten::sinhz
aten::tanhz
aten::acosz
aten::asinz
aten::atanzaten::atan2z	aten::cosz	aten::sinz	aten::tanzaten::acoshz
aten::fmodz
aten::modfzaten::factorialzaten::frexpzaten::isinfzaten::degreeszaten::radiansaten::isfinitezaten::anglezaten::polarzaten::ldexpzaten::_assertz
aten::gradzaten::backwardzaten::_infer_sizez aten::_no_grad_embedding_renorm_zaten::_assert_int_or_pairzaten::_no_grad_fill_zaten::_no_grad_normal_zaten::_no_grad_uniform_zaten::_no_grad_zero_zaten::_get_tracing_statezaten::_get_cpu_capabilityz
aten::warnz
aten::stftzaten::istftzaten::cdistz
aten::normzaten::unique_dimzaten::unique_consecutivezaten::nuclear_normzaten::frobenius_normzaten::tensordotc                  C   s"   ddddddddg} d	d
 | D S )NstftistftZlucdistnormuniqueunique_consecutive	tensordotc                 S   s   h | ]}t tj|qS  )getattrtorch
functional).0namer   r   E/var/www/html/venv/lib/python3.8/site-packages/torch/jit/_builtins.py	<setcomp>   s     z7_gen_torch_functional_registered_ops.<locals>.<setcomp>r   )Zopsr   r   r   $_gen_torch_functional_registered_opsu   s    
r   c                 C   s   | t kS N)_functional_registered_opsfnr   r   r   _is_special_functional_bound_op   s    r!   c                  C   s   t d k	rt S i a dd } tD ]}| | qttjdf ttjdf ttjdf dd lm	  m
} | rt|jdf t|jdf tD ]\}}|t t|< qt S )	Nc                 S   sf   t | D ]X}t| |}t|rt|s|tjk	r|tjk	r|dkrN|dd  }t|d| f qd S )NZ_segment_reduce   zaten::)	dirr   callabler!   r   Zno_gradZautocast_builtin_opsappend)modr   vr   r   r   register_all   s    
z(_get_builtin_table.<locals>.register_allz	aten::gcdr   zaten::mathremainderr   zaten::get_gradientszaten::dist_backward)r   _modules_containing_builtinsr%   r&   mathgcdisfinite	remainderZtorch.distributed.autograddistributedautogradZis_availableZget_gradientsbackwardid)r)   r'   Zdist_autogradbuiltinZaten_opr   r   r   _get_builtin_table   s     
r4   c                 C   s   |t  t| < d S r   )r4   r2   )r    opr   r   r   _register_builtin   s    r6   c                 C   s   t  t| S r   )r4   getr2   r   r   r   r   _find_builtin   s    r8   )jZcmathr+   warningscollectionsr   typingr   r   r   Ztorch.backends.cudnnbackendsZcudnnZnn.modules.utilsr   r   r   r	   r
   r   intstr__annotations__Z_CZ_nnZ_fftZ_linalgZ_nestedZ_sparse_specialr*   dictZis_acceptableceilcopysignerferfcexpexpm1fabsfloorgammalgammaloglog10log1ppowsqrtisnanasinhatanhcoshsinhtanhacosasinatanatan2cossintanacoshfmodmodf	factorialfrexpisinfdegreesradiansr-   ZphaserectldexpZ_assertr0   Zgradr1   Z_infer_sizennr   Z_no_grad_embedding_renorm_Zassert_int_or_pairinitZ_no_grad_fill_Z_no_grad_normal_Z_no_grad_uniform_Z_no_grad_zero_Z_get_tracing_stateZ_get_cpu_capabilitywarnZ_VFr   r   r   r   Z
unique_dimr   Znuclear_normZfrobenius_normr   r%   r   r   r!   r4   r6   r8   r   r   r   r   <module>   s    *













c(