Constant class

Пакет: com.hypixel.hytale.procedurallib.supplier

Файл: com/hypixel/hytale/procedurallib/supplier/DoubleRange.java

implements: IDoubleRange

Поля (1)

МодификаторыТипИмя
protected final double result

Методы (7)

МодификаторыВозвратСигнатура
public double getResultpublic double getResult()
public double getValuepublic double getValue(double var1)
public double getValuepublic double getValue(DoubleSupplier var1)
public double getValuepublic double getValue(Random var1)
public double getValuepublic double getValue(int var1, double var2, double var4, IDoubleCoordinateSupplier2d var6)
public double getValuepublic double getValue(int var1, double var2, double var4, double var6, IDoubleCoordinateSupplier3d var8)
public String toStringpublic String toString()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.procedurallib.supplier;

class="kw">import java.util.Arrays;
class="kw">import java.util.Random;
class="kw">import java.util.function.DoubleSupplier;
class="kw">import javax.annotation.Nonnull;

class="kw">public class DoubleRange {
   class="kw">public class="kw">static class="kw">final DoubleRange.Constant ZERO = new DoubleRange.Constant(0.0);
   class="kw">public class="kw">static class="kw">final DoubleRange.Constant ONE = new DoubleRange.Constant(1.0);

   class="kw">public DoubleRange() {
   }

   class="kw">public class="kw">static class Constant class="kw">implements IDoubleRange {
      class="kw">protected class="kw">final double result;

      class="kw">public Constant(double var1) {
         this.result = var1;
      }

      class="kw">public double getResult() {
         class="kw">return this.result;
      }

      @Override
      class="kw">public double getValue(double var1) {
         class="kw">return this.result;
      }

      @Override
      class="kw">public double getValue(DoubleSupplier var1) {
         class="kw">return this.result;
      }

      @Override
      class="kw">public double getValue(Random var1) {
         class="kw">return this.result;
      }

      @Override
      class="kw">public double getValue(int var1, double var2, double var4, IDoubleCoordinateSupplier2d var6) {
         class="kw">return this.result;
      }

      @Override
      class="kw">public double getValue(int var1, double var2, double var4, double var6, IDoubleCoordinateSupplier3d var8) {
         class="kw">return this.result;
      }

      @Nonnull
      @Override
      class="kw">public String toString() {
         class="kw">return "DoubleRange.Constant{result=" + this.result + "}";
      }
   }

   class="kw">public class="kw">static class Multiple class="kw">implements IDoubleRange {
      class="kw">protected class="kw">final double[] thresholds;
      class="kw">protected class="kw">final double[] values;

      class="kw">public Multiple(double[] var1, double[] var2) {
         this.thresholds = var1;
         this.values = var2;
      }

      @Override
      class="kw">public double getValue(double var1) {
         if (var1 > this.thresholds[this.thresholds.length - 1]) {
            class="kw">return this.values[this.values.length - 1];
         }

         double var3 = 0.0;

         for (int var5 = 0; var5 < this.thresholds.length; var5++) {
            double var6 = this.thresholds[var5];
            if (var1 < var6) {
               if (var5 == 0) {
                  class="kw">return this.values[0];
               }

               double var8 = (var1 - var3) / (var6 - var3);
               double var10 = this.values[var5 - 1];
               double var12 = this.values[var5];
               double var14 = var12 - var10;
               class="kw">return var10 + var8 * var14;
            }

            var3 = var6;
         }

         class="kw">return 0.0;
      }

      @Override
      class="kw">public double getValue(@Nonnull DoubleSupplier var1) {
         class="kw">return this.getValue(var1.getAsDouble());
      }

      @Override
      class="kw">public double getValue(@Nonnull Random var1) {
         class="kw">return this.getValue(var1.nextDouble());
      }

      @Override
      class="kw">public double getValue(int var1, double var2, double var4, @Nonnull IDoubleCoordinateSupplier2d var6) {
         class="kw">return this.getValue(var6.get(var1, var2, var4));
      }

      @Override
      class="kw">public double getValue(int var1, double var2, double var4, double var6, @Nonnull IDoubleCoordinateSupplier3d var8) {
         class="kw">return this.getValue(var8.get(var1, var2, var4, var6));
      }

      @Nonnull
      @Override
      class="kw">public String toString() {
         class="kw">return "Multiple{thresholds=" + Arrays.toString(this.thresholds) + ", values=" + Arrays.toString(this.values) + "}";
      }
   }

   class="kw">public class="kw">static class Normal class="kw">implements IDoubleRange {
      class="kw">protected class="kw">final double min;
      class="kw">protected class="kw">final double range;

      class="kw">public Normal(double var1, double var3) {
         this.min = var1;
         this.range = var3 - var1;
      }

      class="kw">public double getMin() {
         class="kw">return this.min;
      }

      class="kw">public double getRange() {
         class="kw">return this.range;
      }

      @Override
      class="kw">public double getValue(double var1) {
         class="kw">return this.min + this.range * var1;
      }

      @Override
      class="kw">public double getValue(@Nonnull DoubleSupplier var1) {
         class="kw">return this.min + this.range * var1.getAsDouble();
      }

      @Override
      class="kw">public double getValue(@Nonnull Random var1) {
         class="kw">return this.getValue(var1.nextDouble());
      }

      @Override
      class="kw">public double getValue(int var1, double var2, double var4, @Nonnull IDoubleCoordinateSupplier2d var6) {
         class="kw">return this.min + this.range * var6.get(var1, var2, var4);
      }

      @Override
      class="kw">public double getValue(int var1, double var2, double var4, double var6, @Nonnull IDoubleCoordinateSupplier3d var8) {
         class="kw">return this.min + this.range * var8.get(var1, var2, var4, var6);
      }

      @Nonnull
      @Override
      class="kw">public String toString() {
         class="kw">return "DoubleRange.Normal{min=" + this.min + ", range=" + this.range + "}";
      }
   }
}