public static int fastRawPrecision(
      int fastSignum, long fast0, long fast1, long fast2) {

    if (fastSignum == 0) {
      return 0;
    }

    int precision;

    if (fast2 != 0) {

      // 6 highword digits.
      precision = TWO_X_LONGWORD_DECIMAL_DIGITS + fastHighWordPrecision(fast2);

    } else if (fast1 != 0) {

      // Check fast1.
      precision = LONGWORD_DECIMAL_DIGITS + fastLongWordPrecision(fast1);


    } else {

      // Check fast0.
      precision = fastLongWordPrecision(fast0);

    }

    return precision;
  }
Fast decimal scale up by factor of 10.
@param fast0 word 0 of the internal representation
@param fast1 word 1
@param fast2 word 2
@param scaleUp the number of integer digits to scale up by
@param fastResult an object to reuse
@return was the operation successfule?
storage-api/src/java/org/apache/hadoop/hive/common/type/FastHiveDecimalImpl.java