public Int2IntCounterMap( @DoNotSub final int initialCapacity, @DoNotSub final float loadFactor, final int initialValue) { validateLoadFactor(loadFactor); this.loadFactor = loadFactor; this.initialValue = initialValue; capacity(findNextPositivePowerOfTwo(Math.max(MIN_CAPACITY, initialCapacity))); }
private void rehash(@DoNotSub final int newCapacity) { final int[] oldEntries = entries; final int initialValue = this.initialValue; @DoNotSub final int length = entries.length; capacity(newCapacity); final int[] newEntries = entries; @DoNotSub final int mask = entries.length - 1; for (@DoNotSub int i = 0; i < length; i += 2) { final int value = oldEntries[i + 1]; if (value != initialValue) { final int key = oldEntries[i]; @DoNotSub int index = Hashing.evenHash(key, mask); while (entries[index + 1] != initialValue) { index = next(index, mask); } newEntries[index] = key; newEntries[index + 1] = value; } } } }
public Int2IntCounterMap( @DoNotSub final int initialCapacity, @DoNotSub final float loadFactor, final int initialValue) { validateLoadFactor(loadFactor); this.loadFactor = loadFactor; this.initialValue = initialValue; capacity(findNextPositivePowerOfTwo(Math.max(MIN_CAPACITY, initialCapacity))); }
private void rehash(@DoNotSub final int newCapacity) { final int[] oldEntries = entries; final int initialValue = this.initialValue; @DoNotSub final int length = entries.length; capacity(newCapacity); final int[] newEntries = entries; @DoNotSub final int mask = entries.length - 1; for (@DoNotSub int i = 0; i < length; i += 2) { final int value = oldEntries[i + 1]; if (value != initialValue) { final int key = oldEntries[i]; @DoNotSub int index = Hashing.evenHash(key, mask); while (entries[index + 1] != initialValue) { index = next(index, mask); } newEntries[index] = key; newEntries[index + 1] = value; } } } }