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