code: private long computeUndefNum(final Tristate[] bits) {
      long sum = 0;
      for (int i = bits.length - 1; i >= 0; i--)
        if (bits[i] == Tristate.UNDEF)
          sum += Math.pow(2, bits.length - 1 - i);
      return sum;
    }
docs: Computes a number representing the number and position of the UNDEF states in the bit array.
  @param bits the bit array
  @return the computed number