public static long nearestGreaterCapacity(long desiredCapacity, long currentSize) { assert desiredCapacity >= 0L : "desiredCapacity must be non-negative"; if (desiredCapacity <= (long) MAX_REGULAR_INT_CAPACITY) return (long) nearestGreaterCapacity((int) desiredCapacity, (int) currentSize, false); if (desiredCapacity <= MAX_REGULAR_LONG_CAPACITY) { int capIndex = binarySearch(REGULAR_LONG_CAPACITIES, desiredCapacity); return capIndex < 0 ? REGULAR_LONG_CAPACITIES[~capIndex] : desiredCapacity; } return extraLargeCapacity(desiredCapacity); }
public static long nearestGreaterCapacity(long desiredCapacity, long currentSize) { assert desiredCapacity >= 0L : "desiredCapacity must be non-negative"; if (desiredCapacity <= (long) MAX_REGULAR_INT_CAPACITY) return (long) nearestGreaterCapacity((int) desiredCapacity, (int) currentSize, false); if (desiredCapacity <= MAX_REGULAR_LONG_CAPACITY) { int capIndex = binarySearch(REGULAR_LONG_CAPACITIES, desiredCapacity); return capIndex < 0 ? REGULAR_LONG_CAPACITIES[~capIndex] : desiredCapacity; } return extraLargeCapacity(desiredCapacity); }
public static long capacity(HashConfigWrapper conf, long size) { assert size >= 0L : "size must be non-negative"; long desiredCapacity = conf.targetCapacity(size); if (desiredCapacity <= (long) MAX_REGULAR_INT_CAPACITY) return (long) capacity(conf, (int) size, (int) desiredCapacity, false); if (desiredCapacity <= MAX_REGULAR_LONG_CAPACITY) { int capIndex = binarySearch(REGULAR_LONG_CAPACITIES, desiredCapacity); if (capIndex >= 0) return desiredCapacity; capIndex = ~capIndex; long lesserCapacity = capIndex > 0 ? REGULAR_LONG_CAPACITIES[capIndex - 1] : (long) MAX_REGULAR_INT_CAPACITY; long greaterCapacity = REGULAR_CHAR_CAPACITIES[capIndex]; return chooseBetter(conf, size, desiredCapacity, lesserCapacity, greaterCapacity, greaterCapacity); } return extraLargeCapacity(desiredCapacity); }
public static long capacity(HashConfigWrapper conf, long size) { assert size >= 0L : "size must be non-negative"; long desiredCapacity = conf.targetCapacity(size); if (desiredCapacity <= (long) MAX_REGULAR_INT_CAPACITY) return (long) capacity(conf, (int) size, (int) desiredCapacity, false); if (desiredCapacity <= MAX_REGULAR_LONG_CAPACITY) { int capIndex = binarySearch(REGULAR_LONG_CAPACITIES, desiredCapacity); if (capIndex >= 0) return desiredCapacity; capIndex = ~capIndex; long lesserCapacity = capIndex > 0 ? REGULAR_LONG_CAPACITIES[capIndex - 1] : (long) MAX_REGULAR_INT_CAPACITY; long greaterCapacity = REGULAR_CHAR_CAPACITIES[capIndex]; return chooseBetter(conf, size, desiredCapacity, lesserCapacity, greaterCapacity, greaterCapacity); } return extraLargeCapacity(desiredCapacity); }