
    Si,                        S SK Jr  S SKrS SKrS SKrS SKJr  S SKJr  S SK	J
r
  S SKJrJr  \" 1 Sk5      r\" 1 Sk5      r\" S	S
15      r " S S\5      rg)    )annotationsN)TensorProto)Base)expect)make_tensortensor_dtype_to_np_dtype>   
FLOAT8E5M2FLOAT8E4M3FNFLOAT8E4M3FNUZFLOAT8E5M2FNUZ>   INT4UINT4
FLOAT4E2M1UINT2INT2c                  <    \ rS rSr\SS j5       r\SS j5       rSrg)CastLike   c            
        / SQn 1 SknU  GH  u  p#X#:X  a  M  [        [        U5      n[        [        U5      n[        U5      n[        U5      nUS:X  d  US:X  a)  [        R                  " / SQ[        R
                  S9nSn	GO$X!;   d  X1;   a(  [        R                  " / SQ[        R
                  S9nSn	OUS	;   d  US	;   a7  [        R                  " S
S5      R                  [        R
                  5      nSn	OUS;   d  US;   a7  [        R                  " SS5      R                  [        R
                  5      nSn	OlUS:X  d  US:X  a(  [        R                  " / SQ[        R
                  S9nSn	O8[        R                  " / SQ[        R
                  S9R                  SS/5      nSn	U[        ;   a-  [        R                  R                  X5      n
[        SUU	U
SS9nOU[        ;   aK  UR                  U5      n
[        R                  R                  U
5      n[        SXIUR!                  5       SS9nOrU["        ;   aK  UR                  U5      n
[        R                  R%                  U
5      n[        SXIUR!                  5       SS9nOUR                  U5      n
[        SXIU
SS9nU[        ;   a+  [        SUU	[        R                  R                  X5      SS9nOU[        ;   aI  [        R                  R                  U
R                  U5      5      n[        SXYUR!                  5       SS9nOoU["        ;   aI  [        R                  R%                  U
R                  U5      5      n[        SXYUR!                  5       SS9nO[        SUU	U
R                  U5      SS9n[        SUS/ S9n[        R&                  R)                  SSS/S/S9n[+        UX/U/SU-   S-   U-   S9  GM     g ) 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
   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   )r.   r.   )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   r6   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_fromr4   packedr8   r9   nodes                   c/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/castlike.pyexportCastLike.export   s   1

f V",I# i8J{G4H4Z@M28<KJ&'Z*?(( **" %&'*=((" **%( %//7>O3O))B+222::>$//7>O3O))B*11"**=$l*g.E((" **%( % (( **  '1a&/! " %H$++99'Q#  n,!..7**77@ $Z6>>;KQU m+!..7**77@ $Z6>>;KQU "..7#Z7 ("$**88N N***77{8ST %h&..:JPT M)**77{8ST %h&..:JPT % 4 vxB?D;;(((!
 ) D }%	1F:WD	U #-    c            	     $   [         R                  " SS// SQ5      n SnU  H  u  p#[        [        U5      n[        [        U5      n[	        U5      n[	        U5      n[
        R                  " / SQ[
        R                  S9n[        SUUUR                  U5      SS	9n	[        S
UUUR                  U5      R                  U5      SS	9n
[        SUS/ S9n[        R                  R                  SSS/S
/SS9n[        UX/U
/SU-   S-   U-   S9  M     g )Nr   r   )r
   r   r	   r   r-   r*   r&   r4   Tr5   r8   r9   r:   r;   r   r   )r<   r=   saturatetest_castlike_no_saturate_r?   r@   )	itertoolsproductrB   r   r   rC   rD   rE   r   rG   rJ   rR   rS   r   )rT   r]   rV   rW   rX   rY   rZ   r[   r\   r4   r8   r9   r`   s                ra   export_saturate_falseCastLike.export_saturate_false   s9   &&

 ",I i8J{G4H4Z@M28<Khh" jj%G*  ^^M2E !^^M299+FF vxB?D;;(((!
	 ) D }1I=FP	e #-rd    N)returnNone)__name__
__module____qualname____firstlineno__staticmethodrb   rj   __static_attributes__rl   rd   ra   r   r      s-    e eN E Erd   r   )
__future__r   rh   numpyrC   rJ   r   onnx.backend.test.case.baser   onnx.backend.test.case.noder   onnx.helperr   r   	frozensetrI   rM   rP   r   rl   rd   ra   <module>r{      sR    #     , . =WX:;7F+,ot ord   