static long getFlagBits(boolean isLong, long arg0) { long bits = arg0; if (isLong) { if (populationCount(bits) > populationCount(~bits)) { bits = ~bits; } } else if (populationCount(0xffffffffL & bits) > populationCount(0xffffffffL & ~bits)) { bits = 0xffffffffL & ~bits; } return bits; } }
void check(long value) { assertEquals(1, IncompatMask.populationCount(value)); boolean isLong = (value >>> 32) != 0; assertEquals(value, IncompatMask.getFlagBits(true, value)); assertEquals(value, IncompatMask.getFlagBits(true, ~value)); if (!isLong) { assertEquals(value, IncompatMask.getFlagBits(false, value)); assertEquals(value, IncompatMask.getFlagBits(false, ~value)); } }
static long getFlagBits(boolean isLong, long arg0) { long bits = arg0; if (isLong) { if (populationCount(bits) > populationCount(~bits)) { bits = ~bits; } } else if (populationCount(0xffffffffL & bits) > populationCount(0xffffffffL & ~bits)) { bits = 0xffffffffL & ~bits; } return bits; } }