alexandroid/decompiled/jadx/sources/androidx/collection/MutableFloatObjectMap.java
KaKi87 a47fad5135 📦 Add decompiled Alexa 2.2.730155.0 (jadx, apktool, Hermes strings)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 00:04:16 +01:00

633 lines
29 KiB
Java

package androidx.collection;
import androidx.collection.internal.RuntimeHelpersKt;
import androidx.exifinterface.media.ExifInterface;
import com.amazon.clouddrive.extended.model.BulkOperationType;
import com.dee.app.metrics.MetricsConstants;
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.SourceDebugExtension;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
@Metadata(d1 = {"\u0000L\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\u0006\n\u0002\u0010\u0007\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0014\n\u0002\b\b\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\n\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\u000fH\u0002J\u0010\u0010\u0010\u001a\u00020\u00042\u0006\u0010\u0011\u001a\u00020\u0004H\u0002J'\u0010\u0012\u001a\u00028\u00002\u0006\u0010\u000e\u001a\u00020\u000f2\f\u0010\u0013\u001a\b\u0012\u0004\u0012\u00028\u00000\u0014H\u0086\bø\u0001\u0000¢\u0006\u0002\u0010\u0015J\b\u0010\u0016\u001a\u00020\bH\u0002J\u0010\u0010\u0017\u001a\u00020\b2\u0006\u0010\u0018\u001a\u00020\u0004H\u0002J\u0010\u0010\u0019\u001a\u00020\b2\u0006\u0010\u0003\u001a\u00020\u0004H\u0002J\u0011\u0010\u001a\u001a\u00020\b2\u0006\u0010\u001b\u001a\u00020\u001cH\u0086\nJ\u0011\u0010\u001a\u001a\u00020\b2\u0006\u0010\u001b\u001a\u00020\u001dH\u0086\nJ\u0011\u0010\u001a\u001a\u00020\b2\u0006\u0010\u000e\u001a\u00020\u000fH\u0086\nJ\u0011\u0010\u001a\u001a\u00020\b2\u0006\u0010\u001b\u001a\u00020\u001eH\u0086\nJ\u0017\u0010\u001f\u001a\u00020\b2\f\u0010 \u001a\b\u0012\u0004\u0012\u00028\u00000\u0002H\u0086\nJ\u001d\u0010!\u001a\u0004\u0018\u00018\u00002\u0006\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\"\u001a\u00028\u0000¢\u0006\u0002\u0010#J\u0014\u0010$\u001a\u00020\b2\f\u0010 \u001a\b\u0012\u0004\u0012\u00028\u00000\u0002J\u0015\u0010%\u001a\u0004\u0018\u00018\u00002\u0006\u0010\u000e\u001a\u00020\u000f¢\u0006\u0002\u0010&J\u001b\u0010%\u001a\u00020'2\u0006\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\"\u001a\u00028\u0000¢\u0006\u0002\u0010(J&\u0010)\u001a\u00020\b2\u0018\u0010*\u001a\u0014\u0012\u0004\u0012\u00020\u000f\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00020'0+H\u0086\bø\u0001\u0000J\u0017\u0010,\u001a\u0004\u0018\u00018\u00002\u0006\u0010-\u001a\u00020\u0004H\u0001¢\u0006\u0002\u0010.J\u0015\u0010/\u001a\u00020\b2\u0006\u00100\u001a\u00020\u0004H\u0000¢\u0006\u0002\b1J\u001e\u00102\u001a\u00020\b2\u0006\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\"\u001a\u00028\u0000H\u0086\u0002¢\u0006\u0002\u00103J\u0006\u00104\u001a\u00020\u0004R\u000e\u0010\u0006\u001a\u00020\u0004X\u0082\u000e¢\u0006\u0002\n\u0000\u0082\u0002\u0007\n\u0005\b\u009920\u0001¨\u00065"}, d2 = {"Landroidx/collection/MutableFloatObjectMap;", ExifInterface.GPS_MEASUREMENT_INTERRUPTED, "Landroidx/collection/FloatObjectMap;", "initialCapacity", "", "(I)V", "growthLimit", "adjustStorage", "", "adjustStorage$collection", MetricsConstants.Method.CACHE_CLEAR, "dropDeletes", "dropDeletes$collection", "findAbsoluteInsertIndex", "key", "", "findFirstAvailableSlot", "hash1", "getOrPut", "defaultValue", "Lkotlin/Function0;", "(FLkotlin/jvm/functions/Function0;)Ljava/lang/Object;", "initializeGrowth", "initializeMetadata", "capacity", "initializeStorage", "minusAssign", "keys", "Landroidx/collection/FloatList;", "Landroidx/collection/FloatSet;", "", "plusAssign", "from", MetricsConstants.Method.CACHE_PUT, "value", "(FLjava/lang/Object;)Ljava/lang/Object;", "putAll", BulkOperationType.remove, "(F)Ljava/lang/Object;", "", "(FLjava/lang/Object;)Z", "removeIf", "predicate", "Lkotlin/Function2;", "removeValueAt", "index", "(I)Ljava/lang/Object;", "resizeStorage", "newCapacity", "resizeStorage$collection", "set", "(FLjava/lang/Object;)V", "trim", "collection"}, k = 1, mv = {1, 9, 0}, xi = 48)
@SourceDebugExtension({"SMAP\nFloatObjectMap.kt\nKotlin\n*S Kotlin\n*F\n+ 1 FloatObjectMap.kt\nandroidx/collection/MutableFloatObjectMap\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 FloatObjectMap.kt\nandroidx/collection/FloatObjectMap\n+ 6 FloatSet.kt\nandroidx/collection/FloatSetKt\n+ 7 FloatSet.kt\nandroidx/collection/FloatSet\n+ 8 FloatList.kt\nandroidx/collection/FloatList\n*L\n1#1,1017:1\n757#1,2:1173\n757#1,2:1186\n59#2,5:1018\n1#3:1023\n1254#4,6:1024\n1399#4:1040\n1270#4:1044\n1179#4:1060\n1175#4:1063\n1372#4,3:1068\n1386#4,3:1072\n1312#4:1076\n1303#4:1078\n1297#4:1079\n1309#4:1084\n1393#4:1086\n1179#4:1100\n1175#4:1103\n1372#4,3:1108\n1386#4,3:1112\n1312#4:1116\n1303#4:1118\n1297#4:1119\n1309#4:1124\n1393#4:1126\n1399#4:1141\n1270#4:1145\n1399#4:1166\n1270#4:1170\n1230#4:1189\n1254#4,6:1190\n1242#4:1196\n1241#4,4:1197\n1254#4,6:1201\n1175#4:1210\n1179#4:1211\n1372#4,3:1212\n1386#4,3:1215\n1312#4:1218\n1303#4:1219\n1297#4:1220\n1309#4:1221\n1393#4:1222\n1265#4:1223\n1220#4:1224\n1262#4:1225\n1220#4:1226\n1230#4:1227\n1254#4,6:1228\n1242#4:1234\n1241#4,4:1235\n1372#4,3:1239\n1399#4:1242\n1297#4:1243\n1144#4,14:1244\n1220#4:1258\n1175#4:1262\n1179#4:1263\n1254#4,6:1264\n1220#4:1270\n1179#4:1271\n1254#4,6:1272\n1254#4,6:1278\n1179#4:1284\n1254#4,6:1285\n1268#4:1291\n1220#4:1292\n1175#4:1296\n1179#4:1297\n1230#4:1298\n1254#4,6:1299\n1242#4:1305\n1241#4,4:1306\n382#5,4:1030\n354#5,6:1034\n364#5,3:1041\n367#5,9:1045\n386#5:1054\n577#5:1055\n578#5:1059\n580#5,2:1061\n582#5,4:1064\n586#5:1071\n587#5:1075\n588#5:1077\n589#5,4:1080\n595#5:1085\n596#5,8:1087\n577#5:1095\n578#5:1099\n580#5,2:1101\n582#5,4:1104\n586#5:1111\n587#5:1115\n588#5:1117\n589#5,4:1120\n595#5:1125\n596#5,8:1127\n354#5,6:1135\n364#5,3:1142\n367#5,9:1146\n882#6,3:1056\n882#6,3:1096\n882#6,3:1207\n882#6,3:1259\n882#6,3:1293\n257#7,4:1155\n227#7,7:1159\n238#7,3:1167\n241#7,2:1171\n244#7,6:1175\n261#7:1181\n237#8,4:1182\n242#8:1188\n*S KotlinDebug\n*F\n+ 1 FloatObjectMap.kt\nandroidx/collection/MutableFloatObjectMap\n*L\n769#1:1173,2\n774#1:1186,2\n637#1:1018,5\n665#1:1024,6\n712#1:1040\n712#1:1044\n723#1:1060\n723#1:1063\n723#1:1068,3\n723#1:1072,3\n723#1:1076\n723#1:1078\n723#1:1079\n723#1:1084\n723#1:1086\n735#1:1100\n735#1:1103\n735#1:1108,3\n735#1:1112,3\n735#1:1116\n735#1:1118\n735#1:1119\n735#1:1124\n735#1:1126\n747#1:1141\n747#1:1145\n769#1:1166\n769#1:1170\n783#1:1189\n783#1:1190,6\n783#1:1196\n783#1:1197,4\n795#1:1201,6\n809#1:1210\n810#1:1211\n817#1:1212,3\n818#1:1215,3\n819#1:1218\n820#1:1219\n820#1:1220\n824#1:1221\n827#1:1222\n836#1:1223\n836#1:1224\n842#1:1225\n842#1:1226\n843#1:1227\n843#1:1228,6\n843#1:1234\n843#1:1235,4\n858#1:1239,3\n859#1:1242\n861#1:1243\n907#1:1244,14\n913#1:1258\n928#1:1262\n939#1:1263\n940#1:1264,6\n950#1:1270\n953#1:1271\n954#1:1272,6\n955#1:1278,6\n965#1:1284\n966#1:1285,6\n1005#1:1291\n1005#1:1292\n1008#1:1296\n1010#1:1297\n1010#1:1298\n1010#1:1299,6\n1010#1:1305\n1010#1:1306,4\n712#1:1030,4\n712#1:1034,6\n712#1:1041,3\n712#1:1045,9\n712#1:1054\n723#1:1055\n723#1:1059\n723#1:1061,2\n723#1:1064,4\n723#1:1071\n723#1:1075\n723#1:1077\n723#1:1080,4\n723#1:1085\n723#1:1087,8\n735#1:1095\n735#1:1099\n735#1:1101,2\n735#1:1104,4\n735#1:1111\n735#1:1115\n735#1:1117\n735#1:1120,4\n735#1:1125\n735#1:1127,8\n747#1:1135,6\n747#1:1142,3\n747#1:1146,9\n723#1:1056,3\n735#1:1096,3\n808#1:1207,3\n927#1:1259,3\n1007#1:1293,3\n769#1:1155,4\n769#1:1159,7\n769#1:1167,3\n769#1:1171,2\n769#1:1175,6\n769#1:1181\n774#1:1182,4\n774#1:1188\n*E\n"})
/* loaded from: classes.dex */
public final class MutableFloatObjectMap<V> extends FloatObjectMap<V> {
private int growthLimit;
public MutableFloatObjectMap(int i) {
super(null);
if (!(i >= 0)) {
RuntimeHelpersKt.throwIllegalArgumentException("Capacity must be a positive value.");
}
initializeStorage(ScatterMapKt.unloadedCapacity(i));
}
private final int findAbsoluteInsertIndex(float key) {
int hashCode = Float.hashCode(key) * 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 = i6;
long j3 = j ^ (j2 * ScatterMapKt.BitmaskLsb);
for (long j4 = (~j3) & (j3 - ScatterMapKt.BitmaskLsb) & (-9187201950435737472L); j4 != 0; j4 &= j4 - 1) {
int numberOfTrailingZeros = ((Long.numberOfTrailingZeros(j4) >> 3) + i5) & i4;
if (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 = i9 + 8;
i5 = (i5 + i6) & i4;
}
}
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 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 float[max];
this.values = new Object[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.values, (Object) null, 0, this._capacity);
initializeGrowth();
}
public final void dropDeletes$collection() {
long j;
long[] jArr = this.metadata;
int i = this._capacity;
float[] fArr = this.keys;
Object[] objArr = this.values;
int i2 = (i + 7) >> 3;
boolean z = false;
for (int i3 = 0; i3 < i2; i3++) {
long j2 = jArr[i3] & (-9187201950435737472L);
jArr[i3] = (-72340172838076674L) & ((~j2) + (j2 >>> 7));
}
int lastIndex = ArraysKt.getLastIndex(jArr);
int i4 = lastIndex - 1;
long j3 = 72057594037927935L;
jArr[i4] = (jArr[i4] & 72057594037927935L) | (-72057594037927936L);
jArr[lastIndex] = jArr[0];
int i5 = 0;
while (i5 != i) {
int i6 = i5 >> 3;
int i7 = (i5 & 7) << 3;
long j4 = (jArr[i6] >> i7) & 255;
if (j4 != 128 && j4 == 254) {
int hashCode = Float.hashCode(fArr[i5]) * ScatterMapKt.MurmurHashC1;
int i8 = (hashCode ^ (hashCode << 16)) >>> 7;
int findFirstAvailableSlot = findFirstAvailableSlot(i8);
int i9 = i8 & i;
boolean z2 = z;
if (((findFirstAvailableSlot - i9) & i) / 8 == ((i5 - i9) & i) / 8) {
jArr[i6] = ((r8 & 127) << i7) | ((~(255 << i7)) & jArr[i6]);
jArr[ArraysKt.getLastIndex(jArr)] = (jArr[z2 ? 1 : 0] & j3) | Long.MIN_VALUE;
i5++;
z = z2 ? 1 : 0;
} else {
int i10 = findFirstAvailableSlot >> 3;
long j5 = jArr[i10];
int i11 = (findFirstAvailableSlot & 7) << 3;
if (((j5 >> i11) & 255) == 128) {
j = j3;
jArr[i10] = ((r8 & 127) << i11) | (j5 & (~(255 << i11)));
jArr[i6] = (jArr[i6] & (~(255 << i7))) | (128 << i7);
fArr[findFirstAvailableSlot] = fArr[i5];
fArr[i5] = 0.0f;
objArr[findFirstAvailableSlot] = objArr[i5];
objArr[i5] = null;
} else {
j = j3;
jArr[i10] = ((r8 & 127) << i11) | (j5 & (~(255 << i11)));
float f = fArr[findFirstAvailableSlot];
fArr[findFirstAvailableSlot] = fArr[i5];
fArr[i5] = f;
Object obj = objArr[findFirstAvailableSlot];
objArr[findFirstAvailableSlot] = objArr[i5];
objArr[i5] = obj;
i5--;
}
jArr[ArraysKt.getLastIndex(jArr)] = (jArr[z2 ? 1 : 0] & j) | Long.MIN_VALUE;
i5++;
z = z2 ? 1 : 0;
j3 = j;
}
} else {
i5++;
}
}
initializeGrowth();
}
public final V getOrPut(float key, @NotNull Function0<? extends V> defaultValue) {
defaultValue.getClass();
V v = get(key);
if (v != null) {
return v;
}
V invoke = defaultValue.invoke();
set(key, invoke);
return invoke;
}
public final void minusAssign(@NotNull FloatSet keys) {
keys.getClass();
float[] fArr = 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(fArr[(i << 3) + i3]);
}
j >>= 8;
}
if (i2 != 8) {
return;
}
}
if (i == length) {
return;
} else {
i++;
}
}
}
public final void plusAssign(@NotNull FloatObjectMap<V> from) {
from.getClass();
putAll(from);
}
@Nullable
public final V put(float key, V value) {
int findAbsoluteInsertIndex = findAbsoluteInsertIndex(key);
Object[] objArr = this.values;
V v = (V) objArr[findAbsoluteInsertIndex];
this.keys[findAbsoluteInsertIndex] = key;
objArr[findAbsoluteInsertIndex] = value;
return v;
}
/* JADX WARN: Multi-variable type inference failed */
public final void putAll(@NotNull FloatObjectMap<V> from) {
from.getClass();
float[] fArr = from.keys;
Object[] objArr = 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(fArr[i4], objArr[i4]);
}
j >>= 8;
}
if (i2 != 8) {
return;
}
}
if (i == length) {
return;
} else {
i++;
}
}
}
/* JADX WARN: Code restructure failed: missing block: B:18:0x0065, code lost:
if (((r6 & ((~r6) << 6)) & (-9187201950435737472L)) == 0) goto L19;
*/
/* JADX WARN: Code restructure failed: missing block: B:21:0x0067, code lost:
r10 = -1;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public final boolean remove(float r17, V r18) {
/*
r16 = this;
r0 = r16
int r1 = java.lang.Float.hashCode(r17)
r2 = -862048943(0xffffffffcc9e2d51, float:-8.293031E7)
int r1 = r1 * r2
int r2 = r1 << 16
r1 = r1 ^ r2
r2 = r1 & 127(0x7f, float:1.78E-43)
int r3 = r0._capacity
int r1 = r1 >>> 7
r1 = r1 & r3
r4 = 0
r5 = r4
L16:
long[] r6 = r0.metadata
int r7 = r1 >> 3
r8 = r1 & 7
int r8 = r8 << 3
r9 = r6[r7]
long r9 = r9 >>> r8
r11 = 1
int r7 = r7 + r11
r6 = r6[r7]
int r12 = 64 - r8
long r6 = r6 << r12
long r12 = (long) r8
long r12 = -r12
r8 = 63
long r12 = r12 >> r8
long r6 = r6 & r12
long r6 = r6 | r9
long r8 = (long) r2
r12 = 72340172838076673(0x101010101010101, double:7.748604185489348E-304)
long r8 = r8 * r12
long r8 = r8 ^ r6
long r12 = r8 - r12
long r8 = ~r8
long r8 = r8 & r12
r12 = -9187201950435737472(0x8080808080808080, double:-2.937446524422997E-306)
long r8 = r8 & r12
L41:
r14 = 0
int r10 = (r8 > r14 ? 1 : (r8 == r14 ? 0 : -1))
if (r10 == 0) goto L5e
int r10 = java.lang.Long.numberOfTrailingZeros(r8)
int r10 = r10 >> 3
int r10 = r10 + r1
r10 = r10 & r3
float[] r14 = r0.keys
r14 = r14[r10]
int r14 = (r14 > r17 ? 1 : (r14 == r17 ? 0 : -1))
if (r14 != 0) goto L58
goto L68
L58:
r14 = 1
long r14 = r8 - r14
long r8 = r8 & r14
goto L41
L5e:
long r8 = ~r6
r10 = 6
long r8 = r8 << r10
long r6 = r6 & r8
long r6 = r6 & r12
int r6 = (r6 > r14 ? 1 : (r6 == r14 ? 0 : -1))
if (r6 == 0) goto L7b
r10 = -1
L68:
if (r10 < 0) goto L7a
java.lang.Object[] r1 = r0.values
r1 = r1[r10]
r6 = r18
boolean r1 = kotlin.jvm.internal.Intrinsics.areEqual(r1, r6)
if (r1 == 0) goto L7a
r0.removeValueAt(r10)
return r11
L7a:
return r4
L7b:
r6 = r18
int r5 = r5 + 8
int r1 = r1 + r5
r1 = r1 & r3
goto L16
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.collection.MutableFloatObjectMap.remove(float, java.lang.Object):boolean");
}
public final void removeIf(@NotNull Function2<? super Float, ? super V, 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(Float.valueOf(this.keys[i4]), this.values[i4]).booleanValue()) {
removeValueAt(i4);
}
}
j >>= 8;
}
if (i2 != 8) {
return;
}
}
if (i == length) {
return;
} else {
i++;
}
}
}
@PublishedApi
@Nullable
public final V 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;
Object[] objArr = this.values;
V v = (V) objArr[index];
objArr[index] = null;
return v;
}
public final void resizeStorage$collection(int newCapacity) {
long[] jArr;
MutableFloatObjectMap<V> mutableFloatObjectMap = this;
long[] jArr2 = mutableFloatObjectMap.metadata;
float[] fArr = mutableFloatObjectMap.keys;
Object[] objArr = mutableFloatObjectMap.values;
int i = mutableFloatObjectMap._capacity;
initializeStorage(newCapacity);
long[] jArr3 = mutableFloatObjectMap.metadata;
float[] fArr2 = mutableFloatObjectMap.keys;
Object[] objArr2 = mutableFloatObjectMap.values;
int i2 = mutableFloatObjectMap._capacity;
int i3 = 0;
while (i3 < i) {
if (((jArr2[i3 >> 3] >> ((i3 & 7) << 3)) & 255) < 128) {
float f = fArr[i3];
int hashCode = Float.hashCode(f) * ScatterMapKt.MurmurHashC1;
int i4 = hashCode ^ (hashCode << 16);
int findFirstAvailableSlot = mutableFloatObjectMap.findFirstAvailableSlot(i4 >>> 7);
long j = i4 & 127;
int i5 = findFirstAvailableSlot >> 3;
int i6 = (findFirstAvailableSlot & 7) << 3;
jArr = jArr2;
long j2 = (jArr3[i5] & (~(255 << i6))) | (j << i6);
jArr3[i5] = j2;
jArr3[(((findFirstAvailableSlot - 7) & i2) + (i2 & 7)) >> 3] = j2;
fArr2[findFirstAvailableSlot] = f;
objArr2[findFirstAvailableSlot] = objArr[i3];
} else {
jArr = jArr2;
}
i3++;
mutableFloatObjectMap = this;
jArr2 = jArr;
}
}
public final void set(float key, V value) {
int findAbsoluteInsertIndex = findAbsoluteInsertIndex(key);
this.keys[findAbsoluteInsertIndex] = key;
this.values[findAbsoluteInsertIndex] = 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 /* synthetic */ MutableFloatObjectMap(int i, int i2, DefaultConstructorMarker defaultConstructorMarker) {
this((i2 & 1) != 0 ? 6 : i);
}
public MutableFloatObjectMap() {
this(0, 1, null);
}
public final void minusAssign(@NotNull float[] keys) {
keys.getClass();
for (float f : keys) {
remove(f);
}
}
public final void minusAssign(float key) {
remove(key);
}
public final void minusAssign(@NotNull FloatList keys) {
keys.getClass();
float[] fArr = keys.content;
int i = keys._size;
for (int i2 = 0; i2 < i; i2++) {
remove(fArr[i2]);
}
}
/* JADX WARN: Code restructure failed: missing block: B:16:0x0062, code lost:
if (((r4 & ((~r4) << 6)) & (-9187201950435737472L)) == 0) goto L18;
*/
/* JADX WARN: Code restructure failed: missing block: B:19:0x0064, code lost:
r10 = -1;
*/
@org.jetbrains.annotations.Nullable
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public final V remove(float r14) {
/*
r13 = this;
int r0 = java.lang.Float.hashCode(r14)
r1 = -862048943(0xffffffffcc9e2d51, float:-8.293031E7)
int r0 = r0 * r1
int r1 = r0 << 16
r0 = r0 ^ r1
r1 = r0 & 127(0x7f, float:1.78E-43)
int r2 = r13._capacity
int r0 = r0 >>> 7
r0 = r0 & r2
r3 = 0
L13:
long[] r4 = r13.metadata
int r5 = r0 >> 3
r6 = r0 & 7
int r6 = r6 << 3
r7 = r4[r5]
long r7 = r7 >>> r6
int r5 = r5 + 1
r4 = r4[r5]
int r9 = 64 - r6
long r4 = r4 << r9
long r9 = (long) r6
long r9 = -r9
r6 = 63
long r9 = r9 >> r6
long r4 = r4 & r9
long r4 = r4 | r7
long r6 = (long) r1
r8 = 72340172838076673(0x101010101010101, double:7.748604185489348E-304)
long r6 = r6 * r8
long r6 = r6 ^ r4
long r8 = r6 - r8
long r6 = ~r6
long r6 = r6 & r8
r8 = -9187201950435737472(0x8080808080808080, double:-2.937446524422997E-306)
long r6 = r6 & r8
L3e:
r10 = 0
int r12 = (r6 > r10 ? 1 : (r6 == r10 ? 0 : -1))
if (r12 == 0) goto L5b
int r10 = java.lang.Long.numberOfTrailingZeros(r6)
int r10 = r10 >> 3
int r10 = r10 + r0
r10 = r10 & r2
float[] r11 = r13.keys
r11 = r11[r10]
int r11 = (r11 > r14 ? 1 : (r11 == r14 ? 0 : -1))
if (r11 != 0) goto L55
goto L65
L55:
r10 = 1
long r10 = r6 - r10
long r6 = r6 & r10
goto L3e
L5b:
long r6 = ~r4
r12 = 6
long r6 = r6 << r12
long r4 = r4 & r6
long r4 = r4 & r8
int r4 = (r4 > r10 ? 1 : (r4 == r10 ? 0 : -1))
if (r4 == 0) goto L6e
r10 = -1
L65:
if (r10 < 0) goto L6c
java.lang.Object r13 = r13.removeValueAt(r10)
return r13
L6c:
r13 = 0
return r13
L6e:
int r3 = r3 + 8
int r0 = r0 + r3
r0 = r0 & r2
goto L13
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.collection.MutableFloatObjectMap.remove(float):java.lang.Object");
}
}