IntUtils.smali
.class public final Lorg/spongycastle/pqc/math/linearalgebra/IntUtils;
.super Ljava/lang/Object;
.source "IntUtils.java"
# direct methods
.method private constructor <init>()V
.registers 1
.prologue
.line 10
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 12
return-void
.end method
.method public static clone([I)[I
.registers 4
.prologue
const/4 v2, 0x0
.line 43
array-length v0, p0
new-array v0, v0, [I
.line 44
array-length v1, p0
invoke-static {p0, v2, v0, v2, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 45
return-object v0
.end method
.method public static equals([I[I)Z
.registers 8
.prologue
const/4 v1, 0x1
const/4 v2, 0x0
.line 23
array-length v0, p0
array-length v3, p1
if-eq v0, v3, :cond_7
.line 32
:goto_6
return v2
.line 28
:cond_7
array-length v0, p0
add-int/lit8 v0, v0, -0x1
move v4, v0
move v3, v1
:goto_c
if-ltz v4, :cond_1c
.line 30
aget v0, p0, v4
aget v5, p1, v4
if-ne v0, v5, :cond_1a
move v0, v1
:goto_15
and-int/2addr v3, v0
.line 28
add-int/lit8 v0, v4, -0x1
move v4, v0
goto :goto_c
:cond_1a
move v0, v2
.line 30
goto :goto_15
:cond_1c
move v2, v3
.line 32
goto :goto_6
.end method
.method public static fill([II)V
.registers 3
.prologue
.line 56
array-length v0, p0
add-int/lit8 v0, v0, -0x1
:goto_3
if-ltz v0, :cond_a
.line 58
aput p1, p0, v0
.line 56
add-int/lit8 v0, v0, -0x1
goto :goto_3
.line 60
:cond_a
return-void
.end method
.method private static partition([IIII)I
.registers 8
.prologue
.line 112
aget v1, p0, p3
.line 113
aget v0, p0, p2
aput v0, p0, p3
.line 114
aput v1, p0, p2
move v0, p1
.line 118
:goto_9
if-ge p1, p2, :cond_1c
.line 120
aget v2, p0, p1
if-gt v2, v1, :cond_19
.line 122
aget v2, p0, v0
.line 123
aget v3, p0, p1
aput v3, p0, v0
.line 124
aput v2, p0, p1
.line 125
add-int/lit8 v0, v0, 0x1
.line 118
:cond_19
add-int/lit8 p1, p1, 0x1
goto :goto_9
.line 129
:cond_1c
aget v1, p0, v0
.line 130
aget v2, p0, p2
aput v2, p0, v0
.line 131
aput v1, p0, p2
.line 133
return v0
.end method
.method public static quicksort([I)V
.registers 3
.prologue
.line 75
const/4 v0, 0x0
array-length v1, p0
add-int/lit8 v1, v1, -0x1
invoke-static {p0, v0, v1}, Lorg/spongycastle/pqc/math/linearalgebra/IntUtils;->quicksort([III)V
.line 76
return-void
.end method
.method public static quicksort([III)V
.registers 5
.prologue
.line 88
:goto_0
if-le p2, p1, :cond_e
.line 90
invoke-static {p0, p1, p2, p2}, Lorg/spongycastle/pqc/math/linearalgebra/IntUtils;->partition([IIII)I
move-result v0
.line 91
add-int/lit8 v1, v0, -0x1
invoke-static {p0, p1, v1}, Lorg/spongycastle/pqc/math/linearalgebra/IntUtils;->quicksort([III)V
.line 92
add-int/lit8 p1, v0, 0x1
goto :goto_0
.line 94
:cond_e
return-void
.end method
.method public static subArray([III)[I
.registers 6
.prologue
.line 151
sub-int v0, p2, p1
new-array v0, v0, [I
.line 152
const/4 v1, 0x0
sub-int v2, p2, p1
invoke-static {p0, p1, v0, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 153
return-object v0
.end method
.method public static toHexString([I)Ljava/lang/String;
.registers 2
.prologue
.line 176
invoke-static {p0}, Lorg/spongycastle/pqc/math/linearalgebra/BigEndianConversions;->toByteArray([I)[B
move-result-object v0
invoke-static {v0}, Lorg/spongycastle/pqc/math/linearalgebra/ByteUtils;->toHexString([B)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static toString([I)Ljava/lang/String;
.registers 4
.prologue
.line 162
const-string v1, ""
.line 163
const/4 v0, 0x0
:goto_3
array-length v2, p0
if-ge v0, v2, :cond_22
.line 165
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
aget v2, p0, v0
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 163
add-int/lit8 v0, v0, 0x1
goto :goto_3
.line 167
:cond_22
return-object v1
.end method