mirror of
https://github.com/VibedByKaKi/alexandroid.git
synced 2026-11-14 09:57:16 +01:00
465 lines
22 KiB
Java
465 lines
22 KiB
Java
package androidx.collection;
|
|
|
|
import androidx.collection.internal.RuntimeHelpersKt;
|
|
import com.amazon.clouddrive.extended.model.BulkOperationType;
|
|
import com.dee.app.metrics.MetricsConstants;
|
|
import java.util.Iterator;
|
|
import kotlin.Metadata;
|
|
import kotlin.PublishedApi;
|
|
import kotlin.collections.ArraysKt;
|
|
import kotlin.collections.ArraysKt___ArraysJvmKt;
|
|
import kotlin.jvm.functions.Function0;
|
|
import kotlin.jvm.functions.Function2;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
import kotlin.jvm.internal.SourceDebugExtension;
|
|
import kotlin.sequences.Sequence;
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
|
|
@Metadata(d1 = {"\u0000P\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0002\b\n\n\u0002\u0010\u0007\n\u0000\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0018\u0002\n\u0002\u0010\u0011\n\u0000\n\u0002\u0010\u001c\n\u0002\u0018\u0002\n\u0002\b\t\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\b\u0018\u0000*\u0004\b\u0000\u0010\u00012\b\u0012\u0004\u0012\u0002H\u00010\u0002B\u000f\u0012\b\b\u0002\u0010\u0003\u001a\u00020\u0004¢\u0006\u0002\u0010\u0005J\r\u0010\u0007\u001a\u00020\bH\u0000¢\u0006\u0002\b\tJ\u0006\u0010\n\u001a\u00020\bJ\r\u0010\u000b\u001a\u00020\bH\u0000¢\u0006\u0002\b\fJ\u0010\u0010\r\u001a\u00020\u00042\u0006\u0010\u000e\u001a\u00020\u0004H\u0002J\u0015\u0010\u000f\u001a\u00020\u00042\u0006\u0010\u0010\u001a\u00028\u0000H\u0002¢\u0006\u0002\u0010\u0011J'\u0010\u0012\u001a\u00020\u00132\u0006\u0010\u0010\u001a\u00028\u00002\f\u0010\u0014\u001a\b\u0012\u0004\u0012\u00020\u00130\u0015H\u0086\bø\u0001\u0000¢\u0006\u0002\u0010\u0016J\b\u0010\u0017\u001a\u00020\bH\u0002J\u0010\u0010\u0018\u001a\u00020\b2\u0006\u0010\u0019\u001a\u00020\u0004H\u0002J\u0010\u0010\u001a\u001a\u00020\b2\u0006\u0010\u0003\u001a\u00020\u0004H\u0002J\u0016\u0010\u001b\u001a\u00020\b2\u0006\u0010\u0010\u001a\u00028\u0000H\u0086\n¢\u0006\u0002\u0010\u001cJ\u0017\u0010\u001b\u001a\u00020\b2\f\u0010\u001d\u001a\b\u0012\u0004\u0012\u00028\u00000\u001eH\u0086\nJ\u001e\u0010\u001b\u001a\u00020\b2\u000e\u0010\u001d\u001a\n\u0012\u0006\b\u0001\u0012\u00028\u00000\u001fH\u0086\n¢\u0006\u0002\u0010 J\u0017\u0010\u001b\u001a\u00020\b2\f\u0010\u001d\u001a\b\u0012\u0004\u0012\u00028\u00000!H\u0086\nJ\u0017\u0010\u001b\u001a\u00020\b2\f\u0010\u001d\u001a\b\u0012\u0004\u0012\u00028\u00000\"H\u0086\nJ\u0017\u0010#\u001a\u00020\b2\f\u0010$\u001a\b\u0012\u0004\u0012\u00028\u00000\u0002H\u0086\nJ\u001b\u0010%\u001a\u00020\b2\u0006\u0010\u0010\u001a\u00028\u00002\u0006\u0010&\u001a\u00020\u0013¢\u0006\u0002\u0010'J#\u0010%\u001a\u00020\u00132\u0006\u0010\u0010\u001a\u00028\u00002\u0006\u0010&\u001a\u00020\u00132\u0006\u0010(\u001a\u00020\u0013¢\u0006\u0002\u0010)J\u0014\u0010*\u001a\u00020\b2\f\u0010$\u001a\b\u0012\u0004\u0012\u00028\u00000\u0002J\u0013\u0010+\u001a\u00020\b2\u0006\u0010\u0010\u001a\u00028\u0000¢\u0006\u0002\u0010\u001cJ\u001b\u0010+\u001a\u00020,2\u0006\u0010\u0010\u001a\u00028\u00002\u0006\u0010&\u001a\u00020\u0013¢\u0006\u0002\u0010-J&\u0010.\u001a\u00020\b2\u0018\u0010/\u001a\u0014\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00020\u0013\u0012\u0004\u0012\u00020,00H\u0086\bø\u0001\u0000J\u0010\u00101\u001a\u00020\b2\u0006\u00102\u001a\u00020\u0004H\u0001J\u0015\u00103\u001a\u00020\b2\u0006\u00104\u001a\u00020\u0004H\u0000¢\u0006\u0002\b5J\u001e\u00106\u001a\u00020\b2\u0006\u0010\u0010\u001a\u00028\u00002\u0006\u0010&\u001a\u00020\u0013H\u0086\u0002¢\u0006\u0002\u0010'J\u0006\u00107\u001a\u00020\u0004R\u000e\u0010\u0006\u001a\u00020\u0004X\u0082\u000e¢\u0006\u0002\n\u0000\u0082\u0002\u0007\n\u0005\b\u009920\u0001¨\u00068"}, d2 = {"Landroidx/collection/MutableObjectFloatMap;", "K", "Landroidx/collection/ObjectFloatMap;", "initialCapacity", "", "(I)V", "growthLimit", "adjustStorage", "", "adjustStorage$collection", MetricsConstants.Method.CACHE_CLEAR, "dropDeletes", "dropDeletes$collection", "findFirstAvailableSlot", "hash1", "findIndex", "key", "(Ljava/lang/Object;)I", "getOrPut", "", "defaultValue", "Lkotlin/Function0;", "(Ljava/lang/Object;Lkotlin/jvm/functions/Function0;)F", "initializeGrowth", "initializeMetadata", "capacity", "initializeStorage", "minusAssign", "(Ljava/lang/Object;)V", "keys", "Landroidx/collection/ScatterSet;", "", "([Ljava/lang/Object;)V", "", "Lkotlin/sequences/Sequence;", "plusAssign", "from", MetricsConstants.Method.CACHE_PUT, "value", "(Ljava/lang/Object;F)V", "default", "(Ljava/lang/Object;FF)F", "putAll", BulkOperationType.remove, "", "(Ljava/lang/Object;F)Z", "removeIf", "predicate", "Lkotlin/Function2;", "removeValueAt", "index", "resizeStorage", "newCapacity", "resizeStorage$collection", "set", "trim", "collection"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
|
@SourceDebugExtension({"SMAP\nObjectFloatMap.kt\nKotlin\n*S Kotlin\n*F\n+ 1 ObjectFloatMap.kt\nandroidx/collection/MutableObjectFloatMap\n+ 2 RuntimeHelpers.kt\nandroidx/collection/internal/RuntimeHelpersKt\n+ 3 fake.kt\nkotlin/jvm/internal/FakeKt\n+ 4 ScatterMap.kt\nandroidx/collection/ScatterMapKt\n+ 5 ObjectFloatMap.kt\nandroidx/collection/ObjectFloatMap\n+ 6 ScatterSet.kt\nandroidx/collection/ScatterSet\n*L\n1#1,1051:1\n59#2,5:1052\n1#3:1057\n1254#4,6:1058\n1399#4:1074\n1270#4:1078\n1399#4:1095\n1270#4:1099\n1399#4:1119\n1270#4:1123\n1230#4:1134\n1254#4,6:1135\n1242#4:1141\n1241#4,4:1142\n1254#4,6:1146\n1165#4,3:1152\n1175#4:1155\n1179#4:1156\n1372#4,3:1157\n1386#4,3:1160\n1312#4:1163\n1303#4:1164\n1297#4:1165\n1309#4:1166\n1393#4:1167\n1265#4:1168\n1220#4:1169\n1262#4:1170\n1220#4:1171\n1230#4:1172\n1254#4,6:1173\n1242#4:1179\n1241#4,4:1180\n1372#4,3:1184\n1399#4:1187\n1297#4:1188\n1144#4,14:1189\n1220#4:1203\n1165#4,3:1204\n1175#4:1207\n1179#4:1208\n1254#4,6:1209\n1220#4:1215\n1179#4:1216\n1254#4,6:1217\n1254#4,6:1223\n1179#4:1229\n1254#4,6:1230\n1268#4:1236\n1220#4:1237\n1165#4,3:1238\n1175#4:1241\n1179#4:1242\n1230#4:1243\n1254#4,6:1244\n1242#4:1250\n1241#4,4:1251\n395#5,4:1064\n367#5,6:1068\n377#5,3:1075\n380#5,9:1079\n399#5:1088\n367#5,6:1089\n377#5,3:1096\n380#5,9:1100\n231#6,3:1109\n200#6,7:1112\n211#6,3:1120\n214#6,9:1124\n234#6:1133\n*S KotlinDebug\n*F\n+ 1 ObjectFloatMap.kt\nandroidx/collection/MutableObjectFloatMap\n*L\n647#1:1052,5\n675#1:1058,6\n744#1:1074\n744#1:1078\n775#1:1095\n775#1:1099\n811#1:1119\n811#1:1123\n820#1:1134\n820#1:1135,6\n820#1:1141\n820#1:1142,4\n829#1:1146,6\n842#1:1152,3\n843#1:1155\n844#1:1156\n851#1:1157,3\n852#1:1160,3\n853#1:1163\n854#1:1164\n854#1:1165\n858#1:1166\n861#1:1167\n870#1:1168\n870#1:1169\n876#1:1170\n876#1:1171\n877#1:1172\n877#1:1173,6\n877#1:1179\n877#1:1180,4\n892#1:1184,3\n893#1:1187\n895#1:1188\n941#1:1189,14\n947#1:1203\n961#1:1204,3\n962#1:1207\n973#1:1208\n974#1:1209,6\n984#1:1215\n987#1:1216\n988#1:1217,6\n989#1:1223,6\n999#1:1229\n1000#1:1230,6\n1039#1:1236\n1039#1:1237\n1041#1:1238,3\n1042#1:1241\n1044#1:1242\n1044#1:1243\n1044#1:1244,6\n1044#1:1250\n1044#1:1251,4\n744#1:1064,4\n744#1:1068,6\n744#1:1075,3\n744#1:1079,9\n744#1:1088\n775#1:1089,6\n775#1:1096,3\n775#1:1100,9\n811#1:1109,3\n811#1:1112,7\n811#1:1120,3\n811#1:1124,9\n811#1:1133\n*E\n"})
|
|
/* loaded from: classes.dex */
|
|
public final class MutableObjectFloatMap<K> extends ObjectFloatMap<K> {
|
|
private int growthLimit;
|
|
|
|
public MutableObjectFloatMap(int i) {
|
|
super(null);
|
|
if (!(i >= 0)) {
|
|
RuntimeHelpersKt.throwIllegalArgumentException("Capacity must be a positive value.");
|
|
}
|
|
initializeStorage(ScatterMapKt.unloadedCapacity(i));
|
|
}
|
|
|
|
private final int findFirstAvailableSlot(int hash1) {
|
|
int i = this._capacity;
|
|
int i2 = hash1 & i;
|
|
int i3 = 0;
|
|
while (true) {
|
|
long[] jArr = this.metadata;
|
|
int i4 = i2 >> 3;
|
|
int i5 = (i2 & 7) << 3;
|
|
long j = ((jArr[i4 + 1] << (64 - i5)) & ((-i5) >> 63)) | (jArr[i4] >>> i5);
|
|
long j2 = j & ((~j) << 7) & (-9187201950435737472L);
|
|
if (j2 != 0) {
|
|
return (i2 + (Long.numberOfTrailingZeros(j2) >> 3)) & i;
|
|
}
|
|
i3 += 8;
|
|
i2 = (i2 + i3) & i;
|
|
}
|
|
}
|
|
|
|
private final int findIndex(K key) {
|
|
int hashCode = (key != null ? key.hashCode() : 0) * ScatterMapKt.MurmurHashC1;
|
|
int i = hashCode ^ (hashCode << 16);
|
|
int i2 = i >>> 7;
|
|
int i3 = i & 127;
|
|
int i4 = this._capacity;
|
|
int i5 = i2 & i4;
|
|
int i6 = 0;
|
|
while (true) {
|
|
long[] jArr = this.metadata;
|
|
int i7 = i5 >> 3;
|
|
int i8 = (i5 & 7) << 3;
|
|
long j = ((jArr[i7 + 1] << (64 - i8)) & ((-i8) >> 63)) | (jArr[i7] >>> i8);
|
|
long j2 = i3;
|
|
int i9 = i3;
|
|
long j3 = j ^ (j2 * ScatterMapKt.BitmaskLsb);
|
|
for (long j4 = (~j3) & (j3 - ScatterMapKt.BitmaskLsb) & (-9187201950435737472L); j4 != 0; j4 &= j4 - 1) {
|
|
int numberOfTrailingZeros = (i5 + (Long.numberOfTrailingZeros(j4) >> 3)) & i4;
|
|
if (Intrinsics.areEqual(this.keys[numberOfTrailingZeros], key)) {
|
|
return numberOfTrailingZeros;
|
|
}
|
|
}
|
|
if ((((~j) << 6) & j & (-9187201950435737472L)) != 0) {
|
|
int findFirstAvailableSlot = findFirstAvailableSlot(i2);
|
|
if (this.growthLimit == 0 && ((this.metadata[findFirstAvailableSlot >> 3] >> ((findFirstAvailableSlot & 7) << 3)) & 255) != 254) {
|
|
adjustStorage$collection();
|
|
findFirstAvailableSlot = findFirstAvailableSlot(i2);
|
|
}
|
|
this._size++;
|
|
int i10 = this.growthLimit;
|
|
long[] jArr2 = this.metadata;
|
|
int i11 = findFirstAvailableSlot >> 3;
|
|
long j5 = jArr2[i11];
|
|
int i12 = (findFirstAvailableSlot & 7) << 3;
|
|
this.growthLimit = i10 - (((j5 >> i12) & 255) == 128 ? 1 : 0);
|
|
int i13 = this._capacity;
|
|
long j6 = ((~(255 << i12)) & j5) | (j2 << i12);
|
|
jArr2[i11] = j6;
|
|
jArr2[(((findFirstAvailableSlot - 7) & i13) + (i13 & 7)) >> 3] = j6;
|
|
return ~findFirstAvailableSlot;
|
|
}
|
|
i6 += 8;
|
|
i5 = (i5 + i6) & i4;
|
|
i3 = i9;
|
|
}
|
|
}
|
|
|
|
private final void initializeGrowth() {
|
|
this.growthLimit = ScatterMapKt.loadedCapacity(get_capacity()) - this._size;
|
|
}
|
|
|
|
private final void initializeMetadata(int capacity) {
|
|
long[] jArr;
|
|
if (capacity == 0) {
|
|
jArr = ScatterMapKt.EmptyGroup;
|
|
} else {
|
|
jArr = new long[((capacity + 15) & (-8)) >> 3];
|
|
ArraysKt___ArraysJvmKt.fill$default(jArr, -9187201950435737472L, 0, 0, 6, (Object) null);
|
|
}
|
|
this.metadata = jArr;
|
|
int i = capacity >> 3;
|
|
long j = 255 << ((capacity & 7) << 3);
|
|
jArr[i] = (jArr[i] & (~j)) | j;
|
|
initializeGrowth();
|
|
}
|
|
|
|
private final void initializeStorage(int initialCapacity) {
|
|
int max = initialCapacity > 0 ? Math.max(7, ScatterMapKt.normalizeCapacity(initialCapacity)) : 0;
|
|
this._capacity = max;
|
|
initializeMetadata(max);
|
|
this.keys = new Object[max];
|
|
this.values = new float[max];
|
|
}
|
|
|
|
public final void adjustStorage$collection() {
|
|
if (this._capacity <= 8 || Long.compareUnsigned(DoubleList$$ExternalSyntheticOutline0.m(this._size, 32L), DoubleList$$ExternalSyntheticOutline0.m(this._capacity, 25L)) > 0) {
|
|
resizeStorage$collection(ScatterMapKt.nextCapacity(this._capacity));
|
|
} else {
|
|
dropDeletes$collection();
|
|
}
|
|
}
|
|
|
|
public final void clear() {
|
|
this._size = 0;
|
|
long[] jArr = this.metadata;
|
|
if (jArr != ScatterMapKt.EmptyGroup) {
|
|
ArraysKt___ArraysJvmKt.fill$default(jArr, -9187201950435737472L, 0, 0, 6, (Object) null);
|
|
long[] jArr2 = this.metadata;
|
|
int i = this._capacity;
|
|
int i2 = i >> 3;
|
|
long j = 255 << ((i & 7) << 3);
|
|
jArr2[i2] = (jArr2[i2] & (~j)) | j;
|
|
}
|
|
ArraysKt.fill(this.keys, (Object) null, 0, this._capacity);
|
|
initializeGrowth();
|
|
}
|
|
|
|
public final void dropDeletes$collection() {
|
|
long j;
|
|
long[] jArr = this.metadata;
|
|
int i = this._capacity;
|
|
Object[] objArr = this.keys;
|
|
float[] fArr = this.values;
|
|
int i2 = (i + 7) >> 3;
|
|
int i3 = 0;
|
|
for (int i4 = 0; i4 < i2; i4++) {
|
|
long j2 = jArr[i4] & (-9187201950435737472L);
|
|
jArr[i4] = (-72340172838076674L) & ((~j2) + (j2 >>> 7));
|
|
}
|
|
int lastIndex = ArraysKt.getLastIndex(jArr);
|
|
int i5 = lastIndex - 1;
|
|
long j3 = 72057594037927935L;
|
|
jArr[i5] = (jArr[i5] & 72057594037927935L) | (-72057594037927936L);
|
|
jArr[lastIndex] = jArr[0];
|
|
int i6 = 0;
|
|
while (i6 != i) {
|
|
int i7 = i6 >> 3;
|
|
int i8 = (i6 & 7) << 3;
|
|
long j4 = (jArr[i7] >> i8) & 255;
|
|
if (j4 != 128 && j4 == 254) {
|
|
Object obj = objArr[i6];
|
|
int hashCode = (obj != null ? obj.hashCode() : i3) * ScatterMapKt.MurmurHashC1;
|
|
int i9 = (hashCode ^ (hashCode << 16)) >>> 7;
|
|
int findFirstAvailableSlot = findFirstAvailableSlot(i9);
|
|
int i10 = i9 & i;
|
|
int i11 = i3;
|
|
if (((findFirstAvailableSlot - i10) & i) / 8 == ((i6 - i10) & i) / 8) {
|
|
jArr[i7] = ((r8 & 127) << i8) | ((~(255 << i8)) & jArr[i7]);
|
|
jArr[ArraysKt.getLastIndex(jArr)] = (jArr[i11] & j3) | Long.MIN_VALUE;
|
|
i6++;
|
|
i3 = i11;
|
|
} else {
|
|
int i12 = findFirstAvailableSlot >> 3;
|
|
long j5 = jArr[i12];
|
|
int i13 = (findFirstAvailableSlot & 7) << 3;
|
|
if (((j5 >> i13) & 255) == 128) {
|
|
j = j3;
|
|
jArr[i12] = ((r8 & 127) << i13) | (j5 & (~(255 << i13)));
|
|
jArr[i7] = (jArr[i7] & (~(255 << i8))) | (128 << i8);
|
|
objArr[findFirstAvailableSlot] = objArr[i6];
|
|
objArr[i6] = null;
|
|
fArr[findFirstAvailableSlot] = fArr[i6];
|
|
fArr[i6] = 0.0f;
|
|
} else {
|
|
j = j3;
|
|
jArr[i12] = ((r8 & 127) << i13) | (j5 & (~(255 << i13)));
|
|
Object obj2 = objArr[findFirstAvailableSlot];
|
|
objArr[findFirstAvailableSlot] = objArr[i6];
|
|
objArr[i6] = obj2;
|
|
float f = fArr[findFirstAvailableSlot];
|
|
fArr[findFirstAvailableSlot] = fArr[i6];
|
|
fArr[i6] = f;
|
|
i6--;
|
|
}
|
|
jArr[ArraysKt.getLastIndex(jArr)] = (jArr[i11] & j) | Long.MIN_VALUE;
|
|
i6++;
|
|
i3 = i11;
|
|
j3 = j;
|
|
}
|
|
} else {
|
|
i6++;
|
|
}
|
|
}
|
|
initializeGrowth();
|
|
}
|
|
|
|
public final float getOrPut(K key, @NotNull Function0<Float> defaultValue) {
|
|
defaultValue.getClass();
|
|
int findKeyIndex = findKeyIndex(key);
|
|
if (findKeyIndex >= 0) {
|
|
return this.values[findKeyIndex];
|
|
}
|
|
float floatValue = defaultValue.invoke().floatValue();
|
|
set(key, floatValue);
|
|
return floatValue;
|
|
}
|
|
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
public final void minusAssign(@NotNull ScatterSet<K> keys) {
|
|
keys.getClass();
|
|
Object[] objArr = keys.elements;
|
|
long[] jArr = keys.metadata;
|
|
int length = jArr.length - 2;
|
|
if (length < 0) {
|
|
return;
|
|
}
|
|
int i = 0;
|
|
while (true) {
|
|
long j = jArr[i];
|
|
if ((((~j) << 7) & j & (-9187201950435737472L)) != -9187201950435737472L) {
|
|
int i2 = 8 - ((~(i - length)) >>> 31);
|
|
for (int i3 = 0; i3 < i2; i3++) {
|
|
if ((255 & j) < 128) {
|
|
remove(objArr[(i << 3) + i3]);
|
|
}
|
|
j >>= 8;
|
|
}
|
|
if (i2 != 8) {
|
|
return;
|
|
}
|
|
}
|
|
if (i == length) {
|
|
return;
|
|
} else {
|
|
i++;
|
|
}
|
|
}
|
|
}
|
|
|
|
public final void plusAssign(@NotNull ObjectFloatMap<K> from) {
|
|
from.getClass();
|
|
putAll(from);
|
|
}
|
|
|
|
public final float put(K key, float value, float r5) {
|
|
int findIndex = findIndex(key);
|
|
if (findIndex < 0) {
|
|
findIndex = ~findIndex;
|
|
} else {
|
|
r5 = this.values[findIndex];
|
|
}
|
|
this.keys[findIndex] = key;
|
|
this.values[findIndex] = value;
|
|
return r5;
|
|
}
|
|
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
public final void putAll(@NotNull ObjectFloatMap<K> from) {
|
|
from.getClass();
|
|
Object[] objArr = from.keys;
|
|
float[] fArr = from.values;
|
|
long[] jArr = from.metadata;
|
|
int length = jArr.length - 2;
|
|
if (length < 0) {
|
|
return;
|
|
}
|
|
int i = 0;
|
|
while (true) {
|
|
long j = jArr[i];
|
|
if ((((~j) << 7) & j & (-9187201950435737472L)) != -9187201950435737472L) {
|
|
int i2 = 8 - ((~(i - length)) >>> 31);
|
|
for (int i3 = 0; i3 < i2; i3++) {
|
|
if ((255 & j) < 128) {
|
|
int i4 = (i << 3) + i3;
|
|
set(objArr[i4], fArr[i4]);
|
|
}
|
|
j >>= 8;
|
|
}
|
|
if (i2 != 8) {
|
|
return;
|
|
}
|
|
}
|
|
if (i == length) {
|
|
return;
|
|
} else {
|
|
i++;
|
|
}
|
|
}
|
|
}
|
|
|
|
public final boolean remove(K key, float value) {
|
|
int findKeyIndex = findKeyIndex(key);
|
|
if (findKeyIndex < 0 || this.values[findKeyIndex] != value) {
|
|
return false;
|
|
}
|
|
removeValueAt(findKeyIndex);
|
|
return true;
|
|
}
|
|
|
|
public final void removeIf(@NotNull Function2<? super K, ? super Float, Boolean> predicate) {
|
|
predicate.getClass();
|
|
long[] jArr = this.metadata;
|
|
int length = jArr.length - 2;
|
|
if (length < 0) {
|
|
return;
|
|
}
|
|
int i = 0;
|
|
while (true) {
|
|
long j = jArr[i];
|
|
if ((((~j) << 7) & j & (-9187201950435737472L)) != -9187201950435737472L) {
|
|
int i2 = 8 - ((~(i - length)) >>> 31);
|
|
for (int i3 = 0; i3 < i2; i3++) {
|
|
if ((255 & j) < 128) {
|
|
int i4 = (i << 3) + i3;
|
|
if (predicate.invoke(this.keys[i4], Float.valueOf(this.values[i4])).booleanValue()) {
|
|
removeValueAt(i4);
|
|
}
|
|
}
|
|
j >>= 8;
|
|
}
|
|
if (i2 != 8) {
|
|
return;
|
|
}
|
|
}
|
|
if (i == length) {
|
|
return;
|
|
} else {
|
|
i++;
|
|
}
|
|
}
|
|
}
|
|
|
|
@PublishedApi
|
|
public final void removeValueAt(int index) {
|
|
this._size--;
|
|
long[] jArr = this.metadata;
|
|
int i = this._capacity;
|
|
int i2 = index >> 3;
|
|
int i3 = (index & 7) << 3;
|
|
long j = (jArr[i2] & (~(255 << i3))) | (254 << i3);
|
|
jArr[i2] = j;
|
|
jArr[(((index - 7) & i) + (i & 7)) >> 3] = j;
|
|
this.keys[index] = null;
|
|
}
|
|
|
|
public final void resizeStorage$collection(int newCapacity) {
|
|
int i;
|
|
long[] jArr = this.metadata;
|
|
Object[] objArr = this.keys;
|
|
float[] fArr = this.values;
|
|
int i2 = this._capacity;
|
|
initializeStorage(newCapacity);
|
|
long[] jArr2 = this.metadata;
|
|
Object[] objArr2 = this.keys;
|
|
float[] fArr2 = this.values;
|
|
int i3 = this._capacity;
|
|
int i4 = 0;
|
|
while (i4 < i2) {
|
|
if (((jArr[i4 >> 3] >> ((i4 & 7) << 3)) & 255) < 128) {
|
|
Object obj = objArr[i4];
|
|
int hashCode = (obj != null ? obj.hashCode() : 0) * ScatterMapKt.MurmurHashC1;
|
|
int i5 = hashCode ^ (hashCode << 16);
|
|
int findFirstAvailableSlot = findFirstAvailableSlot(i5 >>> 7);
|
|
i = i4;
|
|
long j = i5 & 127;
|
|
int i6 = findFirstAvailableSlot >> 3;
|
|
int i7 = (findFirstAvailableSlot & 7) << 3;
|
|
long j2 = (j << i7) | (jArr2[i6] & (~(255 << i7)));
|
|
jArr2[i6] = j2;
|
|
jArr2[(((findFirstAvailableSlot - 7) & i3) + (i3 & 7)) >> 3] = j2;
|
|
objArr2[findFirstAvailableSlot] = obj;
|
|
fArr2[findFirstAvailableSlot] = fArr[i];
|
|
} else {
|
|
i = i4;
|
|
}
|
|
i4 = i + 1;
|
|
}
|
|
}
|
|
|
|
public final void set(K key, float value) {
|
|
int findIndex = findIndex(key);
|
|
if (findIndex < 0) {
|
|
findIndex = ~findIndex;
|
|
}
|
|
this.keys[findIndex] = key;
|
|
this.values[findIndex] = value;
|
|
}
|
|
|
|
public final int trim() {
|
|
int i = this._capacity;
|
|
int normalizeCapacity = ScatterMapKt.normalizeCapacity(ScatterMapKt.unloadedCapacity(this._size));
|
|
if (normalizeCapacity >= i) {
|
|
return 0;
|
|
}
|
|
resizeStorage$collection(normalizeCapacity);
|
|
return i - this._capacity;
|
|
}
|
|
|
|
public final void put(K key, float value) {
|
|
set(key, value);
|
|
}
|
|
|
|
public final void remove(K key) {
|
|
int findKeyIndex = findKeyIndex(key);
|
|
if (findKeyIndex >= 0) {
|
|
removeValueAt(findKeyIndex);
|
|
}
|
|
}
|
|
|
|
public /* synthetic */ MutableObjectFloatMap(int i, int i2, DefaultConstructorMarker defaultConstructorMarker) {
|
|
this((i2 & 1) != 0 ? 6 : i);
|
|
}
|
|
|
|
public MutableObjectFloatMap() {
|
|
this(0, 1, null);
|
|
}
|
|
|
|
public final void minusAssign(@NotNull K[] keys) {
|
|
keys.getClass();
|
|
for (K k : keys) {
|
|
remove(k);
|
|
}
|
|
}
|
|
|
|
public final void minusAssign(@NotNull Iterable<? extends K> keys) {
|
|
keys.getClass();
|
|
Iterator<? extends K> it2 = keys.iterator();
|
|
while (it2.hasNext()) {
|
|
remove(it2.next());
|
|
}
|
|
}
|
|
|
|
public final void minusAssign(@NotNull Sequence<? extends K> keys) {
|
|
keys.getClass();
|
|
Iterator<? extends K> it2 = keys.iterator();
|
|
while (it2.hasNext()) {
|
|
remove(it2.next());
|
|
}
|
|
}
|
|
|
|
public final void minusAssign(K key) {
|
|
remove(key);
|
|
}
|
|
}
|