MCPcopy Create free account
hub / github.com/questdb/questdb / rehash

Method rehash

core/src/main/java/io/questdb/std/IntIntHashMap.java:92–114  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

90 }
91
92 private void rehash() {
93 int size = size();
94 int newCapacity = capacity * 2;
95 free = capacity = newCapacity;
96 int len = Numbers.ceilPow2((int) (newCapacity / loadFactor));
97
98 int[] oldValues = values;
99 int[] oldKeys = keys;
100 this.keys = new int[len];
101 this.values = new int[len];
102 Arrays.fill(keys, noEntryKeyValue);
103 mask = len - 1;
104
105 free -= size;
106 for (int i = oldKeys.length; i-- > 0; ) {
107 int key = oldKeys[i];
108 if (key != noEntryKeyValue) {
109 final int index = keyIndex(key);
110 keys[index] = key;
111 values[index] = oldValues[i];
112 }
113 }
114 }
115
116 @Override
117 protected void erase(int index) {

Callers 1

putAtMethod · 0.95

Calls 4

ceilPow2Method · 0.95
sizeMethod · 0.65
fillMethod · 0.45
keyIndexMethod · 0.45

Tested by

no test coverage detected