OldSimplexNoise class
Пакет: com.hypixel.hytale.procedurallib.logic
Файл: com/hypixel/hytale/procedurallib/logic/OldSimplexNoise.java
implements: NoiseFunction
Поля (365)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
OldSimplexNoise |
INSTANCE |
|
int |
var10 |
|
|
var10 |
|
|
var10 |
|
double |
var100 |
|
double |
var102 |
|
double |
var104 |
|
double |
var106 |
|
double |
var108 |
|
double |
var11 |
|
double |
var11 |
|
DoubleArray.Double3 |
var11 |
|
double |
var110 |
|
double |
var112 |
|
double |
var114 |
|
double |
var116 |
|
double |
var118 |
|
double |
var120 |
|
double |
var122 |
|
byte |
var127 |
|
|
var127 |
|
double |
var128 |
|
|
var128 |
|
|
var128 |
|
double |
var129 |
|
int |
var13 |
|
double |
var13 |
|
double |
var131 |
|
|
var131 |
|
double |
var132 |
|
byte |
var134 |
|
|
var134 |
|
boolean |
var135 |
|
|
var135 |
|
|
var135 |
|
|
var135 |
|
|
var135 |
|
double |
var136 |
|
|
var136 |
|
double |
var137 |
|
|
var137 |
|
|
var137 |
|
double |
var138 |
|
byte |
var139 |
|
|
var139 |
|
|
var139 |
|
|
var139 |
|
|
var139 |
|
int |
var14 |
|
byte |
var140 |
|
double |
var141 |
|
byte |
var143 |
|
byte |
var144 |
|
double |
var145 |
|
double |
var146 |
|
double |
var147 |
|
double |
var148 |
|
double |
var149 |
|
double |
var15 |
|
double |
var15 |
|
double |
var150 |
|
double |
var151 |
|
double |
var153 |
|
double |
var154 |
|
byte |
var155 |
|
byte |
var156 |
|
byte |
var157 |
|
|
var157 |
|
|
var157 |
|
double |
var158 |
|
double |
var160 |
|
double |
var161 |
|
double |
var162 |
|
double |
var163 |
|
double |
var164 |
|
double |
var165 |
|
double |
var167 |
|
double |
var169 |
|
double |
var17 |
|
int |
var17 |
|
double |
var171 |
|
double |
var172 |
|
double |
var173 |
|
double |
var174 |
|
double |
var175 |
|
double |
var176 |
|
double |
var178 |
|
int |
var18 |
|
double |
var180 |
|
double |
var182 |
|
double |
var184 |
|
double |
var19 |
|
int |
var19 |
|
int |
var2 |
|
double |
var20 |
|
double |
var21 |
|
double |
var22 |
|
double |
var23 |
|
double |
var24 |
|
double |
var25 |
|
double |
var26 |
|
double |
var27 |
|
|
var27 |
|
double |
var28 |
|
double |
var29 |
|
|
var29 |
|
double |
var30 |
|
double |
var31 |
|
|
var31 |
|
|
var31 |
|
|
var31 |
|
|
var31 |
|
|
var31 |
|
|
var31 |
|
double |
var32 |
|
double |
var33 |
|
|
var33 |
|
|
var33 |
|
|
var33 |
|
|
var33 |
|
|
var33 |
|
|
var33 |
|
double |
var34 |
|
int |
var35 |
|
|
var35 |
|
|
var35 |
|
|
var35 |
|
|
var35 |
|
|
var35 |
|
|
var35 |
|
int |
var36 |
|
|
var36 |
|
|
var36 |
|
|
var36 |
|
|
var36 |
|
|
var36 |
|
|
var36 |
|
double |
var36 |
|
|
var36 |
|
double |
var37 |
|
double |
var38 |
|
|
var38 |
|
double |
var39 |
|
double |
var40 |
|
|
var40 |
|
double |
var41 |
|
double |
var42 |
|
|
var42 |
|
|
var42 |
|
|
var42 |
|
|
var42 |
|
|
var42 |
|
|
var42 |
|
|
var42 |
|
|
var42 |
|
|
var42 |
|
|
var42 |
|
|
var42 |
|
|
var42 |
|
|
var42 |
|
double |
var43 |
|
double |
var44 |
|
|
var44 |
|
|
var44 |
|
|
var44 |
|
|
var44 |
|
|
var44 |
|
|
var44 |
|
|
var44 |
|
|
var44 |
|
|
var44 |
|
|
var44 |
|
|
var44 |
|
|
var44 |
|
|
var44 |
|
double |
var45 |
|
double |
var46 |
|
|
var46 |
|
|
var46 |
|
|
var46 |
|
|
var46 |
|
|
var46 |
|
|
var46 |
|
|
var46 |
|
|
var46 |
|
|
var46 |
|
|
var46 |
|
|
var46 |
|
|
var46 |
|
|
var46 |
|
double |
var47 |
|
double |
var48 |
|
|
var48 |
|
|
var48 |
|
|
var48 |
|
|
var48 |
|
|
var48 |
|
|
var48 |
|
|
var48 |
|
|
var48 |
|
|
var48 |
|
|
var48 |
|
|
var48 |
|
|
var48 |
|
|
var48 |
|
double |
var49 |
|
double |
var50 |
|
|
var50 |
|
|
var50 |
|
|
var50 |
|
|
var50 |
|
|
var50 |
|
|
var50 |
|
|
var50 |
|
|
var50 |
|
|
var50 |
|
|
var50 |
|
|
var50 |
|
|
var50 |
|
double |
var51 |
|
double |
var52 |
|
|
var52 |
|
|
var52 |
|
|
var52 |
|
|
var52 |
|
|
var52 |
|
|
var52 |
|
|
var52 |
|
|
var52 |
|
|
var52 |
|
|
var52 |
|
|
var52 |
|
|
var52 |
|
|
var52 |
|
double |
var53 |
|
int |
var54 |
|
|
var54 |
|
|
var54 |
|
|
var54 |
|
|
var54 |
|
|
var54 |
|
|
var54 |
|
|
var54 |
|
|
var54 |
|
|
var54 |
|
|
var54 |
|
|
var54 |
|
|
var54 |
|
|
var54 |
|
int |
var55 |
|
|
var55 |
|
|
var55 |
|
|
var55 |
|
|
var55 |
|
|
var55 |
|
|
var55 |
|
|
var55 |
|
|
var55 |
|
|
var55 |
|
|
var55 |
|
|
var55 |
|
|
var55 |
|
|
var55 |
|
int |
var56 |
|
|
var56 |
|
|
var56 |
|
|
var56 |
|
|
var56 |
|
|
var56 |
|
|
var56 |
|
|
var56 |
|
|
var56 |
|
|
var56 |
|
|
var56 |
|
|
var56 |
|
|
var56 |
|
|
var56 |
|
double |
var57 |
|
int |
var57 |
|
|
var57 |
|
|
var57 |
|
|
var57 |
|
|
var57 |
|
|
var57 |
|
|
var57 |
|
|
var57 |
|
|
var57 |
|
|
var57 |
|
|
var57 |
|
|
var57 |
|
|
var57 |
|
|
var57 |
|
double |
var58 |
|
int |
var58 |
|
|
var58 |
|
|
var58 |
|
|
var58 |
|
|
var58 |
|
|
var58 |
|
|
var58 |
|
|
var58 |
|
|
var58 |
|
|
var58 |
|
|
var58 |
|
|
var58 |
|
|
var58 |
|
int |
var59 |
|
|
var59 |
|
|
var59 |
|
|
var59 |
|
|
var59 |
|
|
var59 |
|
|
var59 |
|
|
var59 |
|
|
var59 |
|
|
var59 |
|
|
var59 |
|
|
var59 |
|
|
var59 |
|
|
var59 |
|
double |
var60 |
|
byte |
var62 |
|
|
var62 |
|
double |
var63 |
|
|
var63 |
|
byte |
var64 |
|
|
var64 |
|
|
var64 |
|
|
var64 |
|
|
var64 |
|
byte |
var65 |
|
|
var65 |
|
double |
var66 |
|
|
var66 |
|
double |
var68 |
|
boolean |
var69 |
|
|
var69 |
|
|
var69 |
|
|
var69 |
|
|
var69 |
|
double |
var7 |
|
int |
var7 |
|
|
var7 |
|
|
var7 |
|
byte |
var70 |
|
double |
var72 |
|
double |
var74 |
|
double |
var76 |
|
byte |
var77 |
|
|
var77 |
|
|
var77 |
|
double |
var78 |
|
DoubleArray.Double2 |
var8 |
|
double |
var80 |
|
double |
var82 |
|
double |
var84 |
|
double |
var86 |
|
double |
var88 |
|
double |
var9 |
|
double |
var9 |
|
double |
var90 |
|
double |
var92 |
|
double |
var94 |
|
double |
var96 |
|
double |
var98 |
Методы (35)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
double |
extrapolatedouble extrapolate(int var0, int var1, int var2, double var3, double var5) |
static |
double |
extrapolatedouble extrapolate(int var0, int var1, int var2, int var3, double var4, double var6, double var8) |
static |
int |
fastFloorint fastFloor(double var0) |
|
|
if if(var43 > 0.0) |
|
|
if if(var49 > 0.0) |
|
|
if if(var25 <= 1.0) |
|
|
if if(var58 > 0.0) |
|
|
if if(var53 > 0.0) |
|
|
if if(var34 <= 1.0) |
|
|
if if(var63 >= var66 && var32 > var66) |
|
|
if if(var141 > 0.0) |
|
|
if if(var78 > 0.0) |
|
|
if if(var86 > 0.0) |
|
|
if if(var94 > 0.0) |
|
|
if if(var131 <= var136 && var32 < var136) |
|
|
if if(var151 > 0.0) |
|
|
if if(var167 > 0.0) |
|
|
if if(var178 > 0.0) |
|
|
if if(var182 > 0.0) |
|
|
if if(var146 > 1.0) |
|
|
if if(var148 > 1.0) |
|
|
if if(var150 > 1.0) |
|
|
if if(var128 <= var137 && var128 < var154) |
|
|
if if(var128 <= var137 && var128 < var153) |
|
|
if if(var135 == var69) |
|
|
if if(var135) |
|
|
if if(var135) |
|
|
if if(var165 > 0.0) |
|
|
if if(var176 > 0.0) |
|
|
if if(var98 > 0.0) |
|
|
if if(var106 > 0.0) |
|
|
if if(var114 > 0.0) |
|
|
if if(var122 > 0.0) |
|
|
if if(var129 > 0.0) |
|
|
if if(var132 > 0.0) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.procedurallib.logic;
class="kw">import com.hypixel.hytale.procedurallib.NoiseFunction;
class="kw">import javax.annotation.Nonnull;
class="kw">public class OldSimplexNoise class="kw">implements NoiseFunction {
class="kw">public class="kw">static class="kw">final OldSimplexNoise INSTANCE = new OldSimplexNoise();
class="kw">private class="kw">static class="kw">final double STRETCH_CONSTANT_2D = -0.211324865405187;
class="kw">private class="kw">static class="kw">final double SQUISH_CONSTANT_2D = 0.366025403784439;
class="kw">private class="kw">static class="kw">final double STRETCH_CONSTANT_3D = -0.16666666666666666;
class="kw">private class="kw">static class="kw">final double SQUISH_CONSTANT_3D = 0.3333333333333333;
class="kw">private class="kw">static class="kw">final double NORM_CONSTANT_2D = 47.0;
class="kw">private class="kw">static class="kw">final double NORM_CONSTANT_3D = 103.0;
@Nonnull
class="kw">private class="kw">static DoubleArray.Double2[] gradients2D = new DoubleArray.Double2[]{
new DoubleArray.Double2(5.0, 2.0),
new DoubleArray.Double2(2.0, 5.0),
new DoubleArray.Double2(-5.0, 2.0),
new DoubleArray.Double2(-2.0, 5.0),
new DoubleArray.Double2(5.0, -2.0),
new DoubleArray.Double2(2.0, -5.0),
new DoubleArray.Double2(-5.0, -2.0),
new DoubleArray.Double2(-2.0, -5.0)
};
@Nonnull
class="kw">private class="kw">static DoubleArray.Double3[] gradients3D = new DoubleArray.Double3[]{
new DoubleArray.Double3(-11.0, 4.0, 4.0),
new DoubleArray.Double3(-4.0, 11.0, 4.0),
new DoubleArray.Double3(-4.0, 4.0, 11.0),
new DoubleArray.Double3(11.0, 4.0, 4.0),
new DoubleArray.Double3(4.0, 11.0, 4.0),
new DoubleArray.Double3(4.0, 4.0, 11.0),
new DoubleArray.Double3(-11.0, -4.0, 4.0),
new DoubleArray.Double3(-4.0, -11.0, 4.0),
new DoubleArray.Double3(-4.0, -4.0, 11.0),
new DoubleArray.Double3(11.0, -4.0, 4.0),
new DoubleArray.Double3(4.0, -11.0, 4.0),
new DoubleArray.Double3(4.0, -4.0, 11.0),
new DoubleArray.Double3(-11.0, 4.0, -4.0),
new DoubleArray.Double3(-4.0, 11.0, -4.0),
new DoubleArray.Double3(-4.0, 4.0, -11.0),
new DoubleArray.Double3(11.0, 4.0, -4.0),
new DoubleArray.Double3(4.0, 11.0, -4.0),
new DoubleArray.Double3(4.0, 4.0, -11.0),
new DoubleArray.Double3(-11.0, -4.0, -4.0),
new DoubleArray.Double3(-4.0, -11.0, -4.0),
new DoubleArray.Double3(-4.0, -4.0, -11.0),
new DoubleArray.Double3(11.0, -4.0, -4.0),
new DoubleArray.Double3(4.0, -11.0, -4.0),
new DoubleArray.Double3(4.0, -4.0, -11.0)
};
class="kw">private OldSimplexNoise() {
}
@Override
class="kw">public double get(int var1, int var2, double var3, double var5) {
double var7 = (var3 + var5) * -0.211324865405187;
double var9 = var3 + var7;
double var11 = var5 + var7;
int var13 = fastFloor(var9);
int var14 = fastFloor(var11);
double var15 = (var13 + var14) * 0.366025403784439;
double var17 = var13 + var15;
double var19 = var14 + var15;
double var21 = var9 - var13;
double var23 = var11 - var14;
double var25 = var21 + var23;
double var27 = var3 - var17;
double var29 = var5 - var19;
double var37 = 0.0;
double var39 = var27 - 1.0 - 0.366025403784439;
double var41 = var29 - 0.0 - 0.366025403784439;
double var43 = 2.0 - var39 * var39 - var41 * var41;
if (var43 > 0.0) {
var43 *= var43;
var37 += var43 * var43 * extrapolate(var2, var13 + 1, var14 + 0, var39, var41);
}
double var45 = var27 - 0.0 - 0.366025403784439;
double var47 = var29 - 1.0 - 0.366025403784439;
double var49 = 2.0 - var45 * var45 - var47 * var47;
if (var49 > 0.0) {
var49 *= var49;
var37 += var49 * var49 * extrapolate(var2, var13 + 0, var14 + 1, var45, var47);
}
double var31;
double var33;
int var35;
int var36;
if (var25 <= 1.0) {
double var51 = 1.0 - var25;
if (!(var51 > var21) && !(var51 > var23)) {
var35 = var13 + 1;
var36 = var14 + 1;
var31 = var27 - 1.0 - 0.732050807568878;
var33 = var29 - 1.0 - 0.732050807568878;
} else if (var21 > var23) {
var35 = var13 + 1;
var36 = var14 - 1;
var31 = var27 - 1.0;
var33 = var29 + 1.0;
} else {
var35 = var13 - 1;
var36 = var14 + 1;
var31 = var27 + 1.0;
var33 = var29 - 1.0;
}
} else {
double var57 = 2.0 - var25;
if (!(var57 < var21) && !(var57 < var23)) {
var31 = var27;
var33 = var29;
var35 = var13;
var36 = var14;
} else if (var21 > var23) {
var35 = var13 + 2;
var36 = var14 + 0;
var31 = var27 - 2.0 - 0.732050807568878;
var33 = var29 + 0.0 - 0.732050807568878;
} else {
var35 = var13 + 0;
var36 = var14 + 2;
var31 = var27 + 0.0 - 0.732050807568878;
var33 = var29 - 2.0 - 0.732050807568878;
}
var13++;
var14++;
var27 = var27 - 1.0 - 0.732050807568878;
var29 = var29 - 1.0 - 0.732050807568878;
}
double var58 = 2.0 - var27 * var27 - var29 * var29;
if (var58 > 0.0) {
var58 *= var58;
var37 += var58 * var58 * extrapolate(var2, var13, var14, var27, var29);
}
double var53 = 2.0 - var31 * var31 - var33 * var33;
if (var53 > 0.0) {
var53 *= var53;
var37 += var53 * var53 * extrapolate(var2, var35, var36, var31, var33);
}
class="kw">return var37 / 47.0;
}
@Override
class="kw">public double get(int var1, int var2, double var3, double var5, double var7) {
double var9 = (var3 + var5 + var7) * -0.16666666666666666;
double var11 = var3 + var9;
double var13 = var5 + var9;
double var15 = var7 + var9;
int var17 = fastFloor(var11);
int var18 = fastFloor(var13);
int var19 = fastFloor(var15);
double var20 = (var17 + var18 + var19) * 0.3333333333333333;
double var22 = var17 + var20;
double var24 = var18 + var20;
double var26 = var19 + var20;
double var28 = var11 - var17;
double var30 = var13 - var18;
double var32 = var15 - var19;
double var34 = var28 + var30 + var32;
double var36 = var3 - var22;
double var38 = var5 - var24;
double var40 = var7 - var26;
double var60 = 0.0;
double var42;
double var44;
double var46;
double var48;
double var50;
double var52;
int var54;
int var55;
int var56;
int var57;
int var58;
int var59;
if (var34 <= 1.0) {
byte var62 = 1;
double var63 = var28;
byte var65 = 2;
double var66 = var30;
if (var63 >= var66 && var32 > var66) {
var66 = var32;
var65 = 4;
} else if (var63 < var66 && var32 > var63) {
var63 = var32;
var62 = 4;
}
double var68 = 1.0 - var34;
if (!(var68 > var63) && !(var68 > var66)) {
byte var140 = (byte)(var62 | var65);
if ((var140 & 1) == 0) {
var54 = var17;
var57 = var17 - 1;
var42 = var36 - 0.6666666666666666;
var48 = var36 + 1.0 - 0.3333333333333333;
} else {
var54 = var57 = var17 + 1;
var42 = var36 - 1.0 - 0.6666666666666666;
var48 = var36 - 1.0 - 0.3333333333333333;
}
if ((var140 & 2) == 0) {
var55 = var18;
var58 = var18 - 1;
var44 = var38 - 0.6666666666666666;
var50 = var38 + 1.0 - 0.3333333333333333;
} else {
var55 = var58 = var18 + 1;
var44 = var38 - 1.0 - 0.6666666666666666;
var50 = var38 - 1.0 - 0.3333333333333333;
}
if ((var140 & 4) == 0) {
var56 = var19;
var59 = var19 - 1;
var46 = var40 - 0.6666666666666666;
var52 = var40 + 1.0 - 0.3333333333333333;
} else {
var56 = var59 = var19 + 1;
var46 = var40 - 1.0 - 0.6666666666666666;
var52 = var40 - 1.0 - 0.3333333333333333;
}
} else {
byte var70 = var66 > var63 ? var65 : var62;
if ((var70 & 1) == 0) {
var54 = var17 - 1;
var57 = var17;
var42 = var36 + 1.0;
var48 = var36;
} else {
var54 = var57 = var17 + 1;
var42 = var48 = var36 - 1.0;
}
if ((var70 & 2) == 0) {
var58 = var18;
var55 = var18;
var50 = var38;
var44 = var38;
if ((var70 & 1) == 0) {
var58--;
var50++;
} else {
var55--;
var44++;
}
} else {
var55 = var58 = var18 + 1;
var44 = var50 = var38 - 1.0;
}
if ((var70 & 4) == 0) {
var56 = var19;
var59 = var19 - 1;
var46 = var40;
var52 = var40 + 1.0;
} else {
var56 = var59 = var19 + 1;
var46 = var52 = var40 - 1.0;
}
}
double var141 = 2.0 - var36 * var36 - var38 * var38 - var40 * var40;
if (var141 > 0.0) {
var141 *= var141;
var60 += var141 * var141 * extrapolate(var2, var17 + 0, var18 + 0, var19 + 0, var36, var38, var40);
}
double var72 = var36 - 1.0 - 0.3333333333333333;
double var74 = var38 - 0.0 - 0.3333333333333333;
double var76 = var40 - 0.0 - 0.3333333333333333;
double var78 = 2.0 - var72 * var72 - var74 * var74 - var76 * var76;
if (var78 > 0.0) {
var78 *= var78;
var60 += var78 * var78 * extrapolate(var2, var17 + 1, var18 + 0, var19 + 0, var72, var74, var76);
}
double var80 = var36 - 0.0 - 0.3333333333333333;
double var82 = var38 - 1.0 - 0.3333333333333333;
double var84 = var76;
double var86 = 2.0 - var80 * var80 - var82 * var82 - var84 * var84;
if (var86 > 0.0) {
var86 *= var86;
var60 += var86 * var86 * extrapolate(var2, var17 + 0, var18 + 1, var19 + 0, var80, var82, var84);
}
double var88 = var80;
double var90 = var74;
double var92 = var40 - 1.0 - 0.3333333333333333;
double var94 = 2.0 - var88 * var88 - var90 * var90 - var92 * var92;
if (var94 > 0.0) {
var94 *= var94;
var60 += var94 * var94 * extrapolate(var2, var17 + 0, var18 + 0, var19 + 1, var88, var90, var92);
}
} else if (var34 >= 2.0) {
byte var127 = 6;
double var131 = var28;
byte var134 = 5;
double var136 = var30;
if (var131 <= var136 && var32 < var136) {
var136 = var32;
var134 = 3;
} else if (var131 > var136 && var32 < var131) {
var131 = var32;
var127 = 3;
}
double var138 = 3.0 - var34;
if (!(var138 < var131) && !(var138 < var136)) {
byte var144 = (byte)(var127 & var134);
if ((var144 & 1) != 0) {
var54 = var17 + 1;
var57 = var17 + 2;
var42 = var36 - 1.0 - 0.3333333333333333;
var48 = var36 - 2.0 - 0.6666666666666666;
} else {
var57 = var17;
var54 = var17;
var42 = var36 - 0.3333333333333333;
var48 = var36 - 0.6666666666666666;
}
if ((var144 & 2) != 0) {
var55 = var18 + 1;
var58 = var18 + 2;
var44 = var38 - 1.0 - 0.3333333333333333;
var50 = var38 - 2.0 - 0.6666666666666666;
} else {
var58 = var18;
var55 = var18;
var44 = var38 - 0.3333333333333333;
var50 = var38 - 0.6666666666666666;
}
if ((var144 & 4) != 0) {
var56 = var19 + 1;
var59 = var19 + 2;
var46 = var40 - 1.0 - 0.3333333333333333;
var52 = var40 - 2.0 - 0.6666666666666666;
} else {
var59 = var19;
var56 = var19;
var46 = var40 - 0.3333333333333333;
var52 = var40 - 0.6666666666666666;
}
} else {
byte var143 = var136 < var131 ? var134 : var127;
if ((var143 & 1) != 0) {
var54 = var17 + 2;
var57 = var17 + 1;
var42 = var36 - 2.0 - 1.0;
var48 = var36 - 1.0 - 1.0;
} else {
var57 = var17;
var54 = var17;
var42 = var48 = var36 - 1.0;
}
if ((var143 & 2) != 0) {
var55 = var58 = var18 + 1;
var44 = var50 = var38 - 1.0 - 1.0;
if ((var143 & 1) != 0) {
var58++;
var50--;
} else {
var55++;
var44--;
}
} else {
var58 = var18;
var55 = var18;
var44 = var50 = var38 - 1.0;
}
if ((var143 & 4) != 0) {
var56 = var19 + 1;
var59 = var19 + 2;
var46 = var40 - 1.0 - 1.0;
var52 = var40 - 2.0 - 1.0;
} else {
var59 = var19;
var56 = var19;
var46 = var52 = var40 - 1.0;
}
}
double var145 = var36 - 1.0 - 0.6666666666666666;
double var147 = var38 - 1.0 - 0.6666666666666666;
double var149 = var40 - 0.0 - 0.6666666666666666;
double var151 = 2.0 - var145 * var145 - var147 * var147 - var149 * var149;
if (var151 > 0.0) {
var151 *= var151;
var60 += var151 * var151 * extrapolate(var2, var17 + 1, var18 + 1, var19 + 0, var145, var147, var149);
}
double var160 = var145;
double var162 = var38 - 0.0 - 0.6666666666666666;
double var164 = var40 - 1.0 - 0.6666666666666666;
double var167 = 2.0 - var160 * var160 - var162 * var162 - var164 * var164;
if (var167 > 0.0) {
var167 *= var167;
var60 += var167 * var167 * extrapolate(var2, var17 + 1, var18 + 0, var19 + 1, var160, var162, var164);
}
double var171 = var36 - 0.0 - 0.6666666666666666;
double var173 = var147;
double var175 = var164;
double var178 = 2.0 - var171 * var171 - var173 * var173 - var175 * var175;
if (var178 > 0.0) {
var178 *= var178;
var60 += var178 * var178 * extrapolate(var2, var17 + 0, var18 + 1, var19 + 1, var171, var173, var175);
}
var36 = var36 - 1.0 - 1.0;
var38 = var38 - 1.0 - 1.0;
var40 = var40 - 1.0 - 1.0;
double var182 = 2.0 - var36 * var36 - var38 * var38 - var40 * var40;
if (var182 > 0.0) {
var182 *= var182;
var60 += var182 * var182 * extrapolate(var2, var17 + 1, var18 + 1, var19 + 1, var36, var38, var40);
}
} else {
double var146 = var28 + var30;
byte var64;
double var128;
boolean var135;
if (var146 > 1.0) {
var128 = var146 - 1.0;
var64 = 3;
var135 = true;
} else {
var128 = 1.0 - var146;
var64 = 4;
var135 = false;
}
double var148 = var28 + var32;
boolean var69;
double var137;
byte var139;
if (var148 > 1.0) {
var137 = var148 - 1.0;
var139 = 5;
var69 = true;
} else {
var137 = 1.0 - var148;
var139 = 2;
var69 = false;
}
double var150 = var30 + var32;
if (var150 > 1.0) {
double var154 = var150 - 1.0;
if (var128 <= var137 && var128 < var154) {
var64 = 6;
var135 = true;
} else if (var128 > var137 && var137 < var154) {
var139 = 6;
var69 = true;
}
} else {
double var153 = 1.0 - var150;
if (var128 <= var137 && var128 < var153) {
var64 = 1;
var135 = false;
} else if (var128 > var137 && var137 < var153) {
var139 = 1;
var69 = false;
}
}
if (var135 == var69) {
if (var135) {
var42 = var36 - 1.0 - 1.0;
var44 = var38 - 1.0 - 1.0;
var46 = var40 - 1.0 - 1.0;
var54 = var17 + 1;
var55 = var18 + 1;
var56 = var19 + 1;
byte var155 = (byte)(var64 & var139);
if ((var155 & 1) != 0) {
var48 = var36 - 2.0 - 0.6666666666666666;
var50 = var38 - 0.6666666666666666;
var52 = var40 - 0.6666666666666666;
var57 = var17 + 2;
var58 = var18;
var59 = var19;
} else if ((var155 & 2) != 0) {
var48 = var36 - 0.6666666666666666;
var50 = var38 - 2.0 - 0.6666666666666666;
var52 = var40 - 0.6666666666666666;
var57 = var17;
var58 = var18 + 2;
var59 = var19;
} else {
var48 = var36 - 0.6666666666666666;
var50 = var38 - 0.6666666666666666;
var52 = var40 - 2.0 - 0.6666666666666666;
var57 = var17;
var58 = var18;
var59 = var19 + 2;
}
} else {
var42 = var36;
var44 = var38;
var46 = var40;
var54 = var17;
var55 = var18;
var56 = var19;
byte var156 = (byte)(var64 | var139);
if ((var156 & 1) == 0) {
var48 = var36 + 1.0 - 0.3333333333333333;
var50 = var38 - 1.0 - 0.3333333333333333;
var52 = var40 - 1.0 - 0.3333333333333333;
var57 = var17 - 1;
var58 = var18 + 1;
var59 = var19 + 1;
} else if ((var156 & 2) == 0) {
var48 = var36 - 1.0 - 0.3333333333333333;
var50 = var38 + 1.0 - 0.3333333333333333;
var52 = var40 - 1.0 - 0.3333333333333333;
var57 = var17 + 1;
var58 = var18 - 1;
var59 = var19 + 1;
} else {
var48 = var36 - 1.0 - 0.3333333333333333;
var50 = var38 - 1.0 - 0.3333333333333333;
var52 = var40 + 1.0 - 0.3333333333333333;
var57 = var17 + 1;
var58 = var18 + 1;
var59 = var19 - 1;
}
}
} else {
byte var77;
byte var157;
if (var135) {
var157 = var64;
var77 = var139;
} else {
var157 = var139;
var77 = var64;
}
if ((var157 & 1) == 0) {
var42 = var36 + 1.0 - 0.3333333333333333;
var44 = var38 - 1.0 - 0.3333333333333333;
var46 = var40 - 1.0 - 0.3333333333333333;
var54 = var17 - 1;
var55 = var18 + 1;
var56 = var19 + 1;
} else if ((var157 & 2) == 0) {
var42 = var36 - 1.0 - 0.3333333333333333;
var44 = var38 + 1.0 - 0.3333333333333333;
var46 = var40 - 1.0 - 0.3333333333333333;
var54 = var17 + 1;
var55 = var18 - 1;
var56 = var19 + 1;
} else {
var42 = var36 - 1.0 - 0.3333333333333333;
var44 = var38 - 1.0 - 0.3333333333333333;
var46 = var40 + 1.0 - 0.3333333333333333;
var54 = var17 + 1;
var55 = var18 + 1;
var56 = var19 - 1;
}
var48 = var36 - 0.6666666666666666;
var50 = var38 - 0.6666666666666666;
var52 = var40 - 0.6666666666666666;
var57 = var17;
var58 = var18;
var59 = var19;
if ((var77 & 1) != 0) {
var48 -= 2.0;
var57 += 2;
} else if ((var77 & 2) != 0) {
var50 -= 2.0;
var58 += 2;
} else {
var52 -= 2.0;
var59 += 2;
}
}
double var158 = var36 - 1.0 - 0.3333333333333333;
double var161 = var38 - 0.0 - 0.3333333333333333;
double var163 = var40 - 0.0 - 0.3333333333333333;
double var165 = 2.0 - var158 * var158 - var161 * var161 - var163 * var163;
if (var165 > 0.0) {
var165 *= var165;
var60 += var165 * var165 * extrapolate(var2, var17 + 1, var18 + 0, var19 + 0, var158, var161, var163);
}
double var169 = var36 - 0.0 - 0.3333333333333333;
double var172 = var38 - 1.0 - 0.3333333333333333;
double var174 = var163;
double var176 = 2.0 - var169 * var169 - var172 * var172 - var174 * var174;
if (var176 > 0.0) {
var176 *= var176;
var60 += var176 * var176 * extrapolate(var2, var17 + 0, var18 + 1, var19 + 0, var169, var172, var174);
}
double var180 = var169;
double var184 = var161;
double var96 = var40 - 1.0 - 0.3333333333333333;
double var98 = 2.0 - var180 * var180 - var184 * var184 - var96 * var96;
if (var98 > 0.0) {
var98 *= var98;
var60 += var98 * var98 * extrapolate(var2, var17 + 0, var18 + 0, var19 + 1, var180, var184, var96);
}
double var100 = var36 - 1.0 - 0.6666666666666666;
double var102 = var38 - 1.0 - 0.6666666666666666;
double var104 = var40 - 0.0 - 0.6666666666666666;
double var106 = 2.0 - var100 * var100 - var102 * var102 - var104 * var104;
if (var106 > 0.0) {
var106 *= var106;
var60 += var106 * var106 * extrapolate(var2, var17 + 1, var18 + 1, var19 + 0, var100, var102, var104);
}
double var108 = var100;
double var110 = var38 - 0.0 - 0.6666666666666666;
double var112 = var40 - 1.0 - 0.6666666666666666;
double var114 = 2.0 - var108 * var108 - var110 * var110 - var112 * var112;
if (var114 > 0.0) {
var114 *= var114;
var60 += var114 * var114 * extrapolate(var2, var17 + 1, var18 + 0, var19 + 1, var108, var110, var112);
}
double var116 = var36 - 0.0 - 0.6666666666666666;
double var118 = var102;
double var120 = var112;
double var122 = 2.0 - var116 * var116 - var118 * var118 - var120 * var120;
if (var122 > 0.0) {
var122 *= var122;
var60 += var122 * var122 * extrapolate(var2, var17 + 0, var18 + 1, var19 + 1, var116, var118, var120);
}
}
double var129 = 2.0 - var42 * var42 - var44 * var44 - var46 * var46;
if (var129 > 0.0) {
var129 *= var129;
var60 += var129 * var129 * extrapolate(var2, var54, var55, var56, var42, var44, var46);
}
double var132 = 2.0 - var48 * var48 - var50 * var50 - var52 * var52;
if (var132 > 0.0) {
var132 *= var132;
var60 += var132 * var132 * extrapolate(var2, var57, var58, var59, var48, var50, var52);
}
class="kw">return var60 / 103.0;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "OldSimplexNoise{}";
}
class="kw">private class="kw">static double extrapolate(int var0, int var1, int var2, double var3, double var5) {
int var7 = var0;
var7 ^= 1619 * var1;
var7 ^= 31337 * var2;
var7 = var7 * var7 * var7 * 60493;
var7 = var7 >> 13 ^ var7;
DoubleArray.Double2 var8 = gradients2D[var7 & 7];
class="kw">return var3 * var8.x + var5 * var8.y;
}
class="kw">private class="kw">static double extrapolate(int var0, int var1, int var2, int var3, double var4, double var6, double var8) {
int var10 = var0;
var10 ^= 1619 * var1;
var10 ^= 31337 * var2;
var10 ^= 6971 * var3;
var10 = var10 * var10 * var10 * 60493;
var10 = var10 >> 13 ^ var10;
DoubleArray.Double3 var11 = gradients3D[Math.floorMod(var10, gradients3D.length)];
class="kw">return var4 * var11.x + var6 * var11.y + var8 * var11.z;
}
class="kw">private class="kw">static int fastFloor(double var0) {
int var2 = (int)var0;
class="kw">return var0 < var2 ? var2 - 1 : var2;
}
}