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;
   }
}