FastRandom class
Пакет: com.hypixel.hytale.math.util
Файл: com/hypixel/hytale/math/util/FastRandom.java
extends: Random
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
long |
multiplier |
|
long |
var2 |
|
|
var2 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
UnsupportedOperationExceptionthrow new UnsupportedOperationException() |
static |
long |
initialScramblelong initialScramble(long var0) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.math.util;
class="kw">import java.util.Random;
class="kw">import java.util.concurrent.ThreadLocalRandom;
class="kw">public class FastRandom class="kw">extends Random {
class="kw">private class="kw">static class="kw">final long multiplier = 25214903917L;
class="kw">private class="kw">static class="kw">final long addend = 11L;
class="kw">private class="kw">static class="kw">final long mask = 281474976710655L;
class="kw">private long seed;
class="kw">public FastRandom() {
this.seed = initialScramble(ThreadLocalRandom.current().nextLong());
}
class="kw">public FastRandom(long var1) {
this.seed = initialScramble(var1);
}
@Override
class="kw">public void setSeed(long var1) {
this.seed = initialScramble(var1);
}
class="kw">private class="kw">static long initialScramble(long var0) {
class="kw">return (var0 ^ 25214903917L) & 281474976710655L;
}
@Override
class="kw">protected int next(int var1) {
long var2 = this.seed;
var2 = var2 * 25214903917L + 11L & 281474976710655L;
this.seed = var2;
class="kw">return (int)(var2 >>> 48 - var1);
}
@Override
class="kw">public class="kw">synchronized double nextGaussian() {
throw new UnsupportedOperationException();
}
}