alexandroid/decompiled/jadx/sources/androidx/compose/ui/node/IntStack.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

122 lines
5.7 KiB
Java

package androidx.compose.ui.node;
import androidx.compose.ui.internal.InlineClassHelperKt;
import com.dee.app.metrics.MetricsConstants;
import java.util.Arrays;
import kotlin.Metadata;
import kotlin.jvm.internal.SourceDebugExtension;
import org.jetbrains.annotations.NotNull;
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
@Metadata(d1 = {"\u0000*\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0003\n\u0002\u0010\u0015\n\u0002\b\b\n\u0002\u0010\u0002\n\u0002\b\t\n\u0002\u0010\u000b\n\u0002\b\r\b\u0002\u0018\u00002\u00020\u0001B\u000f\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0004\b\u0004\u0010\u0005J\u0011\u0010\t\u001a\u00020\u00032\u0006\u0010\n\u001a\u00020\u0003H\u0086\u0002J\u0010\u0010\u000e\u001a\u00020\u00072\u0006\u0010\u0006\u001a\u00020\u0007H\u0002J&\u0010\u000f\u001a\u00020\u00102\u0006\u0010\u0011\u001a\u00020\u00032\u0006\u0010\u0012\u001a\u00020\u00032\u0006\u0010\u0013\u001a\u00020\u00032\u0006\u0010\u0014\u001a\u00020\u0003J\u001e\u0010\u0015\u001a\u00020\u00102\u0006\u0010\u0016\u001a\u00020\u00032\u0006\u0010\u0017\u001a\u00020\u00032\u0006\u0010\u000b\u001a\u00020\u0003J\u0006\u0010\u0018\u001a\u00020\u0003J\u0006\u0010\u0019\u001a\u00020\u001aJ\u0006\u0010\u001b\u001a\u00020\u0010J \u0010\u001c\u001a\u00020\u00102\u0006\u0010\u001d\u001a\u00020\u00032\u0006\u0010\u001e\u001a\u00020\u00032\u0006\u0010\u001f\u001a\u00020\u0003H\u0002J \u0010 \u001a\u00020\u00032\u0006\u0010\u001d\u001a\u00020\u00032\u0006\u0010\u001e\u001a\u00020\u00032\u0006\u0010\u001f\u001a\u00020\u0003H\u0002J\u0018\u0010!\u001a\u00020\u00102\u0006\u0010\"\u001a\u00020\u00032\u0006\u0010#\u001a\u00020\u0003H\u0002J\u0018\u0010$\u001a\u00020\u001a2\u0006\u0010%\u001a\u00020\u00032\u0006\u0010&\u001a\u00020\u0003H\u0002R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\u0003X\u0082\u000e¢\u0006\u0002\n\u0000R\u0011\u0010\u000b\u001a\u00020\u00038F¢\u0006\u0006\u001a\u0004\b\f\u0010\r¨\u0006'"}, d2 = {"Landroidx/compose/ui/node/IntStack;", "", "initialCapacity", "", "<init>", "(I)V", "stack", "", "lastIndex", MetricsConstants.Method.CACHE_GET, "index", "size", "getSize", "()I", "resizeStack", "pushRange", "", "oldStart", "oldEnd", "newStart", "newEnd", "pushDiagonal", "x", "y", "pop", "isNotEmpty", "", "sortDiagonals", "quickSort", "start", "end", "elSize", "partition", "swapDiagonal", "i", "j", "compareDiagonal", "a", "b", "ui_release"}, k = 1, mv = {2, 0, 0}, xi = 48)
@SourceDebugExtension({"SMAP\nMyersDiff.kt\nKotlin\n*S Kotlin\n*F\n+ 1 MyersDiff.kt\nandroidx/compose/ui/node/IntStack\n+ 2 InlineClassHelper.kt\nandroidx/compose/ui/internal/InlineClassHelperKt\n*L\n1#1,488:1\n57#2,4:489\n*S KotlinDebug\n*F\n+ 1 MyersDiff.kt\nandroidx/compose/ui/node/IntStack\n*L\n440#1:489,4\n*E\n"})
/* loaded from: classes13.dex */
final class IntStack {
private int lastIndex;
@NotNull
private int[] stack;
public IntStack(int i) {
this.stack = new int[i];
}
private final boolean compareDiagonal(int a2, int b) {
int[] iArr = this.stack;
int i = iArr[a2];
int i2 = iArr[b];
return i < i2 || (i == i2 && iArr[a2 + 1] <= iArr[b + 1]);
}
private final int partition(int start, int end, int elSize) {
int i = start - elSize;
while (start < end) {
if (compareDiagonal(start, end)) {
i += elSize;
swapDiagonal(i, start);
}
start += elSize;
}
int i2 = i + elSize;
swapDiagonal(i2, end);
return i2;
}
private final void quickSort(int start, int end, int elSize) {
if (start < end) {
int partition = partition(start, end, elSize);
quickSort(start, partition - elSize, elSize);
quickSort(partition + elSize, end, elSize);
}
}
private final int[] resizeStack(int[] stack) {
int[] copyOf = Arrays.copyOf(stack, stack.length * 2);
this.stack = copyOf;
return copyOf;
}
private final void swapDiagonal(int i, int j) {
int[] iArr = this.stack;
MyersDiffKt.swap(iArr, i, j);
MyersDiffKt.swap(iArr, i + 1, j + 1);
MyersDiffKt.swap(iArr, i + 2, j + 2);
}
public final int get(int index) {
return this.stack[index];
}
/* renamed from: getSize, reason: from getter */
public final int getLastIndex() {
return this.lastIndex;
}
public final boolean isNotEmpty() {
return this.lastIndex != 0;
}
public final int pop() {
int[] iArr = this.stack;
int i = this.lastIndex - 1;
this.lastIndex = i;
return iArr[i];
}
public final void pushDiagonal(int x, int y, int size) {
int i = this.lastIndex;
int[] iArr = this.stack;
int i2 = i + 3;
if (i2 >= iArr.length) {
iArr = resizeStack(iArr);
}
iArr[i] = x + size;
iArr[i + 1] = y + size;
iArr[i + 2] = size;
this.lastIndex = i2;
}
public final void pushRange(int oldStart, int oldEnd, int newStart, int newEnd) {
int i = this.lastIndex;
int[] iArr = this.stack;
int i2 = i + 4;
if (i2 >= iArr.length) {
iArr = resizeStack(iArr);
}
iArr[i] = oldStart;
iArr[i + 1] = oldEnd;
iArr[i + 2] = newStart;
iArr[i + 3] = newEnd;
this.lastIndex = i2;
}
public final void sortDiagonals() {
int i = this.lastIndex;
if (!(i % 3 == 0)) {
InlineClassHelperKt.throwIllegalStateException("Array size not a multiple of 3");
}
if (i > 3) {
quickSort(0, i - 3, 3);
}
}
}