public static int fastHashCode(
      int fastSignum, long fast0, long fast1, long fast2, int fastIntegerDigitCount, int fastScale) {

    // OldHiveDecimal returns the hash code of its internal BigDecimal.  Our TestHiveDecimal
    // verifies the OldHiveDecimal.bigDecimalValue() matches (new) HiveDecimal.bigDecimalValue().

    BigDecimal bigDecimal =
        fastBigDecimalValue(
            fastSignum, fast0, fast1, fast2, fastIntegerDigitCount, fastScale);

    return bigDecimal.hashCode();
  }
This is the original hash code as returned by OldHiveDecimal.

We need this when the OldHiveDecimal hash code has been exposed and and written or affected
how data is written.

This method supports compatibility.

Examples: bucketing and the Hive hash() function.

NOTE: It is necessary to create a BigDecimal object and use its hash code, so this method is
      slow.

@param fastSignum the sign (-1, 0, or +1)
@param fast0 word 0 of the internal representation
@param fast1 word 1
@param fast2 word 2
@param fastIntegerDigitCount the number of integer digits
@param fastScale the scale of the number
@return the hash code
storage-api/src/java/org/apache/hadoop/hive/common/type/FastHiveDecimalImpl.java