public static boolean fastRound(
      FastHiveDecimal fastDec,
      int newScale, int roundingMode,
      FastHiveDecimal fastResult) {
    return fastRound(
        fastDec.fastSignum, fastDec.fast0, fastDec.fast1, fastDec.fast2,
        fastDec.fastIntegerDigitCount, fastDec.fastScale,
        newScale, roundingMode,
        fastResult);
  }
*********************************************************************************************
  // Decimal Rounding.

  public static boolean doFastRound(
      int fastSignum, long fast0, long fast1, long fast2,
      int fastIntegerDigitCount, int fastScale,
      int roundPower,
      int roundingMode,
      FastHiveDecimal fastResult) {

    if (fastSignum == 0) {

      // Zero result.
      fastResult.fastReset();
      return true;
    } else if (fastScale == roundPower) {

      // The roundPower same as scale means all zeroes below round point.

      fastResult.fastSet(fastSignum, fast0, fast1, fast2, fastIntegerDigitCount, fastScale);
      /*
      if (!fastResult.fastIsValid()) {
        fastResult.fastRaiseInvalidException();
      }
storage-api/src/java/org/apache/hadoop/hive/common/type/FastHiveDecimalImpl.java