.method public static IniGauss_2(I)V
.locals 21
.parameter "fi"
.prologue
.line 32
const-wide/16 v15, 0x0
sput-wide v15, Lcom/infiniters/papercut/world/ProcessFactory;->toOne:D
.line 33
mul-int/lit8 v15, p0, 0x2
add-int/lit8 v15, v15, 0x1
mul-int/lit8 v16, p0, 0x2
add-int/lit8 v16, v16, 0x1
mul-int v15, v15, v16
new-array v15, v15, [D
sput-object v15, Lcom/infiniters/papercut/world/ProcessFactory;->GAUSS:[D
.line 34
const/4 v6, 0x0
.line 36
.local v6, index:I
move/from16 v0, p0
neg-int v13, v0
.local v13, x:I
:goto_0
move/from16 v0, p0
if-le v13, v0, :cond_0
.line 47
const/4 v4, 0x0
.local v4, i:I
:goto_1
if-lt v4, v6, :cond_2
.line 52
const-wide/16 v11, 0x0
.line 53
.local v11, sum:D
sget-object v16, Lcom/infiniters/papercut/world/ProcessFactory;->GAUSS:[D
move-object/from16 v0, v16
array-length v0, v0
move/from16 v17, v0
const/4 v15, 0x0
.end local v4 #i:I
:goto_2
move/from16 v0, v17
if-lt v15, v0, :cond_3
.line 58
return-void
.line 37
.end local v11 #sum:D
:cond_0
move/from16 v0, p0
neg-int v14, v0
.local v14, y:I
:goto_3
move/from16 v0, p0
if-le v14, v0, :cond_1
.line 36
add-int/lit8 v13, v13, 0x1
goto :goto_0
.line 38
:cond_1
sget-wide v15, Lcom/infiniters/papercut/world/ProcessFactory;->sigma:D
sget-wide v17, Lcom/infiniters/papercut/world/ProcessFactory;->sigma:D
mul-double v9, v15, v17
.line 39
.local v9, sqrtFi:D
const-wide v15, 0x4005bf0a8b145769L
mul-int v17, v13, v13
mul-int v18, v14, v14
add-int v17, v17, v18
move/from16 v0, v17
int-to-double v0, v0
move-wide/from16 v17, v0
move-wide/from16 v0, v17
neg-double v0, v0
move-wide/from16 v17, v0
const-wide/high16 v19, 0x4000
mul-double v19, v19, v9
div-double v17, v17, v19
invoke-static/range {v15 .. v18}, Ljava/lang/Math;->pow(DD)D
move-result-wide v2
.line 40
.local v2, ex:D
const-wide v15, 0x401921fb54442d18L
mul-double/2addr v15, v9
div-double v7, v2, v15
.line 41
.local v7, result:D
sget-object v15, Lcom/infiniters/papercut/world/ProcessFactory;->GAUSS:[D
aput-wide v7, v15, v6
.line 42
sget-wide v15, Lcom/infiniters/papercut/world/ProcessFactory;->toOne:D
add-double/2addr v15, v7
sput-wide v15, Lcom/infiniters/papercut/world/ProcessFactory;->toOne:D
.line 43
add-int/lit8 v6, v6, 0x1
.line 37
add-int/lit8 v14, v14, 0x1
goto :goto_3
.line 48
.end local v2 #ex:D
.end local v7 #result:D
.end local v9 #sqrtFi:D
.end local v14 #y:I
.restart local v4 #i:I
:cond_2
sget-object v15, Lcom/infiniters/papercut/world/ProcessFactory;->GAUSS:[D
sget-object v16, Lcom/infiniters/papercut/world/ProcessFactory;->GAUSS:[D
aget-wide v16, v16, v4
sget-wide v18, Lcom/infiniters/papercut/world/ProcessFactory;->toOne:D
div-double v16, v16, v18
aput-wide v16, v15, v4
.line 47
add-int/lit8 v4, v4, 0x1
goto :goto_1
.line 53
.end local v4 #i:I
.restart local v11 #sum:D
:cond_3
aget-wide v4, v16, v15
.line 54
.local v4, i:D
add-double/2addr v11, v4
.line 53
add-int/lit8 v15, v15, 0x1
goto :goto_2
.end method
QQ:286406786
阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开
发者可享99元/年,续费同价!