public static boolean fastRemainder(
      int leftSignum, long leftFast0, long leftFast1, long leftFast2,
      int leftIntegerDigitCount, int leftScale,
      int rightSignum, long rightFast0, long rightFast1, long rightFast2,
      int rightIntegerDigitCount, int rightScale,
      FastHiveDecimal fastResult) {

    // Arithmetic operations reset the results.
    fastResult.fastReset();

    if (rightSignum == 0) {
     // Division by 0.
      return false;
    }
    if (leftSignum == 0) {
      // Zero result.
      return true;
    }

    BigDecimal denominator =
        fastBigDecimalValue(
            leftSignum, leftFast0, leftFast1, leftFast2, leftIntegerDigitCount, leftScale);
    BigDecimal divisor =
        fastBigDecimalValue(
            rightSignum, rightFast0, rightFast1, rightFast2, rightIntegerDigitCount, rightScale);
    BigDecimal remainder =
        denominator.remainder(divisor);
    fastResult.fastReset();
    if (!fastSetFromBigDecimal(
        remainder,
        true,
        fastResult)) {
      return false;
    }

    return true;
  }
*********************************************************************************************
  // Decimal Division / Remainder.

  /**
EXPERMIMENTAL: Division when divisor fits in a single decimal longword.

@return  remainderSubexpr2
storage-api/src/java/org/apache/hadoop/hive/common/type/FastHiveDecimalImpl.java