public void update(IntBuffer buf, int precision) {
    switch (getIntsPerElement(precision)) {
    case 1:
      update32(buf);
      break;
    case 2:
      update64(buf);
      break;
    case 3:
      update96(buf);
      break;
    case 4:
      update128(buf);
      break;
    default:
      throw new RuntimeException();
    }
  }
Updates the value of this object by reading from ByteBuffer, using the
required number of ints for the given precision.

@param buf
         ByteBuffer to read values from
@param precision
         0 to 38. Decimal digits.
common/src/java/org/apache/hadoop/hive/common/type/UnsignedInt128.java