public static void shiftRight(SignedInt128 left, SignedInt128 result,
      int bits, boolean roundUp) {
    result.update(left);
    result.shiftRightDestructive(bits, roundUp);
  }
This version returns the result as a new object, not modifying the give
objects.

@param left
         left operand
@param result
         object to receive the calculation result
@param bits
         the number of bits. must be positive
@param roundUp
         whether to round up the most significant bit that was discarded
common/src/java/org/apache/hadoop/hive/common/type/SignedInt128.java