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