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

@param array
         array to read values from
@param offset
         offset of the long array
@param precision
         0 to 38. Decimal digits.
common/src/java/org/apache/hadoop/hive/common/type/UnsignedInt128.java