128 lines
6.5 KiB
Java
128 lines
6.5 KiB
Java
package kotlin.ranges;
|
|
|
|
import java.util.Iterator;
|
|
import kotlin.ExperimentalUnsignedTypes;
|
|
import kotlin.Metadata;
|
|
import kotlin.SinceKotlin;
|
|
import kotlin.ULong;
|
|
import kotlin.WasExperimental;
|
|
import kotlin.internal.UProgressionUtilKt;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.jvm.internal.markers.KMappedMarker;
|
|
|
|
@SinceKotlin(version = "1.5")
|
|
@Metadata(d1 = {"\u0000:\n\u0002\u0018\u0002\n\u0002\u0010\u001c\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\t\n\u0002\b\t\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010(\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\b\u0017\u0018\u0000 \u001a2\b\u0012\u0004\u0012\u00020\u00020\u0001:\u0001\u001aB\u001f\b\u0000\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0006¢\u0006\u0002\u0010\u0007J\u0013\u0010\u000f\u001a\u00020\u00102\b\u0010\u0011\u001a\u0004\u0018\u00010\u0012H\u0096\u0002J\b\u0010\u0013\u001a\u00020\u0014H\u0016J\b\u0010\u0015\u001a\u00020\u0010H\u0016J\u000f\u0010\u0016\u001a\b\u0012\u0004\u0012\u00020\u00020\u0017H\u0086\u0002J\b\u0010\u0018\u001a\u00020\u0019H\u0016R\u0016\u0010\b\u001a\u00020\u0002ø\u0001\u0000¢\u0006\n\n\u0002\u0010\u000b\u001a\u0004\b\t\u0010\nR\u0016\u0010\f\u001a\u00020\u0002ø\u0001\u0000¢\u0006\n\n\u0002\u0010\u000b\u001a\u0004\b\r\u0010\nR\u0011\u0010\u0005\u001a\u00020\u0006¢\u0006\b\n\u0000\u001a\u0004\b\u000e\u0010\n\u0082\u0002\u0004\n\u0002\b!¨\u0006\u001b"}, d2 = {"Lkotlin/ranges/ULongProgression;", "", "Lkotlin/ULong;", "start", "endInclusive", "step", "", "(JJJLkotlin/jvm/internal/DefaultConstructorMarker;)V", "first", "getFirst-s-VKNKU", "()J", "J", "last", "getLast-s-VKNKU", "getStep", "equals", "", "other", "", "hashCode", "", "isEmpty", "iterator", "", "toString", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
|
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
|
/* loaded from: classes3.dex */
|
|
public class ULongProgression implements Iterable<ULong>, KMappedMarker {
|
|
|
|
/* renamed from: Companion, reason: from kotlin metadata */
|
|
public static final Companion INSTANCE = new Companion(null);
|
|
private final long first;
|
|
private final long last;
|
|
private final long step;
|
|
|
|
@Metadata(d1 = {"\u0000\"\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\t\n\u0002\b\u0003\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J%\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u00062\u0006\u0010\b\u001a\u00020\t¢\u0006\u0004\b\n\u0010\u000b¨\u0006\f"}, d2 = {"Lkotlin/ranges/ULongProgression$Companion;", "", "()V", "fromClosedRange", "Lkotlin/ranges/ULongProgression;", "rangeStart", "Lkotlin/ULong;", "rangeEnd", "step", "", "fromClosedRange-7ftBX0g", "(JJJ)Lkotlin/ranges/ULongProgression;", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
|
/* loaded from: classes3.dex */
|
|
public static final class Companion {
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
/* renamed from: fromClosedRange-7ftBX0g, reason: not valid java name */
|
|
public final ULongProgression m1349fromClosedRange7ftBX0g(long rangeStart, long rangeEnd, long step) {
|
|
return new ULongProgression(rangeStart, rangeEnd, step, null);
|
|
}
|
|
|
|
private Companion() {
|
|
}
|
|
}
|
|
|
|
public /* synthetic */ ULongProgression(long j4, long j5, long j6, DefaultConstructorMarker defaultConstructorMarker) {
|
|
this(j4, j5, j6);
|
|
}
|
|
|
|
public boolean equals(Object other) {
|
|
if (!(other instanceof ULongProgression)) {
|
|
return false;
|
|
}
|
|
if (isEmpty() && ((ULongProgression) other).isEmpty()) {
|
|
return true;
|
|
}
|
|
ULongProgression uLongProgression = (ULongProgression) other;
|
|
return this.first == uLongProgression.first && this.last == uLongProgression.last && this.step == uLongProgression.step;
|
|
}
|
|
|
|
/* renamed from: getFirst-s-VKNKU, reason: not valid java name and from getter */
|
|
public final long getFirst() {
|
|
return this.first;
|
|
}
|
|
|
|
/* renamed from: getLast-s-VKNKU, reason: not valid java name and from getter */
|
|
public final long getLast() {
|
|
return this.last;
|
|
}
|
|
|
|
public final long getStep() {
|
|
return this.step;
|
|
}
|
|
|
|
public int hashCode() {
|
|
if (isEmpty()) {
|
|
return -1;
|
|
}
|
|
long j4 = this.first;
|
|
int m290constructorimpl = ((int) ULong.m290constructorimpl(j4 ^ ULong.m290constructorimpl(j4 >>> 32))) * 31;
|
|
long j5 = this.last;
|
|
int m290constructorimpl2 = (m290constructorimpl + ((int) ULong.m290constructorimpl(j5 ^ ULong.m290constructorimpl(j5 >>> 32)))) * 31;
|
|
long j6 = this.step;
|
|
return m290constructorimpl2 + ((int) ((j6 >>> 32) ^ j6));
|
|
}
|
|
|
|
public boolean isEmpty() {
|
|
long j4 = this.step;
|
|
int compareUnsigned = Long.compareUnsigned(this.first, this.last);
|
|
return j4 > 0 ? compareUnsigned > 0 : compareUnsigned < 0;
|
|
}
|
|
|
|
@Override // java.lang.Iterable
|
|
public final Iterator<ULong> iterator() {
|
|
return new ULongProgressionIterator(this.first, this.last, this.step, null);
|
|
}
|
|
|
|
public String toString() {
|
|
StringBuilder sb;
|
|
long j4;
|
|
if (this.step > 0) {
|
|
sb = new StringBuilder();
|
|
sb.append((Object) ULong.m336toStringimpl(this.first));
|
|
sb.append("..");
|
|
sb.append((Object) ULong.m336toStringimpl(this.last));
|
|
sb.append(" step ");
|
|
j4 = this.step;
|
|
} else {
|
|
sb = new StringBuilder();
|
|
sb.append((Object) ULong.m336toStringimpl(this.first));
|
|
sb.append(" downTo ");
|
|
sb.append((Object) ULong.m336toStringimpl(this.last));
|
|
sb.append(" step ");
|
|
j4 = -this.step;
|
|
}
|
|
sb.append(j4);
|
|
return sb.toString();
|
|
}
|
|
|
|
private ULongProgression(long j4, long j5, long j6) {
|
|
if (j6 == 0) {
|
|
throw new IllegalArgumentException("Step must be non-zero.");
|
|
}
|
|
if (j6 != Long.MIN_VALUE) {
|
|
this.first = j4;
|
|
this.last = UProgressionUtilKt.m1323getProgressionLastElement7ftBX0g(j4, j5, j6);
|
|
this.step = j6;
|
|
return;
|
|
}
|
|
throw new IllegalArgumentException("Step must be greater than Long.MIN_VALUE to avoid overflow on negation.");
|
|
}
|
|
}
|