c.smali

.class public final Lcom/google/zxing/common/reedsolomon/c;
.super Ljava/lang/Object;
.source "ReedSolomonDecoder.java"


# instance fields
.field public final bpj:Lcom/google/zxing/common/reedsolomon/a;


# direct methods
.method public constructor <init>(Lcom/google/zxing/common/reedsolomon/a;)V
    .registers 2

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

    .line 46
    iput-object p1, p0, Lcom/google/zxing/common/reedsolomon/c;->bpj:Lcom/google/zxing/common/reedsolomon/a;

    .line 47
    return-void
.end method


# virtual methods
.method public final a(Lcom/google/zxing/common/reedsolomon/b;[I)[I
    .registers 12

    .prologue
    const/4 v3, 0x0

    .line 165
    array-length v5, p2

    .line 166
    new-array v6, v5, [I

    move v4, v3

    .line 167
    :goto_5
    if-ge v4, v5, :cond_57

    .line 168
    iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/c;->bpj:Lcom/google/zxing/common/reedsolomon/a;

    aget v1, p2, v4

    invoke-virtual {v0, v1}, Lcom/google/zxing/common/reedsolomon/a;->inverse(I)I

    move-result v7

    .line 169
    const/4 v1, 0x1

    move v2, v3

    .line 170
    :goto_11
    if-ge v2, v5, :cond_31

    .line 171
    if-eq v4, v2, :cond_58

    .line 176
    iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/c;->bpj:Lcom/google/zxing/common/reedsolomon/a;

    aget v8, p2, v2

    invoke-virtual {v0, v8, v7}, Lcom/google/zxing/common/reedsolomon/a;->ay(II)I

    move-result v0

    .line 177
    and-int/lit8 v8, v0, 0x1

    if-nez v8, :cond_2e

    or-int/lit8 v0, v0, 0x1

    .line 178
    :goto_23
    iget-object v8, p0, Lcom/google/zxing/common/reedsolomon/c;->bpj:Lcom/google/zxing/common/reedsolomon/a;

    invoke-virtual {v8, v1, v0}, Lcom/google/zxing/common/reedsolomon/a;->ay(II)I

    move-result v0

    .line 170
    :goto_29
    add-int/lit8 v1, v2, 0x1

    move v2, v1

    move v1, v0

    goto :goto_11

    .line 177
    :cond_2e
    and-int/lit8 v0, v0, -0x2

    goto :goto_23

    .line 181
    :cond_31
    iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/c;->bpj:Lcom/google/zxing/common/reedsolomon/a;

    invoke-virtual {p1, v7}, Lcom/google/zxing/common/reedsolomon/b;->evaluateAt(I)I

    move-result v2

    iget-object v8, p0, Lcom/google/zxing/common/reedsolomon/c;->bpj:Lcom/google/zxing/common/reedsolomon/a;

    .line 182
    invoke-virtual {v8, v1}, Lcom/google/zxing/common/reedsolomon/a;->inverse(I)I

    move-result v1

    .line 181
    invoke-virtual {v0, v2, v1}, Lcom/google/zxing/common/reedsolomon/a;->ay(II)I

    move-result v0

    aput v0, v6, v4

    .line 183
    iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/c;->bpj:Lcom/google/zxing/common/reedsolomon/a;

    .line 1158
    iget v0, v0, Lcom/google/zxing/common/reedsolomon/a;->bpi:I

    .line 183
    if-eqz v0, :cond_53

    .line 184
    iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/c;->bpj:Lcom/google/zxing/common/reedsolomon/a;

    aget v1, v6, v4

    invoke-virtual {v0, v1, v7}, Lcom/google/zxing/common/reedsolomon/a;->ay(II)I

    move-result v0

    aput v0, v6, v4

    .line 167
    :cond_53
    add-int/lit8 v0, v4, 0x1

    move v4, v0

    goto :goto_5

    .line 187
    :cond_57
    return-object v6

    :cond_58
    move v0, v1

    goto :goto_29
.end method

.method public final d(Lcom/google/zxing/common/reedsolomon/b;)[I
    .registers 7

    .prologue
    const/4 v1, 0x0

    const/4 v0, 0x1

    .line 145
    .line 1077
    iget-object v2, p1, Lcom/google/zxing/common/reedsolomon/b;->coefficients:[I

    array-length v2, v2

    add-int/lit8 v3, v2, -0x1

    .line 146
    if-ne v3, v0, :cond_13

    .line 147
    new-array v2, v0, [I

    invoke-virtual {p1, v0}, Lcom/google/zxing/common/reedsolomon/b;->getCoefficient(I)I

    move-result v0

    aput v0, v2, v1

    move-object v0, v2

    .line 160
    :goto_12
    return-object v0

    .line 149
    :cond_13
    new-array v2, v3, [I

    .line 151
    :goto_15
    iget-object v4, p0, Lcom/google/zxing/common/reedsolomon/c;->bpj:Lcom/google/zxing/common/reedsolomon/a;

    .line 1154
    iget v4, v4, Lcom/google/zxing/common/reedsolomon/a;->size:I

    .line 151
    if-ge v0, v4, :cond_30

    if-ge v1, v3, :cond_30

    .line 152
    invoke-virtual {p1, v0}, Lcom/google/zxing/common/reedsolomon/b;->evaluateAt(I)I

    move-result v4

    if-nez v4, :cond_2d

    .line 153
    iget-object v4, p0, Lcom/google/zxing/common/reedsolomon/c;->bpj:Lcom/google/zxing/common/reedsolomon/a;

    invoke-virtual {v4, v0}, Lcom/google/zxing/common/reedsolomon/a;->inverse(I)I

    move-result v4

    aput v4, v2, v1

    .line 154
    add-int/lit8 v1, v1, 0x1

    .line 151
    :cond_2d
    add-int/lit8 v0, v0, 0x1

    goto :goto_15

    .line 157
    :cond_30
    if-eq v1, v3, :cond_3a

    .line 158
    new-instance v0, Lcom/google/zxing/common/reedsolomon/ReedSolomonException;

    const-string v1, "Error locator degree does not match number of roots"

    invoke-direct {v0, v1}, Lcom/google/zxing/common/reedsolomon/ReedSolomonException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_3a
    move-object v0, v2

    .line 160
    goto :goto_12
.end method