\max(|x_\text{min}|, x_\text{max}) /         \left( Q_\text{max}
      - Q_\text{min} \right) \     &z = \begin{cases}         0 &
      \text{if dtype is qint8} \         128 & \text{otherwise}
      \end{cases}\     \text{Otherwise:}&\         &s = \left(
      x_\text{max} - x_\text{min}  \right ) /             \left(
      Q_\text{max} - Q_\text{min} \right ) \         &z =
      Q_\text{min} - \text{round}(x_\text{min} / s) \end{aligned}
where Q_\text{min} and Q_\text{max} are the minimum and maximum of
   the quantized data type.
Warning:
 "dtype" can only take "torch.qint8" or "torch.quint8".

Note:
 If the running minimum equals to the running maximum, the scale
 and zero_point are set to 1.0 and 0.

calculate_qparams()
  Calculates the quantization parameters.

forward(x_orig)
  Records the running minimum and maximum of "x".

reset_min_max_vals()
  Resets the min/max values.
