public void scaleUpFiveDestructive(short fiveScale) {
    if (fiveScale == 0) {
      return;
    }

    if (fiveScale < 0) {
      throw new IllegalArgumentException();
    }

    if (isZero()) {
      return;
    }

    // Scale up with 5. This is done via #multiplyDestructive(int).
    while (fiveScale > 0) {
      int powerFive = Math.min(fiveScale, SqlMathUtil.MAX_POWER_FIVE_INT31);
      multiplyDestructive(SqlMathUtil.POWER_FIVES_INT31[powerFive]);
      fiveScale -= powerFive;
    }
  }
Scale up the value for 5**tenScale (this := this * 5**tenScale). Scaling up
DOES throw an error when an overflow occurs. This version is destructive,
meaning it modifies this object.

@param fiveScale
         scaling. must be positive
common/src/java/org/apache/hadoop/hive/common/type/UnsignedInt128.java