
    hP
                     R    S SK r S SKr SSKJrJrJrJrJr  SSKJ	r	   " S S\	5      r
g)    N   )TENSOR_NAME_QUANT_SUFFIXQuantizedValueQuantizedValueTypeattribute_to_kwarg	ms_domain   )QuantOperatorBasec                   (   ^  \ rS rSrU 4S jrSrU =r$ )QLinearSoftmax   c                 
  > U R                   nU R                  R                  [        R                  R
                  R                  :X  a  SnSnOSnSnU R                  R                  UR                  S   X#5      u  nnnnnU R                  R                  US/5      u  nn	n
nU(       a  Uc  [        TU ]-  5       $ UR                  S   [        -   n[        UR                  S   UUU[        R                  5      nXR                  R                   UR                  S   '   0 nUR"                   H  nUR%                  ['        U5      5        M     [(        US'   U R                  R*                  US'   UR,                  (       a  UR,                  S-   OSn[        R.                  R0                  " SUR2                  -   US   U
S   U	S   UU/U/U40 UD6nUR5                  U5        U R                  =R6                  U-  sl        g )	Ng      p?r   idomainopset_quant QLinear)node	quantizeractivation_qTypeonnxonnx_pbTensorProtoUINT8_get_quantization_paramsoutputquantize_activationsuperquantizer   r   r   Inputquantized_value_map	attributeupdater   r   opset_versionnamehelper	make_nodeop_typeappend	new_nodes)selfr   	out_scaleout_zero_point
data_foundoutput_scale_nameoutput_zp_name_quantized_input_namesinput_zero_point_namesinput_scale_namesnodesqlinear_output_namequantized_output_valuekwargsr"   qlinear_node_nameqnode	__class__s                     d/var/www/fran/franai/venv/lib/python3.13/site-packages/onnxruntime/quantization/operators/softmax.pyr   QLinearSoftmax.quantize	   s   yy>>**dll.F.F.L.LL!IN!I!N NN33DKKNI^	
 NN..taS9	
!" 2:7#%% #kk!n/GG!/KKN$$"
 >T**4;;q>: IMM,Y78 ($x..66w48IIDII02%%$%a(!!$&q)! !!
 
 	U  E)      )__name__
__module____qualname____firstlineno__r   __static_attributes____classcell__)r;   s   @r<   r   r      s    A Ar>   r   )r   onnx.helperquant_utilsr   r   r   r   r   base_operatorr
   r   r?   r>   r<   <module>rI      s#      u u ,B& Br>   