
    hA                     Z    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	   " S S\5      r
g)    N)TensorProto)Base)expect)make_tensorc                       \ rS rSr\S
S j5       r\S
S j5       r\S
S j5       r\S
S j5       r\S
S j5       r	\S
S j5       r
S	rg)DequantizeLinear   Nc                  r   [         R                  R                  S/ SQS/S9n [        R                  " / SQ5      R                  [        R                  5      n[        R                  " S5      n[        R                  " S5      n[        R                  " / SQ[        R                  S	9n[        U XU/U/S
S9  g )Nr   xx_scalex_zero_pointyinputsoutputs)r               r   )i ir      dtypetest_dequantizelinearr   r   name)	onnxhelper	make_nodenparrayastypeuint8float32r   noder   r   r   r   s        f/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/dequantizelinear.pyexportDequantizeLinear.export   s    {{$$3E % 
 HH%&--bhh7**Q-xx}HH)<-C(		
    c                  J   [         R                  R                  S/ SQS/S9n [        R                  " SS/SS/S	S
//SS/SS/SS//SS/SS/SS////[        R
                  S9n[        R                  " / SQ[        R                  S9n[        R                  " / SQ[        R
                  S9nUR                  [        R                  5      UR                  SSSS5      R                  [        R                  5      -
  UR                  SSSS5      -  n[        U XU/U/SS9  g )Nr   r   r   r   r   Y   "      J   ;         W             c         y   f   r   )r   r8   r1   )T   r2         test_dequantizelinear_axisr   )
r   r   r   r    r!   r#   r$   r"   reshaper   r%   s        r'   export_axisDequantizeLinear.export_axis$   s"   {{$$3E % 
 HH Wr3i"b2Wr2hR12YC3*5 ((	
 ((9BJJ7xxRXX>HHRZZ <#7#71a#C#J#J2::#VVOOAq!Q'( 	-C-		
r*   c                     [         R                  R                  SSS/S/SS9n [        S[        R
                  S// SQ5      n[        R                  " S	5      n[        R                  " / S
Q[        R                  S9n[        U X/U/SS9  g )Nr   r   r   r   r   r   r   axisr1   r         ?r>   i  ir                 ?       @g      @g      jr   test_dequantizelinear_e4m3fnr   
r   r   r   r   r   FLOAT8E4M3FNr    r$   r!   r   r&   r   r   r   s       r'   export_e4m3fnDequantizeLinear.export_e4m3fnD   s    {{$$#E	 % 
 [55s<RS**Q-HH32::F<C/		
r*   c                     [         R                  R                  SSS/S/SS9n [        S[        R
                  S// SQ5      n[        R                  " S	5      n[        R                  " / S
Q[        R                  S9n[        U X/U/SS9  g )Nr   r   r   r   r   rD   r1   rF   r   rH   r   $test_dequantizelinear_e4m3fn_float16r   )
r   r   r   r   r   rN   r    float16r!   r   rO   s       r'   export_e4m3fn_float16&DequantizeLinear.export_e4m3fn_float16Y   s    {{$$#E	 % 
 [55s<RS**Q-HH32::F<C7		
r*   c                  X   [         R                  R                  S/ SQS/SS9n [        S[        R
                  S// SQ5      n[        S	[        R
                  S
/S/5      n[        R                  " S5      n[        R                  " / SQ[        R                  S9n[        U XU/U/SS9  g )Nr   )r   r   
zero_pointr   r   rD   r   r1   rF   rX   r>   r   rH   r   'test_dequantizelinear_e4m3fn_zero_pointr   rM   )r&   r   rX   r   r   s        r'   export_e4m3fn_zero_point)DequantizeLinear.export_e4m3fn_zero_pointn   s    {{$$1E	 % 
 [55s<RS {/G/G!qcR
**Q-HH32::F
+C:		
r*   c                     [         R                  R                  SSS/S/SS9n [        S[        R
                  S// SQ5      n[        R                  " S	5      n[        R                  " / S
Q[        R                  S9n[        U X/U/SS9  g )Nr   r   r   r   r   rD   r1   )r   rG   r>   i   ir   )rI   rJ   rK   g      @g      hr   test_dequantizelinear_e5m2r   )
r   r   r   r   r   
FLOAT8E5M2r    r$   r!   r   rO   s       r'   export_e5m2DequantizeLinear.export_e5m2   s    {{$$#E	 % 
 [33aS:QR**Q-HH5RZZH<C-		
r*    )returnN)__name__
__module____qualname____firstlineno__staticmethodr(   rA   rP   rU   rZ   r_   __static_attributes__ra   r*   r'   r   r      sx    
 
( 
 
> 
 
( 
 
( 
 
* 
 
r*   r   )numpyr    r   r   onnx.backend.test.case.baser   onnx.backend.test.case.noder   onnx.helperr   r   ra   r*   r'   <module>rm      s'   
    , . #I
t I
r*   