boa.smali

.class public Ldxoptimizer/boa;
.super Ljava/lang/Object;
.source "RandomGenerator.java"


# static fields
.field private static final a:Ljava/util/Random;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .prologue
    .line 9
    new-instance v0, Ljava/util/Random;

    invoke-direct {v0}, Ljava/util/Random;-><init>()V

    sput-object v0, Ldxoptimizer/boa;->a:Ljava/util/Random;

    return-void
.end method

.method public constructor <init>()V
    .registers 1

    .prologue
    .line 8
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method


# virtual methods
.method public a(F)F
    .registers 3

    .prologue
    .line 20
    sget-object v0, Ldxoptimizer/boa;->a:Ljava/util/Random;

    invoke-virtual {v0}, Ljava/util/Random;->nextFloat()F

    move-result v0

    mul-float/2addr v0, p1

    return v0
.end method

.method public a(FF)F
    .registers 5

    .prologue
    .line 13
    invoke-static {p1, p2}, Ljava/lang/Math;->min(FF)F

    move-result v0

    .line 14
    invoke-static {p1, p2}, Ljava/lang/Math;->max(FF)F

    move-result v1

    .line 15
    sub-float/2addr v1, v0

    invoke-virtual {p0, v1}, Ldxoptimizer/boa;->a(F)F

    move-result v1

    add-float/2addr v0, v1

    return v0
.end method

.method public a(I)I
    .registers 3

    .prologue
    .line 25
    sget-object v0, Ldxoptimizer/boa;->a:Ljava/util/Random;

    invoke-virtual {v0, p1}, Ljava/util/Random;->nextInt(I)I

    move-result v0

    return v0
.end method

.method public a(II)I
    .registers 5

    .prologue
    .line 29
    if-lt p1, p2, :cond_3

    .line 30
    :goto_2
    return p2

    :cond_3
    sget-object v0, Ldxoptimizer/boa;->a:Ljava/util/Random;

    invoke-virtual {v0}, Ljava/util/Random;->nextInt()I

    move-result v0

    invoke-static {v0}, Ljava/lang/Math;->abs(I)I

    move-result v0

    sub-int v1, p2, p1

    rem-int/2addr v0, v1

    add-int p2, v0, p1

    goto :goto_2
.end method

.method public b(I)[I
    .registers 7

    .prologue
    const/4 v3, 0x0

    .line 34
    const/4 v0, 0x2

    new-array v0, v0, [I

    fill-array-data v0, :array_1c

    .line 35
    invoke-virtual {p0, v3, p1}, Ldxoptimizer/boa;->a(II)I

    move-result v1

    aput v1, v0, v3

    .line 36
    const/4 v1, 0x1

    aget v2, v0, v3

    aget v3, v0, v3

    div-int/lit8 v4, p1, 0x3

    add-int/2addr v3, v4

    invoke-virtual {p0, v2, v3}, Ldxoptimizer/boa;->a(II)I

    move-result v2

    aput v2, v0, v1

    .line 37
    return-object v0

    .line 34
    :array_1c
    .array-data 4
        0x0
        0x0
    .end array-data
.end method