c.smali
.class public Lcom/amap/api/maps2d/c;
.super Ljava/lang/Object;
# direct methods
.method public static a(Lcom/amap/api/maps2d/model/LatLng;Lcom/amap/api/maps2d/model/LatLng;)F
.registers 23
if-eqz p0, :cond_4
if-nez p1, :cond_13
:cond_4
:try_start_4
new-instance v2, Lcom/amap/api/maps2d/AMapException;
const-string/jumbo v3, "\u975e\u6cd5\u5750\u6807\u503c"
invoke-direct {v2, v3}, Lcom/amap/api/maps2d/AMapException;-><init>(Ljava/lang/String;)V
throw v2
:try_end_d
.catch Lcom/amap/api/maps2d/AMapException; {:try_start_4 .. :try_end_d} :catch_d
:catch_d
move-exception v2
invoke-virtual {v2}, Lcom/amap/api/maps2d/AMapException;->printStackTrace()V
const/4 v2, 0x0
:goto_12
return v2
:cond_13
move-object/from16 v0, p0
iget-wide v2, v0, Lcom/amap/api/maps2d/model/LatLng;->longitude:D
move-object/from16 v0, p0
iget-wide v4, v0, Lcom/amap/api/maps2d/model/LatLng;->latitude:D
move-object/from16 v0, p1
iget-wide v6, v0, Lcom/amap/api/maps2d/model/LatLng;->longitude:D
move-object/from16 v0, p1
iget-wide v8, v0, Lcom/amap/api/maps2d/model/LatLng;->latitude:D
const-wide v10, 0x3f91df46a2529d37L # 0.01745329251994329
mul-double/2addr v2, v10
const-wide v10, 0x3f91df46a2529d37L # 0.01745329251994329
mul-double/2addr v4, v10
const-wide v10, 0x3f91df46a2529d37L # 0.01745329251994329
mul-double/2addr v6, v10
const-wide v10, 0x3f91df46a2529d37L # 0.01745329251994329
mul-double/2addr v8, v10
invoke-static {v2, v3}, Ljava/lang/Math;->sin(D)D
move-result-wide v10
invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
move-result-wide v12
invoke-static {v2, v3}, Ljava/lang/Math;->cos(D)D
move-result-wide v2
invoke-static {v4, v5}, Ljava/lang/Math;->cos(D)D
move-result-wide v4
invoke-static {v6, v7}, Ljava/lang/Math;->sin(D)D
move-result-wide v14
invoke-static {v8, v9}, Ljava/lang/Math;->sin(D)D
move-result-wide v16
invoke-static {v6, v7}, Ljava/lang/Math;->cos(D)D
move-result-wide v6
invoke-static {v8, v9}, Ljava/lang/Math;->cos(D)D
move-result-wide v8
const/16 v18, 0x3
move/from16 v0, v18
new-array v0, v0, [D
move-object/from16 v18, v0
const/16 v19, 0x3
move/from16 v0, v19
new-array v0, v0, [D
move-object/from16 v19, v0
const/16 v20, 0x0
mul-double/2addr v2, v4
aput-wide v2, v18, v20
const/4 v2, 0x1
mul-double/2addr v4, v10
aput-wide v4, v18, v2
const/4 v2, 0x2
aput-wide v12, v18, v2
const/4 v2, 0x0
mul-double v4, v8, v6
aput-wide v4, v19, v2
const/4 v2, 0x1
mul-double v4, v8, v14
aput-wide v4, v19, v2
const/4 v2, 0x2
aput-wide v16, v19, v2
const/4 v2, 0x0
aget-wide v2, v18, v2
const/4 v4, 0x0
aget-wide v4, v19, v4
sub-double/2addr v2, v4
const/4 v4, 0x0
aget-wide v4, v18, v4
const/4 v6, 0x0
aget-wide v6, v19, v6
sub-double/2addr v4, v6
mul-double/2addr v2, v4
const/4 v4, 0x1
aget-wide v4, v18, v4
const/4 v6, 0x1
aget-wide v6, v19, v6
sub-double/2addr v4, v6
const/4 v6, 0x1
aget-wide v6, v18, v6
const/4 v8, 0x1
aget-wide v8, v19, v8
sub-double/2addr v6, v8
mul-double/2addr v4, v6
add-double/2addr v2, v4
const/4 v4, 0x2
aget-wide v4, v18, v4
const/4 v6, 0x2
aget-wide v6, v19, v6
sub-double/2addr v4, v6
const/4 v6, 0x2
aget-wide v6, v18, v6
const/4 v8, 0x2
aget-wide v8, v19, v8
sub-double/2addr v6, v8
mul-double/2addr v4, v6
add-double/2addr v2, v4
invoke-static {v2, v3}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v2
const-wide/high16 v4, 0x4000000000000000L # 2.0
div-double/2addr v2, v4
invoke-static {v2, v3}, Ljava/lang/Math;->asin(D)D
move-result-wide v2
const-wide v4, 0x41684dae328e2ad1L # 1.27420015798544E7
mul-double/2addr v2, v4
double-to-float v2, v2
goto/16 :goto_12
.end method