ADD week 5
This commit is contained in:
70
02-Easy5/E5/sources/kotlin/random/XorWowRandom.java
Normal file
70
02-Easy5/E5/sources/kotlin/random/XorWowRandom.java
Normal file
@@ -0,0 +1,70 @@
|
||||
package kotlin.random;
|
||||
|
||||
import java.io.Serializable;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
|
||||
/* compiled from: XorWowRandom.kt */
|
||||
@Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u000e\b\u0000\u0018\u0000 \u00122\u00020\u00012\u00060\u0002j\u0002`\u0003:\u0001\u0012B\u0017\b\u0010\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\u0006\u0010\u0006\u001a\u00020\u0005¢\u0006\u0002\u0010\u0007B7\b\u0000\u0012\u0006\u0010\b\u001a\u00020\u0005\u0012\u0006\u0010\t\u001a\u00020\u0005\u0012\u0006\u0010\n\u001a\u00020\u0005\u0012\u0006\u0010\u000b\u001a\u00020\u0005\u0012\u0006\u0010\f\u001a\u00020\u0005\u0012\u0006\u0010\r\u001a\u00020\u0005¢\u0006\u0002\u0010\u000eJ\u0010\u0010\u000f\u001a\u00020\u00052\u0006\u0010\u0010\u001a\u00020\u0005H\u0016J\b\u0010\u0011\u001a\u00020\u0005H\u0016R\u000e\u0010\r\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\f\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\t\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u0005X\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006\u0013"}, d2 = {"Lkotlin/random/XorWowRandom;", "Lkotlin/random/Random;", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "seed1", "", "seed2", "(II)V", "x", "y", "z", "w", "v", "addend", "(IIIIII)V", "nextBits", "bitCount", "nextInt", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public final class XorWowRandom extends Random implements Serializable {
|
||||
private static final Companion Companion = new Companion(null);
|
||||
private static final long serialVersionUID = 0;
|
||||
private int addend;
|
||||
private int v;
|
||||
private int w;
|
||||
private int x;
|
||||
private int y;
|
||||
private int z;
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public int nextInt() {
|
||||
int i = this.x;
|
||||
int i2 = i ^ (i >>> 2);
|
||||
this.x = this.y;
|
||||
this.y = this.z;
|
||||
this.z = this.w;
|
||||
int i3 = this.v;
|
||||
this.w = i3;
|
||||
int i4 = ((i2 ^ (i2 << 1)) ^ i3) ^ (i3 << 4);
|
||||
this.v = i4;
|
||||
int i5 = this.addend + 362437;
|
||||
this.addend = i5;
|
||||
return i4 + i5;
|
||||
}
|
||||
|
||||
public XorWowRandom(int i, int i2, int i3, int i4, int i5, int i6) {
|
||||
this.x = i;
|
||||
this.y = i2;
|
||||
this.z = i3;
|
||||
this.w = i4;
|
||||
this.v = i5;
|
||||
this.addend = i6;
|
||||
if ((i | i2 | i3 | i4 | i5) == 0) {
|
||||
throw new IllegalArgumentException("Initial state must have at least one non-zero element.".toString());
|
||||
}
|
||||
for (int i7 = 0; i7 < 64; i7++) {
|
||||
nextInt();
|
||||
}
|
||||
}
|
||||
|
||||
public XorWowRandom(int i, int i2) {
|
||||
this(i, i2, 0, 0, ~i, (i << 10) ^ (i2 >>> 4));
|
||||
}
|
||||
|
||||
@Override // kotlin.random.Random
|
||||
public int nextBits(int bitCount) {
|
||||
return RandomKt.takeUpperBits(nextInt(), bitCount);
|
||||
}
|
||||
|
||||
/* compiled from: XorWowRandom.kt */
|
||||
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0082\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u0005"}, d2 = {"Lkotlin/random/XorWowRandom$Companion;", "", "()V", "serialVersionUID", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
private static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user