W.smali
.class public Lcom/sandboxol/blockymods/utils/W;
.super Ljava/lang/Object;
.source "LocationHelper.java"
# interfaces
.implements Landroid/location/LocationListener;
# direct methods
.method private static a(D)D
.registers 4
const-wide v0, 0x400921fb54442d18L # Math.PI
mul-double p0, p0, v0
const-wide v0, 0x4066800000000000L # 180.0
div-double/2addr p0, v0
return-wide p0
.end method
.method public static a(DDDD)D
.registers 10
.line 1
invoke-static {p0, p1}, Lcom/sandboxol/blockymods/utils/W;->a(D)D
move-result-wide p0
.line 2
invoke-static {p4, p5}, Lcom/sandboxol/blockymods/utils/W;->a(D)D
move-result-wide p4
sub-double v0, p0, p4
.line 3
invoke-static {p2, p3}, Lcom/sandboxol/blockymods/utils/W;->a(D)D
move-result-wide p2
invoke-static {p6, p7}, Lcom/sandboxol/blockymods/utils/W;->a(D)D
move-result-wide p6
sub-double/2addr p2, p6
const-wide/high16 p6, 0x4000000000000000L # 2.0
div-double/2addr v0, p6
.line 4
invoke-static {v0, v1}, Ljava/lang/Math;->sin(D)D
move-result-wide v0
invoke-static {v0, v1, p6, p7}, Ljava/lang/Math;->pow(DD)D
move-result-wide v0
.line 5
invoke-static {p0, p1}, Ljava/lang/Math;->cos(D)D
move-result-wide p0
invoke-static {p4, p5}, Ljava/lang/Math;->cos(D)D
move-result-wide p4
mul-double p0, p0, p4
div-double/2addr p2, p6
.line 6
invoke-static {p2, p3}, Ljava/lang/Math;->sin(D)D
move-result-wide p2
invoke-static {p2, p3, p6, p7}, Ljava/lang/Math;->pow(DD)D
move-result-wide p2
mul-double p0, p0, p2
add-double/2addr v0, p0
.line 7
invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D
move-result-wide p0
invoke-static {p0, p1}, Ljava/lang/Math;->asin(D)D
move-result-wide p0
mul-double p0, p0, p6
const-wide p2, 0x40b8ea23126e978dL # 6378.137
mul-double p0, p0, p2
const-wide p2, 0x40c3880000000000L # 10000.0
mul-double p0, p0, p2
.line 8
invoke-static {p0, p1}, Ljava/lang/Math;->round(D)J
move-result-wide p0
long-to-double p0, p0
invoke-static {p0, p1}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr p0, p2
return-wide p0
.end method