
    h>                     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                   d    \ 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r	g)	QuantizeLinear   Nc                     [         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5      R                  [        R                  5      n[        U XU/U/S	S
9  g )Nr   xy_scaley_zero_pointyinputsoutputs)r         i  iir      )r               r   test_quantizelinearr   r   name)	onnxhelper	make_nodenparrayastypefloat32uint8r   noder   r   r   r   s        d/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/quantizelinear.pyexportQuantizeLinear.export   s    {{$$3E % 
 HH1299"**E**Q-xx}HH/077A-C&		
    c                     [         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XR                  SSSS5      -  UR                  SSSS5      -   R                  [        R                  5      n[        U XU/U/SS9  g )Nr   r   r   r   i^
   i   iiir          i   ii@iii*)dtype)r         )T         r   r   test_quantizelinear_axisr   )
r   r   r   r    r!   r#   r$   reshaper"   r   r%   s        r'   export_axisQuantizeLinear.export_axis#   s   {{$$3E % 
 HH BZ$sCj91X3x"c34[4,t= **	
 ((9BJJ7xxRXX>Aq!,,|/C/CAq!Q/OOWWHH
 	-C+		
r*   c                  v   [         R                  R                  S/ SQS/S9n [        R                  " / SQ5      R                  [        R                  5      n[        R                  " S5      n[        S[        R                  S/S	/5      n[        S[        R                  S
// SQ5      n[        U XU/U/SS9  g )Nr   r   r   r           g      ?g       @g     j@g      i@r   
zero_pointr   r   r3   )r         ?r   i  `   test_quantizelinear_e4m3fnr   )r   r   r   r    r!   r"   r#   r   r   FLOAT8E4M3FNr   r%   s        r'   export_e4m3fnQuantizeLinear.export_e4m3fnB   s    {{$$3E % 
 HH56==bjjI**Q-"<1I1IA3QRPST+22QC9M
 	-C-		
r*   c                  v   [         R                  R                  S/ SQS/S9n [        R                  " / SQ5      R                  [        R                  5      n[        R                  " S5      n[        S[        R                  S/S	/5      n[        S[        R                  S
// SQ5      n[        U XU/U/SS9  g )Nr   r   r   r   r<   r   r>   r   r=   r3   )r   r?   r   i   r@   test_quantizelinear_e5m2r   )r   r   r   r    r!   r"   r#   r   r   
FLOAT8E5M2r   r%   s        r'   export_e5m2QuantizeLinear.export_e5m2X   s    {{$$3E % 
 HH56==bjjI**Q-"<1G1G!seT+001#7M
 	-C+		
r*    )returnN)
__name__
__module____qualname____firstlineno__staticmethodr(   r9   rC   rH   __static_attributes__rJ   r*   r'   r   r      sP    
 
& 
 
< 
 
* 
 
r*   r   )numpyr    r   r   onnx.backend.test.case.baser   onnx.backend.test.case.noder   onnx.helperr   r   rJ   r*   r'   <module>rV      s'   
    , . #^
T ^
r*   