§
    1�ÅjÆ-  ã                  óÈ   — d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZmZ  eh d£¦  «        Z eh d£¦  «        Z ed	d
h¦  «        Z G d„ de¦  «        ZdS )é    )ÚannotationsN)ÚTensorProto)ÚBase)Úexpect)Úmake_tensorÚtensor_dtype_to_np_dtype¾   Ú
FLOAT8E5M2ÚFLOAT8E4M3FNÚFLOAT8E4M3FNUZÚFLOAT8E5M2FNUZ>   ÚINT4ÚUINT4Ú
FLOAT4E2M1ÚUINT2ÚINT2c                  ó>   — e Zd Zedd„¦   «         Zedd„¦   «         ZdS )ÚCastLikeÚreturnÚNonec            
     ó¨  — g d¢} h d£}| D �]E\  }}||k    rŒt          t          |¦  «        }t          t          |¦  «        }t          |¦  «        }t          |¦  «        }|dk    s|dk    r&t          j        g d¢t          j        ¬¦  «        }d}	�n||v s||v r%t          j        g d¢t          j        ¬¦  «        }d}	nä|d	v s|d	v r5t          j        d
d¦  «                             t          j        ¦  «        }d}	n§|dv s|dv r5t          j        dd¦  «                             t          j        ¦  «        }d}	nj|dk    s|dk    r%t          j        g d¢t          j        ¬¦  «        }d}	n9t          j        g d¢t          j        ¬¦  «                             ddg¦  «        }d}	|t          v r5t          j                             ||¦  «        }
t          d||	|
d¬¦  «        }nñ|t          v r[|                     |¦  «        }
t          j                             |
¦  «        }t          d||	|                     ¦   «         d¬¦  «        }n�|t"          v r[|                     |¦  «        }
t          j                             |
¦  «        }t          d||	|                     ¦   «         d¬¦  «        }n)|                     |¦  «        }
t          d||	|
d¬¦  «        }|t          v r3t          d||	t          j                             |
|¦  «        d¬¦  «        }në|t          v rYt          j                             |
                     |¦  «        ¦  «        }t          d||	|                     ¦   «         d¬¦  «        }n‰|t"          v rYt          j                             |
                     |¦  «        ¦  «        }t          d||	|                     ¦   «         d¬¦  «        }n't          d||	|
                     |¦  «        d¬¦  «        }t          d|dg ¬¦  «        }t          j                             dddgdg¬¦  «        }t+          |||g|gd|z   dz   |z   ¬¦  «         �ŒGd S ) N)0)ÚFLOATÚFLOAT16)r   ÚDOUBLE)r   r   )r   r   )r   r   )r   r   )r   ÚBFLOAT16)r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r
   )r   r
   )r   r   )r   r   )r
   r   )r
   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   ÚUINT8)r   r   )r   r   )r   ÚINT8)r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   r	   r   )ú
0.47892547ú
0.48033667ú
0.49968487ú
0.81910545ú
0.47031248z0.816468z
0.21087195ú	0.7229038ÚNaNÚINFú+INFú-INF©Údtype)é   é   ©r   r   r    r!   r"   r#   Ú1000000ú1e-7r$   r%   r&   r'   z
-0.0000001z	0.0000001z-1000000©r*   é   )r   r   i÷ÿÿÿé   )r0   r0   )r   r   éýÿÿÿr+   )é   é   r   )z0.48z0.25z1.05z-3.5z-8Ú9r-   r.   r$   r%   r&   r'   z-4z0.01z-0.0r*   ÚinputT©ÚvalsÚrawÚoutputÚlike©r   ©r8   r   )ÚinputsÚoutputsÚtest_castlike_Ú_to_©r>   r?   Úname)Úgetattrr   r   ÚnpÚarrayÚfloat32ÚarangeÚastypeÚreshapeÚF8_TYPESÚonnxÚnumpy_helperÚsaturate_castr   ÚFOUR_BIT_TYPESÚ_pack_4bitx2ÚtobytesÚTWO_BIT_TYPESÚ_pack_2bitx4ÚhelperÚ	make_noder   )Ú
test_casesÚf8_typesÚ	from_typeÚto_typeÚ
from_dtypeÚto_dtypeÚfrom_np_dtypeÚto_np_dtypeÚnp_fp32Úinput_shapeÚnp_fromr6   Úpackedr:   r;   Únodes                   úUC:\Projects\Historical\venv\Lib\site-packages\onnx/backend/test/case/node/castlike.pyÚexportzCastLike.export   s!  € ð1
ð 1
ð 1
ˆ
ðf VÐUÐUˆà",ð o	ñ o	ÑˆI�wØ˜GÒ#Ð#àÝ ¥¨iÑ8Ô8ˆJÝ�{¨GÑ4Ô4ˆHÝ4°ZÑ@Ô@ˆMÝ2°8Ñ<Ô<ˆKà˜JÒ&Ð&¨'°ZÒ*?Ð*?Ýœ(ðð ð õ œ*ðñ ô �ð" %�‘à˜hÐ&Ð&¨'°XÐ*=Ð*=Ýœ(ðð ð õ" œ*ð%ñ ô �ð( %��ØÐ/Ð/Ð/°7Ð>OÐ3OÐ3OÝœ) B¨Ñ+Ô+×2Ò2µ2´:Ñ>Ô>�Ø$��ØÐ/Ð/Ð/°7Ð>OÐ3OÐ3OÝœ) B¨Ñ*Ô*×1Ò1µ"´*Ñ=Ô=�Ø$��Ø˜lÒ*Ð*¨g¸Ò.EÐ.EÝœ(ðð ð õ" œ*ð%ñ ô �ð( %��õ œ(ðð ð õ œ*ðñ ô ÷  ’'˜1˜a˜&‘/”/ð! ð" %�à�HÐ$Ð$ÝÔ+×9Ò9¸'À=ÑQÔQ�Ý#ØØØØ Øðñ ô ��ð �nÐ,Ð,Ø!Ÿ.š.¨Ñ7Ô7�ÝÔ*×7Ò7¸Ñ@Ô@�õ $Ø˜Z¨¸6¿>º>Ñ;KÔ;KÐQUðñ ô ��ð �mÐ+Ð+Ø!Ÿ.š.¨Ñ7Ô7�ÝÔ*×7Ò7¸Ñ@Ô@�õ $Ø˜Z¨¸6¿>º>Ñ;KÔ;KÐQUðñ ô ��ð "Ÿ.š.¨Ñ7Ô7�Ý#Ø˜Z¨¸7Èðñ ô �ð �(Ð"Ð"Ý$ØØØÝÔ*×8Ò8¸À+ÑNÔNØðñ ô ��ð �NÐ*Ð*ÝÔ*×7Ò7¸¿ºÀ{Ñ8SÔ8SÑTÔT�õ %Ø˜h¨¸&¿.º.Ñ:JÔ:JÐPTðñ ô ��ð �MÐ)Ð)ÝÔ*×7Ò7¸¿ºÀ{Ñ8SÔ8SÑTÔT�õ %Ø˜h¨¸&¿.º.Ñ:JÔ:JÐPTðñ ô ��õ %ØØØØ Ÿš¨Ñ4Ô4Øðñ ô �õ ˜v x°¸BÐ?Ñ?Ô?ˆDå”;×(Ò(ØØ Ð(Ø!˜
ð )ñ ô ˆDõ ØØ˜t�}Ø˜Ø%¨	Ñ1°FÑ:¸WÑDð	ñ ô ð ñ ðUo	ð o	ó    c            	     ó–  — t          j        ddgg d¢¦  «        } d}| D �])\  }}t          t          |¦  «        }t          t          |¦  «        }t	          |¦  «        }t	          |¦  «        }t          j        g d¢t
          j        ¬¦  «        }t          d||| 	                    |¦  «        d¬	¦  «        }	t          d
||| 	                    |¦  «         	                    |¦  «        d¬	¦  «        }
t          d|dg ¬¦  «        }t          j                             dddgd
gd¬¦  «        }t          ||	|g|
gd|z   dz   |z   ¬¦  «         �Œ+d S )Nr   r   )r   r   r
   r   r/   r,   r(   r6   Tr7   r:   r;   r<   r=   r   r   )r>   r?   ÚsaturateÚtest_castlike_no_saturate_rA   rB   )Ú	itertoolsÚproductrD   r   r   rE   rF   rG   r   rI   rL   rT   rU   r   )rV   r_   rX   rY   rZ   r[   r\   r]   r^   r6   r:   r;   rb   s                rc   Úexport_saturate_falsezCastLike.export_saturate_falseþ   s®  € åÔ&àØððð ð ñ
ô 
ˆ
ð ˆØ",ð 7	ñ 7	ÑˆI�wÝ ¥¨iÑ8Ô8ˆJÝ�{¨GÑ4Ô4ˆHÝ4°ZÑ@Ô@ˆMÝ2°8Ñ<Ô<ˆKÝ”hðð ð õ" ”jð%ñ ô ˆGõ*  ØØØØ—^’^ MÑ2Ô2Øðñ ô ˆEõ !ØØØØ—^’^ MÑ2Ô2×9Ò9¸+ÑFÔFØðñ ô ˆFõ ˜v x°¸BÐ?Ñ?Ô?ˆDå”;×(Ò(ØØ Ð(Ø!˜
Øð	 )ñ ô ˆDõ ØØ˜t�}Ø˜Ø1°IÑ=ÀÑFÈÑPð	ñ ô ð ñ ðe7	ð 7	re   N)r   r   )Ú__name__Ú
__module__Ú__qualname__Ústaticmethodrd   rk   © re   rc   r   r      s]   € € € € € Øðeð eð eñ „\ðeðN ðEð Eð Eñ „\ðEð Eð Ere   r   )Ú
__future__r   ri   ÚnumpyrE   rL   r   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   Úonnx.helperr   r   Ú	frozensetrK   rO   rR   r   rp   re   rc   ú<module>rw      s  ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à Ð Ð Ð à €€€Ø Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =àˆ9ÐWÐWÐWÑXÔX€Ø�Ð:Ð:Ð:Ñ;Ô;€Ø�	˜7 FÐ+Ñ,Ô,€ðoð oð oð oð oˆtñ oô oð oð oð ore   