@Override public float getFloat(Object key) { int index = index(key); if (index >= 0) { // key is present return Float.intBitsToFloat(values[index]); } else { // key is absent return defaultValue(); } }
@Override public void clear() { doClear(); }
@Override void removeAt(int index) { incrementModCount(); super.removeAt(index); postRemoveHook(); }
@Override public float putIfAbsent(K key, float value) { int index = insert(key, Float.floatToIntBits(value)); if (index < 0) { // key was absent return defaultValue(); } else { // key is present return Float.intBitsToFloat(values[index]); } }
int firstRemoved; if (cur != REMOVED) { if (noRemoved()) { int bIndex = index, fIndex = index, step = 1; while (true) { float newValue = defaultValue() + value; incrementModCount(); keys[firstRemoved] = null; vals[firstRemoved] = Float.floatToIntBits(newValue); postRemovedSlotInsertHook(); return newValue; float newValue = defaultValue() + value; incrementModCount(); keys[index] = null; vals[index] = Float.floatToIntBits(newValue); postFreeSlotInsertHook(); return newValue;
Object cur; keyPresent: if ((cur = keys[index = SeparateKVObjKeyMixing.mix(keyHashCode(key)) % (capacity = keys.length)]) != key) { keyAbsentFreeSlot: if (cur != FREE) { int firstRemoved; if (cur != REMOVED) { if (keyEquals(key, (K) cur)) { break keyPresent; } else { if (noRemoved()) { int bIndex = index, fIndex = index, step = 1; while (true) { else if (keyEquals(key, (K) cur)) { index = bIndex; break keyPresent; else if (keyEquals(key, (K) cur)) { index = fIndex; break keyPresent; if (keyEquals(key, (K) cur)) { index = bIndex; break keyPresent; if (keyEquals(key, (K) cur)) { index = fIndex; break keyPresent;
int capacity, index; Object cur; if ((cur = keys[index = SeparateKVObjKeyMixing.mix(keyHashCode(key)) % (capacity = keys.length)]) == key) { int firstRemoved; if (cur != REMOVED) { if (keyEquals(key, (K) cur)) { if (noRemoved()) { int bIndex = index, fIndex = index, step = 1; while (true) { else if (keyEquals(key, (K) cur)) { else if (keyEquals(key, (K) cur)) { if (keyEquals(key, (K) cur)) { if (keyEquals(key, (K) cur)) { incrementModCount(); keys[firstRemoved] = key; vals[firstRemoved] = Float.floatToIntBits(value); postRemovedSlotInsertHook(); return value; } else { incrementModCount(); keys[index] = key;
Object cur; keyPresent: if ((cur = keys[index = SeparateKVObjKeyMixing.mix(keyHashCode(key)) % (capacity = keys.length)]) != key) { keyAbsentFreeSlot: if (cur != FREE) { int firstRemoved; if (cur != REMOVED) { if (keyEquals(key, (K) cur)) { break keyPresent; } else { if (noRemoved()) { int bIndex = index, fIndex = index, step = 1; while (true) { else if (keyEquals(key, (K) cur)) { index = bIndex; break keyPresent; else if (keyEquals(key, (K) cur)) { index = fIndex; break keyPresent; if (keyEquals(key, (K) cur)) { index = bIndex; break keyPresent; if (keyEquals(key, (K) cur)) { index = fIndex; break keyPresent;
Object cur; keyPresent: if ((cur = keys[index = SeparateKVObjKeyMixing.mix(keyHashCode(key)) % (capacity = keys.length)]) != key) { keyAbsentFreeSlot: if (cur != FREE) { int firstRemoved; if (cur != REMOVED) { if (keyEquals(key, (K) cur)) { break keyPresent; } else { if (noRemoved()) { int bIndex = index, fIndex = index, step = 1; while (true) { else if (keyEquals(key, (K) cur)) { index = bIndex; break keyPresent; else if (keyEquals(key, (K) cur)) { index = fIndex; break keyPresent; if (keyEquals(key, (K) cur)) { index = bIndex; break keyPresent; if (keyEquals(key, (K) cur)) { index = fIndex; break keyPresent;
Object cur; keyPresent: if ((cur = keys[index = SeparateKVObjKeyMixing.mix(keyHashCode(key)) % (capacity = keys.length)]) != key) { keyAbsentFreeSlot: if (cur != FREE) { int firstRemoved; if (cur != REMOVED) { if (keyEquals(key, (K) cur)) { break keyPresent; } else { if (noRemoved()) { int bIndex = index, fIndex = index, step = 1; while (true) { else if (keyEquals(key, (K) cur)) { index = bIndex; break keyPresent; else if (keyEquals(key, (K) cur)) { index = fIndex; break keyPresent; if (keyEquals(key, (K) cur)) { index = bIndex; break keyPresent; if (keyEquals(key, (K) cur)) { index = fIndex; break keyPresent;
Object cur; keyPresent: if ((cur = keys[index = SeparateKVObjKeyMixing.mix(keyHashCode(k)) % (capacity = keys.length)]) != k) { if (cur == FREE) { return defaultValue(); } else { if (cur != REMOVED) { if (keyEquals(k, (K) cur)) { break keyPresent; } else { if (noRemoved()) { int bIndex = index, fIndex = index, step = 1; while (true) { return defaultValue(); else if (keyEquals(k, (K) cur)) { index = bIndex; break keyPresent; return defaultValue(); else if (keyEquals(k, (K) cur)) { index = fIndex; break keyPresent; return defaultValue();
Object cur; keyPresent: if ((cur = keys[index = SeparateKVObjKeyMixing.mix(keyHashCode(key)) % (capacity = keys.length)]) != key) { keyAbsentFreeSlot: if (cur != FREE) { int firstRemoved; if (cur != REMOVED) { if (keyEquals(key, (K) cur)) { break keyPresent; } else { if (noRemoved()) { int bIndex = index, fIndex = index, step = 1; while (true) { else if (keyEquals(key, (K) cur)) { index = bIndex; break keyPresent; else if (keyEquals(key, (K) cur)) { index = fIndex; break keyPresent; if (keyEquals(key, (K) cur)) { index = bIndex; break keyPresent; if (keyEquals(key, (K) cur)) { index = fIndex; break keyPresent;
Object cur; keyPresent: if ((cur = keys[index = SeparateKVObjKeyMixing.mix(keyHashCode(k)) % (capacity = keys.length)]) != k) { if (cur == FREE) { } else { if (cur != REMOVED) { if (keyEquals(k, (K) cur)) { break keyPresent; } else { if (noRemoved()) { int bIndex = index, fIndex = index, step = 1; while (true) { else if (keyEquals(k, (K) cur)) { index = bIndex; break keyPresent; else if (keyEquals(k, (K) cur)) { index = fIndex; break keyPresent; else if (cur != REMOVED && keyEquals(k, (K) cur)) { index = bIndex; break keyPresent; else if (cur != REMOVED && keyEquals(k, (K) cur)) { index = fIndex; break keyPresent;
Object cur; keyPresent: if ((cur = keys[index = SeparateKVObjKeyMixing.mix(keyHashCode(k)) % (capacity = keys.length)]) != k) { if (cur == FREE) { } else { if (cur != REMOVED) { if (keyEquals(k, (K) cur)) { break keyPresent; } else { if (noRemoved()) { int bIndex = index, fIndex = index, step = 1; while (true) { else if (keyEquals(k, (K) cur)) { index = bIndex; break keyPresent; else if (keyEquals(k, (K) cur)) { index = fIndex; break keyPresent; else if (cur != REMOVED && keyEquals(k, (K) cur)) { index = bIndex; break keyPresent; else if (cur != REMOVED && keyEquals(k, (K) cur)) { index = fIndex; break keyPresent;
Object cur; keyPresent: if ((cur = keys[index = SeparateKVObjKeyMixing.mix(keyHashCode(k)) % (capacity = keys.length)]) != k) { if (cur == FREE) { } else { if (cur != REMOVED) { if (keyEquals(k, (K) cur)) { break keyPresent; } else { if (noRemoved()) { int bIndex = index, fIndex = index, step = 1; while (true) { else if (keyEquals(k, (K) cur)) { index = bIndex; break keyPresent; else if (keyEquals(k, (K) cur)) { index = fIndex; break keyPresent; else if (cur != REMOVED && keyEquals(k, (K) cur)) { index = bIndex; break keyPresent; else if (cur != REMOVED && keyEquals(k, (K) cur)) { index = fIndex; break keyPresent;
if (filter == null) throw new java.lang.NullPointerException(); if (this.isEmpty()) return false; boolean changed = false; int mc = modCount(); Object[] keys = set; int[] vals = values; if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { K key; incrementModCount(); mc++; keys[i] = REMOVED; postRemoveHook(); changed = true; incrementModCount(); mc++; keys[i] = REMOVED; postRemoveHook(); changed = true; if (mc != modCount()) throw new java.util.ConcurrentModificationException(); return changed;
@Override void rehash(int newCapacity) { int mc = modCount(); Object[] keys = set; int[] vals = values; initForRehash(newCapacity); if (noRemoved()) { for (int i = keys.length - 1; i >= 0; i--) { K key; if (newKeys[index = SeparateKVObjKeyMixing.mix(nullableKeyHashCode(key)) % capacity] != FREE) { int bIndex = index, fIndex = index, step = 1; while (true) { if (newKeys[index = SeparateKVObjKeyMixing.mix(nullableKeyHashCode(key)) % capacity] != FREE) { int bIndex = index, fIndex = index, step = 1; while (true) { if (mc != modCount()) throw new java.util.ConcurrentModificationException();
@Override public Float computeIfPresent(K key, BiFunction<? super K, ? super Float, ? extends Float> remappingFunction) { if (remappingFunction == null) throw new java.lang.NullPointerException(); int index = index(key); if (index >= 0) { // key is present int[] vals = values; Float newValue = remappingFunction.apply(key, Float.intBitsToFloat(vals[index])); if (newValue != null) { vals[index] = Float.floatToIntBits(newValue); return newValue; } else { incrementModCount(); set[index] = REMOVED; postRemoveHook(); return null; } } else { // key is absent return null; } }
if (cur == FREE) { return defaultValue(); } else { int bIndex = index, fIndex = index, step = 1; } else if (cur == FREE) { return defaultValue(); } else if (cur == FREE) { return defaultValue(); incrementModCount(); ((Object[]) keys)[index] = REMOVED; postRemoveHook(); return val;
@Override public boolean containsEntry(Object key, int value) { int index = index(key); if (index >= 0) { // key is present return values[index] == value; } else { // key is absent return false; } }