i.smali

.class public final Lcom/google/zxing/common/i;
.super Ljava/lang/Object;
.source "PerspectiveTransform.java"


# instance fields
.field public final boR:F

.field public final boS:F

.field public final boT:F

.field public final boU:F

.field public final boV:F

.field public final boW:F

.field public final boX:F

.field public final boY:F

.field public final boZ:F


# direct methods
.method public constructor <init>(FFFFFFFFF)V
    .registers 10

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

    .line 41
    iput p1, p0, Lcom/google/zxing/common/i;->boR:F

    .line 42
    iput p4, p0, Lcom/google/zxing/common/i;->boS:F

    .line 43
    iput p7, p0, Lcom/google/zxing/common/i;->boT:F

    .line 44
    iput p2, p0, Lcom/google/zxing/common/i;->boU:F

    .line 45
    iput p5, p0, Lcom/google/zxing/common/i;->boV:F

    .line 46
    iput p8, p0, Lcom/google/zxing/common/i;->boW:F

    .line 47
    iput p3, p0, Lcom/google/zxing/common/i;->boX:F

    .line 48
    iput p6, p0, Lcom/google/zxing/common/i;->boY:F

    .line 49
    iput p9, p0, Lcom/google/zxing/common/i;->boZ:F

    .line 50
    return-void
.end method

.method public static a(FFFFFFFF)Lcom/google/zxing/common/i;
    .registers 18

    .prologue
    .line 101
    sub-float v0, p0, p2

    add-float/2addr v0, p4

    sub-float v0, v0, p6

    .line 102
    sub-float v1, p1, p3

    add-float/2addr v1, p5

    sub-float v1, v1, p7

    .line 103
    const/4 v2, 0x0

    cmpl-float v2, v0, v2

    if-nez v2, :cond_28

    const/4 v2, 0x0

    cmpl-float v2, v1, v2

    if-nez v2, :cond_28

    .line 105
    new-instance v0, Lcom/google/zxing/common/i;

    sub-float v1, p2, p0

    sub-float v2, p4, p2

    sub-float v4, p3, p1

    sub-float v5, p5, p3

    const/4 v7, 0x0

    const/4 v8, 0x0

    const/high16 v9, 0x3f800000    # 1.0f

    move v3, p0

    move v6, p1

    invoke-direct/range {v0 .. v9}, Lcom/google/zxing/common/i;-><init>(FFFFFFFFF)V

    .line 116
    :goto_27
    return-object v0

    .line 109
    :cond_28
    sub-float v2, p2, p4

    .line 110
    sub-float v3, p6, p4

    .line 111
    sub-float v4, p3, p5

    .line 112
    sub-float v5, p7, p5

    .line 113
    mul-float v6, v2, v5

    mul-float v7, v3, v4

    sub-float/2addr v6, v7

    .line 114
    mul-float/2addr v5, v0

    mul-float/2addr v3, v1

    sub-float v3, v5, v3

    div-float v7, v3, v6

    .line 115
    mul-float/2addr v1, v2

    mul-float/2addr v0, v4

    sub-float v0, v1, v0

    div-float v8, v0, v6

    .line 116
    new-instance v0, Lcom/google/zxing/common/i;

    sub-float v1, p2, p0

    mul-float v2, v7, p2

    add-float/2addr v1, v2

    sub-float v2, p6, p0

    mul-float v3, v8, p6

    add-float/2addr v2, v3

    sub-float v3, p3, p1

    mul-float v4, v7, p3

    add-float/2addr v4, v3

    sub-float v3, p7, p1

    mul-float v5, v8, p7

    add-float/2addr v5, v3

    const/high16 v9, 0x3f800000    # 1.0f

    move v3, p0

    move v6, p1

    invoke-direct/range {v0 .. v9}, Lcom/google/zxing/common/i;-><init>(FFFFFFFFF)V

    goto :goto_27
.end method