m.smali

.class public Lcom/kwai/player/a/m;
.super Ljava/lang/Object;


# instance fields
.field private final a:[F


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

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

    const/4 v0, 0x4

    new-array v0, v0, [F

    iput-object v0, p0, Lcom/kwai/player/a/m;->a:[F

    invoke-virtual {p0}, Lcom/kwai/player/a/m;->a()V

    return-void
.end method

.method private a(FFFF)V
    .registers 7

    iget-object v0, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v1, 0x0

    aput p1, v0, v1

    iget-object v0, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v1, 0x1

    aput p2, v0, v1

    iget-object v0, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v1, 0x2

    aput p3, v0, v1

    iget-object v0, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v1, 0x3

    aput p4, v0, v1

    return-void
.end method

.method private a(ZFFFFFFFFF)V
    .registers 16

    if-eqz p1, :cond_20

    const/high16 v0, 0x3f800000    # 1.0f

    invoke-static {p2, p3, p4}, Lcom/kwai/player/a/n;->a(FFF)F

    move-result v1

    div-float/2addr v0, v1

    const/high16 v1, 0x3f800000    # 1.0f

    invoke-static {p5, p6, p7}, Lcom/kwai/player/a/n;->a(FFF)F

    move-result v2

    div-float/2addr v1, v2

    const/high16 v2, 0x3f800000    # 1.0f

    invoke-static {p8, p9, p10}, Lcom/kwai/player/a/n;->a(FFF)F

    move-result v3

    div-float/2addr v2, v3

    mul-float/2addr p2, v0

    mul-float/2addr p3, v0

    mul-float/2addr p4, v0

    mul-float/2addr p5, v1

    mul-float/2addr p6, v1

    mul-float/2addr p7, v1

    mul-float/2addr p8, v2

    mul-float/2addr p9, v2

    mul-float/2addr p10, v2

    :cond_20
    add-float v0, p2, p6

    add-float/2addr v0, p10

    const/4 v1, 0x0

    cmpl-float v1, v0, v1

    if-ltz v1, :cond_47

    const/high16 v1, 0x3f800000    # 1.0f

    add-float/2addr v0, v1

    float-to-double v0, v0

    invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide v0

    double-to-float v0, v0

    const/high16 v1, 0x3f000000    # 0.5f

    mul-float v3, v1, v0

    const/high16 v1, 0x3f000000    # 0.5f

    div-float v0, v1, v0

    sub-float v1, p9, p7

    mul-float v2, v1, v0

    sub-float v1, p4, p8

    mul-float/2addr v1, v0

    sub-float v4, p5, p3

    mul-float/2addr v0, v4

    :goto_43
    invoke-direct {p0, v3, v2, v1, v0}, Lcom/kwai/player/a/m;->a(FFFF)V

    return-void

    :cond_47
    cmpl-float v0, p2, p6

    if-lez v0, :cond_6f

    cmpl-float v0, p2, p10

    if-lez v0, :cond_6f

    const-wide/high16 v0, 0x3ff0000000000000L    # 1.0

    float-to-double v2, p2

    add-double/2addr v0, v2

    float-to-double v2, p6

    sub-double/2addr v0, v2

    float-to-double v2, p10

    sub-double/2addr v0, v2

    invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide v0

    double-to-float v0, v0

    const/high16 v1, 0x3f000000    # 0.5f

    mul-float v2, v0, v1

    const/high16 v1, 0x3f000000    # 0.5f

    div-float v3, v1, v0

    add-float v0, p5, p3

    mul-float v1, v0, v3

    add-float v0, p4, p8

    mul-float/2addr v0, v3

    sub-float v4, p9, p7

    mul-float/2addr v3, v4

    goto :goto_43

    :cond_6f
    cmpl-float v0, p6, p10

    if-lez v0, :cond_92

    const-wide/high16 v0, 0x3ff0000000000000L    # 1.0

    float-to-double v2, p6

    add-double/2addr v0, v2

    float-to-double v2, p2

    sub-double/2addr v0, v2

    float-to-double v2, p10

    sub-double/2addr v0, v2

    invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide v0

    double-to-float v0, v0

    const/high16 v1, 0x3f000000    # 0.5f

    mul-float/2addr v1, v0

    const/high16 v2, 0x3f000000    # 0.5f

    div-float v3, v2, v0

    add-float v0, p5, p3

    mul-float v2, v0, v3

    add-float v0, p9, p7

    mul-float/2addr v0, v3

    sub-float v4, p4, p8

    mul-float/2addr v3, v4

    goto :goto_43

    :cond_92
    const-wide/high16 v0, 0x3ff0000000000000L    # 1.0

    float-to-double v2, p10

    add-double/2addr v0, v2

    float-to-double v2, p2

    sub-double/2addr v0, v2

    float-to-double v2, p6

    sub-double/2addr v0, v2

    invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide v0

    double-to-float v1, v0

    const/high16 v0, 0x3f000000    # 0.5f

    mul-float/2addr v0, v1

    const/high16 v2, 0x3f000000    # 0.5f

    div-float v3, v2, v1

    add-float v1, p4, p8

    mul-float v2, v1, v3

    add-float v1, p9, p7

    mul-float/2addr v1, v3

    sub-float v4, p5, p3

    mul-float/2addr v3, v4

    goto :goto_43
.end method


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

    const/4 v1, 0x0

    const/high16 v0, 0x3f800000    # 1.0f

    invoke-direct {p0, v0, v1, v1, v1}, Lcom/kwai/player/a/m;->a(FFFF)V

    return-void
.end method

.method public a([F)V
    .registers 13

    const/4 v1, 0x0

    aget v2, p1, v1

    const/4 v0, 0x1

    aget v3, p1, v0

    const/4 v0, 0x2

    aget v4, p1, v0

    const/4 v0, 0x4

    aget v5, p1, v0

    const/4 v0, 0x5

    aget v6, p1, v0

    const/4 v0, 0x6

    aget v7, p1, v0

    const/16 v0, 0x8

    aget v8, p1, v0

    const/16 v0, 0x9

    aget v9, p1, v0

    const/16 v0, 0xa

    aget v10, p1, v0

    move-object v0, p0

    invoke-direct/range {v0 .. v10}, Lcom/kwai/player/a/m;->a(ZFFFFFFFFF)V

    return-void
.end method

.method public b()I
    .registers 8

    const/4 v0, 0x1

    const/4 v1, 0x0

    iget-object v2, p0, Lcom/kwai/player/a/m;->a:[F

    aget v2, v2, v1

    iget-object v3, p0, Lcom/kwai/player/a/m;->a:[F

    aget v3, v3, v0

    iget-object v4, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v5, 0x2

    aget v4, v4, v5

    iget-object v5, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v6, 0x3

    aget v5, v5, v6

    mul-float/2addr v3, v4

    mul-float/2addr v2, v5

    add-float/2addr v2, v3

    const v3, 0x3eff7cee    # 0.499f

    cmpl-float v3, v2, v3

    if-lez v3, :cond_1f

    :goto_1e
    return v0

    :cond_1f
    const v0, -0x41008312    # -0.499f

    cmpg-float v0, v2, v0

    if-gez v0, :cond_28

    const/4 v0, -0x1

    goto :goto_1e

    :cond_28
    move v0, v1

    goto :goto_1e
.end method

.method public c()F
    .registers 7

    const/high16 v5, 0x40000000    # 2.0f

    iget-object v0, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v1, 0x0

    aget v0, v0, v1

    iget-object v1, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v2, 0x1

    aget v1, v1, v2

    iget-object v2, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v3, 0x2

    aget v2, v2, v3

    iget-object v3, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v4, 0x3

    aget v3, v3, v4

    invoke-virtual {p0}, Lcom/kwai/player/a/m;->b()I

    move-result v4

    if-nez v4, :cond_2d

    mul-float/2addr v0, v3

    mul-float/2addr v2, v1

    add-float/2addr v0, v2

    mul-float/2addr v0, v5

    const/high16 v2, 0x3f800000    # 1.0f

    mul-float/2addr v1, v1

    mul-float/2addr v3, v3

    add-float/2addr v1, v3

    mul-float/2addr v1, v5

    sub-float v1, v2, v1

    invoke-static {v0, v1}, Lcom/c/a/a/a;->a(FF)F

    move-result v0

    :goto_2c
    return v0

    :cond_2d
    int-to-float v1, v4

    mul-float/2addr v1, v5

    invoke-static {v2, v0}, Lcom/c/a/a/a;->a(FF)F

    move-result v0

    mul-float/2addr v0, v1

    goto :goto_2c
.end method

.method public d()F
    .registers 3

    invoke-virtual {p0}, Lcom/kwai/player/a/m;->c()F

    move-result v0

    const v1, 0x42652ee0

    mul-float/2addr v0, v1

    return v0
.end method

.method public e()F
    .registers 6

    iget-object v0, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v1, 0x0

    aget v0, v0, v1

    iget-object v1, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v2, 0x1

    aget v1, v1, v2

    iget-object v2, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v3, 0x2

    aget v2, v2, v3

    iget-object v3, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v4, 0x3

    aget v3, v3, v4

    invoke-virtual {p0}, Lcom/kwai/player/a/m;->b()I

    move-result v4

    if-nez v4, :cond_30

    const/high16 v4, 0x40000000    # 2.0f

    mul-float/2addr v0, v1

    mul-float v1, v3, v2

    sub-float/2addr v0, v1

    mul-float/2addr v0, v4

    const/high16 v1, -0x40800000    # -1.0f

    const/high16 v2, 0x3f800000    # 1.0f

    invoke-static {v0, v1, v2}, Lcom/c/a/a/a;->a(FFF)F

    move-result v0

    float-to-double v0, v0

    invoke-static {v0, v1}, Ljava/lang/Math;->asin(D)D

    move-result-wide v0

    double-to-float v0, v0

    :goto_2f
    return v0

    :cond_30
    int-to-float v0, v4

    const v1, 0x40490fdb    # (float)Math.PI

    mul-float/2addr v0, v1

    const/high16 v1, 0x3f000000    # 0.5f

    mul-float/2addr v0, v1

    goto :goto_2f
.end method

.method public f()F
    .registers 3

    invoke-virtual {p0}, Lcom/kwai/player/a/m;->e()F

    move-result v0

    const v1, 0x42652ee0

    mul-float/2addr v0, v1

    return v0
.end method

.method public g()F
    .registers 7

    const/high16 v5, 0x40000000    # 2.0f

    iget-object v0, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v1, 0x0

    aget v0, v0, v1

    iget-object v1, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v2, 0x1

    aget v1, v1, v2

    iget-object v2, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v3, 0x2

    aget v2, v2, v3

    iget-object v3, p0, Lcom/kwai/player/a/m;->a:[F

    const/4 v4, 0x3

    aget v3, v3, v4

    invoke-virtual {p0}, Lcom/kwai/player/a/m;->b()I

    move-result v4

    if-nez v4, :cond_2d

    mul-float/2addr v0, v2

    mul-float/2addr v3, v1

    add-float/2addr v0, v3

    mul-float/2addr v0, v5

    const/high16 v3, 0x3f800000    # 1.0f

    mul-float/2addr v2, v2

    mul-float/2addr v1, v1

    add-float/2addr v1, v2

    mul-float/2addr v1, v5

    sub-float v1, v3, v1

    invoke-static {v0, v1}, Lcom/c/a/a/a;->a(FF)F

    move-result v0

    :goto_2c
    return v0

    :cond_2d
    const/4 v0, 0x0

    goto :goto_2c
.end method

.method public h()F
    .registers 3

    invoke-virtual {p0}, Lcom/kwai/player/a/m;->g()F

    move-result v0

    const v1, 0x42652ee0

    mul-float/2addr v0, v1

    return v0
.end method

.method public toString()Ljava/lang/String;
    .registers 8

    const/4 v6, 0x3

    const/4 v5, 0x2

    const/4 v4, 0x1

    const/4 v3, 0x0

    const-string v0, "MDQuaternion w=%f x=%f, y=%f, z=%f"

    const/4 v1, 0x4

    new-array v1, v1, [Ljava/lang/Object;

    iget-object v2, p0, Lcom/kwai/player/a/m;->a:[F

    aget v2, v2, v3

    invoke-static {v2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v2

    aput-object v2, v1, v3

    iget-object v2, p0, Lcom/kwai/player/a/m;->a:[F

    aget v2, v2, v4

    invoke-static {v2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v2

    aput-object v2, v1, v4

    iget-object v2, p0, Lcom/kwai/player/a/m;->a:[F

    aget v2, v2, v5

    invoke-static {v2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v2

    aput-object v2, v1, v5

    iget-object v2, p0, Lcom/kwai/player/a/m;->a:[F

    aget v2, v2, v6

    invoke-static {v2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v2

    aput-object v2, v1, v6

    invoke-static {v0, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method