DoubleRange class
Пакет: com.hypixel.hytale.procedurallib.supplier
Файл: com/hypixel/hytale/procedurallib/supplier/DoubleRange.java
Поля (13)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
DoubleRange.Constant |
ZERO |
|
protected final double |
min |
|
protected final double |
range |
|
protected final double |
result |
|
protected final double[] |
thresholds |
|
protected final double[] |
values |
|
double |
var10 |
|
double |
var12 |
|
double |
var14 |
|
double |
var3 |
|
|
var3 |
|
double |
var6 |
|
double |
var8 |
Методы (28)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public |
Constantpublic Constant(double var1) |
|
public |
Multiplepublic Multiple(double[] var1, double[] var2) |
|
public |
Normalpublic Normal(double var1, double var3) |
|
|
for for(int var5 = 0; var5 < this.thresholds.length; var5++) |
|
public double |
getMinpublic double getMin() |
|
public double |
getRangepublic double getRange() |
|
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 double |
getValuepublic double getValue(double var1) |
|
public double |
getValuepublic double getValue(@Nonnull DoubleSupplier var1) |
|
public double |
getValuepublic double getValue(@Nonnull Random var1) |
|
public double |
getValuepublic double getValue(int var1, double var2, double var4, @Nonnull IDoubleCoordinateSupplier2d var6) |
|
public double |
getValuepublic double getValue(int var1, double var2, double var4, double var6, @Nonnull IDoubleCoordinateSupplier3d var8) |
|
public double |
getValuepublic double getValue(double var1) |
|
public double |
getValuepublic double getValue(@Nonnull DoubleSupplier var1) |
|
public double |
getValuepublic double getValue(@Nonnull Random var1) |
|
public double |
getValuepublic double getValue(int var1, double var2, double var4, @Nonnull IDoubleCoordinateSupplier2d var6) |
|
public double |
getValuepublic double getValue(int var1, double var2, double var4, double var6, @Nonnull IDoubleCoordinateSupplier3d var8) |
|
|
if if(var1 > this.thresholds[this.thresholds.length - 1]) |
|
|
if if(var1 < var6) |
|
|
if if(var5 == 0) |
|
public String |
toStringpublic String toString() |
|
public String |
toStringpublic String toString() |
|
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 + "}";
}
}
}