class_docstr: Quantized version of `torch.nn.Softmax`. Adds quantization-specific arguments on top of `torch.nn.Softmax`.
  
  Args:
      output_bit (`int`):
          Bitwidth for the layer output activation.
      quant_mode (`bool`, *optional*, defaults to `False`):
          Whether or not the layer is quantized.
      force_dequant (`str`, *optional*, defaults to `"none"`):
          Force dequantize the layer if either "softmax" or "nonlinear" is given.
class_docstr_tok: ["Quantized","version","of","`","torch.nn.Softmax","`",".","Adds","quantization-specific","arguments","on","top","of","`","torch.nn.Softmax","`",".","Args",":","output_bit","(","`","int","`",")",":","Bitwidth","for","the","layer","output","activation",".","quant_mode","(","`","bool","`",",","*","optional","*",",","defaults","to","`","False","`",")",":","Whether","or","not","the","layer","is","quantized",".","force_dequant","(","`","str","`",",","*","optional","*",",","defaults","to","`","``","none","''","`",")",":","Force","dequantize","the","layer","if","either","``","softmax","''","or","``","nonlinear","''","is","given","."]
code: def int_polynomial(self, x_int, scaling_factor):
      with torch.no_grad():
          b_int = torch.floor(self.coef[1] / scaling_factor)
          c_int = torch.floor(self.coef[2] / scaling_factor**2)
      z = (x_int + b_int) * x_int + c_int
      scaling_factor = self.coef[0] * scaling_factor**2
      return z, scaling_factor
  
imports: import decimal
  import numpy
  import torch
  from torch import nn
  from torch.autograd import Function
  from ...utils import logging
label_desc: Use image node_id 2 for calling the IntSoftmax obj's underlying member method code with example usage: obj.int_polynomial(x_int, scaling_factor) and returns: z,  scaling_factor