
    קg                     *   d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 g dZdede j        f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dedefd                        Z" ee j        j         j!        j#                   ed          dededefd                        Z#dS )     N)register_decomposition)TensorLikeType)out_wrapper)_broadcast_shapes)bfloat16boolbytecdoublecfloatchalfchardoublefloathalfintlongshortcomplexpolarnamedtypec                 n    t           j        fdt          dt           j        dt          ffd}| |_        |S )Nselfmemory_formatreturnc                 2    |                      |          S )N)r   )to)r   r   r   s     T/var/www/html/ai-engine/env/lib/python3.11/site-packages/torch/_refs/_conversions.pyfnz#_make_conversion_method.<locals>.fn)   s     wwuMw:::    )torchpreserve_formatr   r   __name__)r   r   r   s    ` r   _make_conversion_methodr$   (   sU    CHCX; ;;-2-@;	; ; ; ; ; ;
 BKIr    r   r   r	   r
   r   r   r   r   r   r   r   r   r   T)exact_dtyperealimagr   c                     t           j        t           j        t           j        f}t          j         j        |v oj        |v  fd           t          j         j        j        k     fd           t          j         j                  }t           j	        j	                  } 
                    || j         j                  } |_        |_        |S )Nc                  (    dj          d j          S )NzAExpected both inputs to be Half, Float or Double tensors but got z and r   r'   r&   s   r   <lambda>zcomplex.<locals>.<lambda>U   s+    -z- - $
- - r    c                  *    dj          d j          dS )NzExpected object of scalar type z but got scalar type z for second argumentr*   r+   s   r   r,   zcomplex.<locals>.<lambda>\   s/    <dj < <:< < < r    )r   layoutdevice)r!   float32float64float16_checkr   utilscorresponding_complex_dtyper   shape	new_emptyr.   r/   r&   r'   )r&   r'   allowed_dtypesresult_dtypecommon_shaperesults   ``    r   r   r   M   s    
 mU]EMBN	L
n$E~)E	
 	
 	
 	
 	
   
L
dj 	
 	
 	
 	
 	
   4TZ@@L$TZ<<L^^{{	   F FKFKMr    absanglec                     t          j        | |          }| t          j        |          z  |_        | t          j        |          z  |_        |S )N)r!   r   cosr&   sinr'   )r<   r=   r;   s      r   r   r   o   sF    
 ]3&&F	%(((FK	%(((FKMr    )$r!   torch._prims_common_prims_commonr4   torch._decompr   r   torch._prims_common.wrappersr   torch._refsr   __all__strr   r$   r   r   uint8r	   r
   r   	complex32r   int8r   r   r   r   r   r   r   _opsopsatenr   r    r    r   <module>rO      sy    # # # # # # 1 0 0 0 0 0 . . . . . . 4 4 4 4 4 4 ) ) ) ) ) )  *# ek     #":u~>>vuz22vu{33
!
!)U]
;
;	 	 5<	8	899vuz22	 	 5<	8	855vuz22eUY//vuz2255 
+344 .  >     54< 
+122 ~ n      32  r    