103 lines
4.3 KiB
Java
103 lines
4.3 KiB
Java
package kotlin.ranges;
|
|
|
|
import java.util.Iterator;
|
|
import java.util.NoSuchElementException;
|
|
import kotlin.Metadata;
|
|
import kotlin.ULong;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.jvm.internal.markers.KMappedMarker;
|
|
|
|
/* compiled from: ULongRange.kt */
|
|
@Metadata(d1 = {"\u0000 \n\u0002\u0018\u0002\n\u0002\u0010(\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\t\n\u0002\b\u0004\n\u0002\u0010\u000b\n\u0002\b\u0004\b\u0003\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001B \u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0006ø\u0001\u0000¢\u0006\u0002\u0010\u0007J\t\u0010\n\u001a\u00020\u000bH\u0096\u0002J\u0016\u0010\f\u001a\u00020\u0002H\u0096\u0002ø\u0001\u0001ø\u0001\u0000¢\u0006\u0004\b\r\u0010\u000eR\u0016\u0010\b\u001a\u00020\u0002X\u0082\u0004ø\u0001\u0000ø\u0001\u0001¢\u0006\u0004\n\u0002\u0010\tR\u000e\u0010\n\u001a\u00020\u000bX\u0082\u000e¢\u0006\u0002\n\u0000R\u0016\u0010\f\u001a\u00020\u0002X\u0082\u000eø\u0001\u0000ø\u0001\u0001¢\u0006\u0004\n\u0002\u0010\tR\u0016\u0010\u0005\u001a\u00020\u0002X\u0082\u0004ø\u0001\u0000ø\u0001\u0001¢\u0006\u0004\n\u0002\u0010\tø\u0001\u0000\u0082\u0002\b\n\u0002\b\u0019\n\u0002\b!¨\u0006\u000f"}, d2 = {"Lkotlin/ranges/ULongProgressionIterator;", "", "Lkotlin/ULong;", "first", "last", "step", "", "(JJJLkotlin/jvm/internal/DefaultConstructorMarker;)V", "finalElement", "J", "hasNext", "", "next", "next-s-VKNKU", "()J", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
|
/* loaded from: classes.dex */
|
|
final class ULongProgressionIterator implements Iterator<ULong>, KMappedMarker {
|
|
private final long finalElement;
|
|
private boolean hasNext;
|
|
private long next;
|
|
private final long step;
|
|
|
|
public /* synthetic */ ULongProgressionIterator(long j, long j2, long j3, DefaultConstructorMarker defaultConstructorMarker) {
|
|
this(j, j2, j3);
|
|
}
|
|
|
|
@Override // java.util.Iterator
|
|
public boolean hasNext() {
|
|
return this.hasNext;
|
|
}
|
|
|
|
@Override // java.util.Iterator
|
|
public void remove() {
|
|
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:13:0x0018, code lost:
|
|
|
|
if (r0 >= 0) goto L11;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:4:0x0011, code lost:
|
|
|
|
if (r0 <= 0) goto L11;
|
|
*/
|
|
/* JADX WARN: Code restructure failed: missing block: B:5:0x001b, code lost:
|
|
|
|
r2 = false;
|
|
*/
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct add '--show-bad-code' argument
|
|
*/
|
|
private ULongProgressionIterator(long r6, long r8, long r10) {
|
|
/*
|
|
r5 = this;
|
|
r5.<init>()
|
|
r5.finalElement = r8
|
|
r0 = 0
|
|
r2 = 1
|
|
r3 = 0
|
|
int r4 = (r10 > r0 ? 1 : (r10 == r0 ? 0 : -1))
|
|
if (r4 <= 0) goto L14
|
|
int r0 = kotlin.UByte$$ExternalSyntheticBackport0.m(r6, r8)
|
|
if (r0 > 0) goto L1b
|
|
goto L1c
|
|
L14:
|
|
int r0 = kotlin.UByte$$ExternalSyntheticBackport0.m(r6, r8)
|
|
if (r0 < 0) goto L1b
|
|
goto L1c
|
|
L1b:
|
|
r2 = 0
|
|
L1c:
|
|
r5.hasNext = r2
|
|
long r10 = kotlin.ULong.m463constructorimpl(r10)
|
|
r5.step = r10
|
|
boolean r10 = r5.hasNext
|
|
if (r10 == 0) goto L29
|
|
goto L2a
|
|
L29:
|
|
r6 = r8
|
|
L2a:
|
|
r5.next = r6
|
|
return
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: kotlin.ranges.ULongProgressionIterator.<init>(long, long, long):void");
|
|
}
|
|
|
|
@Override // java.util.Iterator
|
|
public /* bridge */ /* synthetic */ ULong next() {
|
|
return ULong.m457boximpl(m1560nextsVKNKU());
|
|
}
|
|
|
|
/* renamed from: next-s-VKNKU, reason: not valid java name */
|
|
public long m1560nextsVKNKU() {
|
|
long j = this.next;
|
|
if (j != this.finalElement) {
|
|
this.next = ULong.m463constructorimpl(this.step + j);
|
|
} else {
|
|
if (!this.hasNext) {
|
|
throw new NoSuchElementException();
|
|
}
|
|
this.hasNext = false;
|
|
}
|
|
return j;
|
|
}
|
|
}
|