a
    d                     @   s.  d dl Z d dlmZ d dlmZ d dlmZmZ d dlm	Z	 d dl
mZ g dZee jddd	Zed
e jZede jZede jZede jZede jZede jZede jZede jZede jZede jZede jZede jZede jZee j j!j"j#e	ddeeedddZ#dS )    N)register_decomposition)checkTensorLikeType)out_wrapper)_broadcast_shapes)bfloat16boolbytecdoublecfloatchalfchardoublefloathalfintlongshortcomplex)namedtypec                    s(   t jftt jtd fdd}| |_|S )N)selfmemory_formatreturnc                    s   | j  |dS )N)r   )to)r   r   r    a/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/torch/_refs/_conversions.pyfn'   s    z#_make_conversion_method.<locals>.fn)torchZpreserve_formatr   r   __name__)r   r   r   r   r   r   _make_conversion_method&   s    r!   r   r   r	   r
   r   r   r   r   r   r   r   r   r   T)Zexact_dtype)realimagr   c                    s   t jt jt jf}tj|v o$ j|v  fdd tj jk fdd tj}tj	 j	}j
||jjd}|_ |_|S )Nc                      s   dj  d j  S )NzAExpected both inputs to be Half, Float or Double tensors but got z and r   r   r#   r"   r   r   <lambda>S   s
    zcomplex.<locals>.<lambda>c                      s   dj  d j  dS )NzExpected object of scalar type z but got scalar type z for second argumentr   r   r$   r   r   r%   Z   s    
)r   layoutdevice)r   float32float64float16r   r   utilsZcorresponding_complex_dtyper   shapeZ	new_emptyr&   r'   r"   r#   )r"   r#   Zallowed_dtypesZresult_dtypeZcommon_shaperesultr   r$   r   r   K   s(    
r   )$r   Ztorch._prims_commonZ_prims_commonr+   Ztorch._decompr   r   r   Ztorch._prims_common.wrappersr   Ztorch._refsr   __all__strr   r!   r   r   Zuint8r	   r
   r   Z	complex32r   Zint8r   r   r   r   r   r   r   Z_opsopsZatenr   r   r   r   r   <module>   s.   	
