private static void multiplyMultiPrecision(int[] inOut, int multiplier) {
    long multiplierUnsigned = multiplier & SqlMathUtil.LONG_MASK;
    long product = 0L;
    for (int i = 0; i < inOut.length; ++i) {
      product = (inOut[i] & SqlMathUtil.LONG_MASK) * multiplierUnsigned
          + (product >>> 32);
      inOut[i] = (int) product;
    }
    if ((product >> 32) != 0) {
      SqlMathUtil.throwOverflowException();
    }
  }
Multi-precision one super-digit multiply in place.

@param inOut
@param multiplier
common/src/java/org/apache/hadoop/hive/common/type/SqlMathUtil.java