+
    9iv                     `    ^RI HtHtHt ^RIHt ^RIHt   ! R R]4      t ! R R]4      t	R# )	   )TENSOR_NAME_QUANT_SUFFIXQuantizedValueQuantizedValueType)QuantOperatorBase)QDQOperatorBasec                   D   a a ] tR t^
t oV 3R ltR tV 3R ltRtVtV ;t	# )GatherQuantc                &   < \         SV `  W4       R # Nsuper__init__selfonnx_quantizer	onnx_node	__class__s   &&&g/var/www/html/photoedit/myenv/lib/python3.14/site-packages/onnxruntime/quantization/operators/gather.pyr   GatherQuant.__init__       3    c                    V P                   P                  V P                  4      '       g   R # V P                   P                  V P                  P                  ^ ,          4      # )F)	quantizershould_quantize_nodenodeis_valid_quantize_weightinput)r   s   &r   should_quantizeGatherQuant.should_quantize   s@    ~~22499==~~66tyyq7IJJr   c                d  < V P                   pVP                  R 8X  g   Q hV P                  P                  V^ .4      w  ppppVf   \        SV `  4       # VP                  ^ ,          \        ,           p\        VP                  ^ ,          VV^ ,          V^ ,          \        P                  4      pWpP                  P                  VP                  ^ ,          &   WaP                  ^ &   V^ ,          VP                  ^ &   VP                  V4       V P                  ;P                  V,          un        R# )GatherN)r   op_typer   quantize_activationr   quantizeoutputr   r   r   Inputquantized_value_mapr   append	new_nodes)	r   r   quantized_input_nameszero_point_namesscale_namesnodesgather_new_outputq_outputr   s	   &       r   r$   GatherQuant.quantize   s    yy||x''' NN..taS9	
! (7#%% KKN-EE "KKNNQ$$
 >F**4;;q>:*A-a0

1T  E) r    )
__name__
__module____qualname____firstlineno__r   r   r$   __static_attributes____classdictcell____classcell__r   __classdict__s   @@r   r	   r	   
   s     4K* *r   r	   c                   8   a a ] tR t^4t oV 3R ltR tRtVtV ;t# )	QDQGatherc                &   < \         SV `  W4       R # r   r   r   s   &&&r   r   QDQGather.__init__5   r   r   c                   V P                   pVP                  R 8X  g   VP                  R8X  g   Q hV P                  P                  VP                  ^ ,          4      '       g   V P                  P
                  '       dx   V P                  P                  VP                  ^ ,          4       V P                  P                  VP                  ^ ,          VP                  ^ ,          VP                  4       R# V P                  P                  VP                  ^ ,          4      '       dL   V P                  P                  VP                  ^ ,          VP                  ^ ,          VP                  4       R# R# )r!   GatherElementsN)r   r"   r   r   r   force_quantize_no_input_checkquantize_activation_tensorquantize_output_same_as_inputr%   nameis_tensor_quantized)r   r   s   & r   r$   QDQGather.quantize8   s    yy||x'4<<;K+KKK>>224::a=AAT^^EqEqEqNN55djjmDNN88QTUX\XaXab^^//

1>>NN88QTUX\XaXab ?r   r1   )	r2   r3   r4   r5   r   r$   r6   r7   r8   r9   s   @@r   r<   r<   4   s     4c cr   r<   N)
quant_utilsr   r   r   base_operatorr   qdq_base_operatorr   r	   r<   r1   r   r   <module>rJ      s2    V V , .
'*# '*Tc cr   