public static void divide(SignedInt128 left, SignedInt128 right,
      SignedInt128 quotient, SignedInt128 remainder) {
    if (quotient == left || quotient == right) {
      throw new IllegalArgumentException(
          "result object cannot be left or right operand");
    }

    quotient.update(left);
    quotient.divideDestructive(right, remainder);
  }
Performs division and puts the quotient into the given object. This method
is static and not destructive (except the result object).

@param left
         left operand
@param right
         right operand
@param quotient
         result object to receive the calculation result
@param remainder
         result object to receive the calculation result
common/src/java/org/apache/hadoop/hive/common/type/SignedInt128.java