protected void rehash()

in core/src/main/java/gnu/trove/TIntIntHashMap.java [170:189]


  protected void rehash(int newCapacity) {
    int oldCapacity = capacity();
    int[] oldKeys = _set;
    int[] oldVals = _values;
    byte[] oldStates = _states;

    _set = new int[newCapacity];
    _values = new int[newCapacity];
    _states = new byte[newCapacity];

    for (int i = oldCapacity; i-- > 0; ) {
      if (oldStates[i] == FULL) {
        int o = oldKeys[i];
        int index = insertionIndex(o);
        _set[index] = o;
        _values[index] = oldVals[i];
        _states[index] = FULL;
      }
    }
  }