Random.smali
.class public abstract Lkotlin/random/Random;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlin/random/Random$Companion;,
Lkotlin/random/Random$Default;
}
.end annotation
# static fields
.field private static final a:Lkotlin/random/Random;
.field public static final b:Lkotlin/random/Random$Default;
# direct methods
.method static constructor <clinit>()V
.registers 2
new-instance v0, Lkotlin/random/Random$Default;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lkotlin/random/Random$Default;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
sput-object v0, Lkotlin/random/Random;->b:Lkotlin/random/Random$Default;
sget-object v0, Lkotlin/internal/PlatformImplementationsKt;->a:Lkotlin/internal/PlatformImplementations;
invoke-virtual {v0}, Lkotlin/internal/PlatformImplementations;->b()Lkotlin/random/Random;
move-result-object v0
sput-object v0, Lkotlin/random/Random;->a:Lkotlin/random/Random;
sget-object v0, Lkotlin/random/Random$Companion;->c:Lkotlin/random/Random$Companion;
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static final synthetic a()Lkotlin/random/Random;
.registers 1
sget-object v0, Lkotlin/random/Random;->a:Lkotlin/random/Random;
return-object v0
.end method
# virtual methods
.method public abstract b(I)I
.end method
.method public c()I
.registers 2
const/16 v0, 0x20
invoke-virtual {p0, v0}, Lkotlin/random/Random;->b(I)I
move-result v0
return v0
.end method
.method public d(I)I
.registers 3
const/4 v0, 0x0
invoke-virtual {p0, v0, p1}, Lkotlin/random/Random;->e(II)I
move-result p1
return p1
.end method
.method public e(II)I
.registers 6
invoke-static {p1, p2}, Lkotlin/random/RandomKt;->b(II)V
sub-int v0, p2, p1
if-gtz v0, :cond_16
const/high16 v1, -0x80000000
if-ne v0, v1, :cond_c
goto :goto_16
:cond_c
:goto_c
invoke-virtual {p0}, Lkotlin/random/Random;->c()I
move-result v0
if-le p1, v0, :cond_13
goto :goto_c
:cond_13
if-le p2, v0, :cond_c
return v0
:cond_16
:goto_16
neg-int p2, v0
and-int/2addr p2, v0
if-ne p2, v0, :cond_23
invoke-static {v0}, Lkotlin/random/RandomKt;->c(I)I
move-result p2
invoke-virtual {p0, p2}, Lkotlin/random/Random;->b(I)I
move-result p2
goto :goto_32
:cond_23
invoke-virtual {p0}, Lkotlin/random/Random;->c()I
move-result p2
ushr-int/lit8 p2, p2, 0x1
rem-int v1, p2, v0
sub-int/2addr p2, v1
add-int/lit8 v2, v0, -0x1
add-int/2addr p2, v2
if-ltz p2, :cond_23
move p2, v1
:goto_32
add-int/2addr p1, p2
return p1
.end method