2020-07-25 00:57:58 +00:00
|
|
|
.class public abstract Lj0/p/a;
|
|
|
|
.super Lj0/p/c;
|
|
|
|
.source "PlatformRandom.kt"
|
2020-05-17 12:40:10 +00:00
|
|
|
|
|
|
|
|
|
|
|
# direct methods
|
|
|
|
.method public constructor <init>()V
|
|
|
|
.locals 0
|
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
invoke-direct {p0}, Lj0/p/c;-><init>()V
|
2020-05-17 12:40:10 +00:00
|
|
|
|
|
|
|
return-void
|
|
|
|
.end method
|
|
|
|
|
|
|
|
|
|
|
|
# virtual methods
|
2020-07-25 00:57:58 +00:00
|
|
|
.method public abstract getImpl()Ljava/util/Random;
|
|
|
|
.end method
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
.method public nextBits(I)I
|
|
|
|
.locals 2
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
invoke-virtual {p0}, Lj0/p/a;->getImpl()Ljava/util/Random;
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-result-object v0
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
invoke-virtual {v0}, Ljava/util/Random;->nextInt()I
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-result v0
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
rsub-int/lit8 v1, p1, 0x20
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
ushr-int/2addr v0, v1
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
neg-int p1, p1
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
shr-int/lit8 p1, p1, 0x1f
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
and-int/2addr p1, v0
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
return p1
|
|
|
|
.end method
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
.method public nextBytes([B)[B
|
|
|
|
.locals 1
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
invoke-virtual {p0}, Lj0/p/a;->getImpl()Ljava/util/Random;
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-result-object v0
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
invoke-virtual {v0, p1}, Ljava/util/Random;->nextBytes([B)V
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
return-object p1
|
|
|
|
.end method
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
.method public nextInt()I
|
|
|
|
.locals 1
|
|
|
|
|
|
|
|
invoke-virtual {p0}, Lj0/p/a;->getImpl()Ljava/util/Random;
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-result-object v0
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
invoke-virtual {v0}, Ljava/util/Random;->nextInt()I
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-result v0
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
return v0
|
2020-05-17 12:40:10 +00:00
|
|
|
.end method
|
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
.method public nextInt(I)I
|
|
|
|
.locals 1
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
invoke-virtual {p0}, Lj0/p/a;->getImpl()Ljava/util/Random;
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-result-object v0
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
invoke-virtual {v0, p1}, Ljava/util/Random;->nextInt(I)I
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-result p1
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
return p1
|
|
|
|
.end method
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
.method public nextLong()J
|
|
|
|
.locals 2
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
invoke-virtual {p0}, Lj0/p/a;->getImpl()Ljava/util/Random;
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-result-object v0
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
move-result-wide v0
|
2020-05-17 12:40:10 +00:00
|
|
|
|
2020-07-25 00:57:58 +00:00
|
|
|
return-wide v0
|
2020-05-17 12:40:10 +00:00
|
|
|
.end method
|