Random renames (#3140)

Signed-off-by: liach <liach@users.noreply.github.com>

Co-authored-by: liach <liach@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
liach 2022-05-19 12:38:07 -05:00 committed by GitHub
parent d5927e8419
commit f9799eaf15
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 103 additions and 82 deletions

View File

@ -1,47 +0,0 @@
CLASS net/minecraft/class_5819 net/minecraft/util/math/random/AbstractRandom
COMMENT A reimplementation of {@link java.util.Random}.
COMMENT
COMMENT <p>There are four built-in implementations, three based on the classic Java algorithm
COMMENT and one using Xoroshiro128++ algorithm.
COMMENT
COMMENT <ul>
COMMENT <li>{@link SimpleRandom}: Silently breaks when used concurrently. Based on
COMMENT {@link java.util.Random}.</li>
COMMENT <li>{@link AtomicSimpleRandom}: Throws when used concurrently. Based on
COMMENT {@link java.util.Random}.</li>
COMMENT <li>{@link BlockingSimpleRandom}: Blocks the thread when used concurrently.. Based on
COMMENT {@link java.util.Random}.</li>
COMMENT <li>{@link Xoroshiro128PlusPlusRandom}: Silently breaks when used concurrently.
COMMENT Implements the Xoroshiro128++ algorithm.</li>
COMMENT </ul>
COMMENT
COMMENT @implNote Note that due to MC-239059, this is not an exact reimplementation of
COMMENT the Java random number generator algorithm.
METHOD method_33650 skip (I)V
ARG 1 count
METHOD method_38420 derive ()Lnet/minecraft/class_5819;
METHOD method_38421 createRandomDeriver ()Lnet/minecraft/class_6574;
METHOD method_39332 nextBetween (II)I
ARG 1 min
ARG 2 max
METHOD method_43047 createAtomic ()Lnet/minecraft/class_5819;
METHOD method_43048 nextInt (I)I
ARG 1 bound
METHOD method_43049 createAtomic (J)Lnet/minecraft/class_5819;
ARG 0 seed
METHOD method_43050 createBlocking ()Lnet/minecraft/class_5819;
METHOD method_43051 nextBetweenExclusive (II)I
ARG 1 min
ARG 2 max
METHOD method_43052 setSeed (J)V
ARG 1 seed
METHOD method_43053 create ()Lnet/minecraft/class_5819;
METHOD method_43054 nextInt ()I
METHOD method_43055 nextLong ()J
METHOD method_43056 nextBoolean ()Z
METHOD method_43057 nextFloat ()F
METHOD method_43058 nextDouble ()D
METHOD method_43059 nextGaussian ()D
METHOD method_43385 nextPredictable (DD)D
ARG 1 base
ARG 3 variance

View File

@ -1,4 +1,5 @@
CLASS net/minecraft/class_7384 net/minecraft/util/math/random/BlockingSimpleRandom
CLASS net/minecraft/class_7384 net/minecraft/util/math/random/AsyncRandom
COMMENT A random that can be shared by multiple threads safely.
FIELD field_38760 INT_BITS I
FIELD field_38761 SEED_MASK J
FIELD field_38762 MULTIPLIER J

View File

@ -1,4 +1,4 @@
CLASS net/minecraft/class_6566 net/minecraft/util/math/random/BaseSimpleRandom
CLASS net/minecraft/class_6566 net/minecraft/util/math/random/BaseRandom
FIELD field_34582 FLOAT_MULTIPLIER F
FIELD field_34583 DOUBLE_MULTIPLIER D
METHOD method_43156 next (I)I

View File

@ -1,4 +1,5 @@
CLASS net/minecraft/class_5820 net/minecraft/util/math/random/AtomicSimpleRandom
CLASS net/minecraft/class_5820 net/minecraft/util/math/random/CheckedRandom
COMMENT A checked random that fails fast when it detects concurrent usage.
FIELD field_28766 seed Ljava/util/concurrent/atomic/AtomicLong;
FIELD field_31471 INT_BITS I
FIELD field_31472 SEED_MASK J
@ -7,7 +8,7 @@ CLASS net/minecraft/class_5820 net/minecraft/util/math/random/AtomicSimpleRandom
FIELD field_35124 gaussianGenerator Lnet/minecraft/class_6672;
METHOD <init> (J)V
ARG 1 seed
CLASS class_6671 RandomDeriver
CLASS class_6671 Splitter
FIELD field_35125 seed J
METHOD <init> (J)V
ARG 1 seed

View File

@ -1,4 +1,4 @@
CLASS net/minecraft/class_6672 net/minecraft/world/gen/random/GaussianGenerator
CLASS net/minecraft/class_6672 net/minecraft/util/math/random/GaussianGenerator
FIELD field_35126 baseRandom Lnet/minecraft/class_5819;
FIELD field_35127 nextNextGaussian D
FIELD field_35128 hasNextGaussian Z

View File

@ -1,4 +1,5 @@
CLASS net/minecraft/class_6575 net/minecraft/util/math/random/SimpleRandom
CLASS net/minecraft/class_6575 net/minecraft/util/math/random/LocalRandom
COMMENT A local random, not intended to be shared across threads.
FIELD field_34689 INT_BITS I
FIELD field_34690 SEED_MASK J
FIELD field_34691 MULTIPLIER J

View File

@ -0,0 +1,59 @@
CLASS net/minecraft/class_5819 net/minecraft/util/math/random/Random
COMMENT A reimplementation of {@link java.util.Random}.
COMMENT
COMMENT <p>There are four built-in implementations, three based on the classic Java algorithm
COMMENT and one using Xoroshiro128++ algorithm.
COMMENT
COMMENT <ul>
COMMENT <li>{@link LocalRandom}: Silently breaks when used concurrently. Based on
COMMENT {@link java.util.Random}.</li>
COMMENT <li>{@link CheckedRandom}: Throws when used concurrently. Based on
COMMENT {@link java.util.Random}.</li>
COMMENT <li>{@link AsyncRandom}: Blocks the thread when used concurrently. Based on
COMMENT {@link java.util.Random}.</li>
COMMENT <li>{@link Xoroshiro128PlusPlusRandom}: Silently breaks when used concurrently.
COMMENT Implements the Xoroshiro128++ algorithm.</li>
COMMENT </ul>
COMMENT
COMMENT @implNote Note that due to MC-239059, this is not an exact reimplementation of
COMMENT the Java random number generator algorithm.
COMMENT
COMMENT @see java.util.random
METHOD method_33650 skip (I)V
ARG 1 count
METHOD method_38420 split ()Lnet/minecraft/class_5819;
METHOD method_38421 nextSplitter ()Lnet/minecraft/class_6574;
METHOD method_39332 nextBetween (II)I
ARG 1 min
ARG 2 max
METHOD method_43047 create ()Lnet/minecraft/class_5819;
COMMENT {@return a random} The returned random actively detects concurrent usage
COMMENT and fails on detection.
METHOD method_43048 nextInt (I)I
ARG 1 bound
METHOD method_43049 create (J)Lnet/minecraft/class_5819;
COMMENT {@return a random with the given {@code seed}} The returned random
COMMENT actively detects concurrent usage and fails on detection.
ARG 0 seed
METHOD method_43050 createAsync ()Lnet/minecraft/class_5819;
COMMENT {@return a random, suitable for multithreaded scenarios}
COMMENT
COMMENT @deprecated This one is hard to ensure deterministic behavior compared
COMMENT to the non-thread-safe one.
METHOD method_43051 nextBetweenExclusive (II)I
ARG 1 min
ARG 2 max
METHOD method_43052 setSeed (J)V
ARG 1 seed
METHOD method_43053 createLocal ()Lnet/minecraft/class_5819;
COMMENT {@return a random split from the thread local random} Users must ensure
COMMENT this random is not used concurrently.
METHOD method_43054 nextInt ()I
METHOD method_43055 nextLong ()J
METHOD method_43056 nextBoolean ()Z
METHOD method_43057 nextFloat ()F
METHOD method_43058 nextDouble ()D
METHOD method_43059 nextGaussian ()D
METHOD method_43385 nextPredictable (DD)D
ARG 1 base
ARG 3 variance

View File

@ -1,13 +0,0 @@
CLASS net/minecraft/class_6574 net/minecraft/util/math/random/RandomDeriver
METHOD method_38418 createRandom (III)Lnet/minecraft/class_5819;
ARG 1 x
ARG 2 y
ARG 3 z
METHOD method_38419 createRandom (Lnet/minecraft/class_2338;)Lnet/minecraft/class_5819;
ARG 1 pos
METHOD method_38995 createRandom (Ljava/lang/String;)Lnet/minecraft/class_5819;
ARG 1 string
METHOD method_39000 createRandom (Lnet/minecraft/class_2960;)Lnet/minecraft/class_5819;
ARG 1 id
METHOD method_39039 addDebugInfo (Ljava/lang/StringBuilder;)V
ARG 1 info

View File

@ -0,0 +1,17 @@
CLASS net/minecraft/class_6673 net/minecraft/util/math/random/RandomSeed
FIELD field_35133 GOLDEN_RATIO_64 J
COMMENT @see jdk.internal.util.random.RandomSupport#GOLDEN_RATIO_64
FIELD field_35134 SILVER_RATIO_64 J
COMMENT @see jdk.internal.util.random.RandomSupport#SILVER_RATIO_64
FIELD field_35135 SEED_UNIQUIFIER Ljava/util/concurrent/atomic/AtomicLong;
METHOD method_39001 getSeed ()J
COMMENT {@return the seed calculated using {@link SEED_UNIQUIFIER} and the system time}
METHOD method_39002 mixStafford13 (J)J
COMMENT @see jdk.internal.util.random.RandomSupport#mixStafford13(long)
ARG 0 seed
METHOD method_39003 createXoroshiroSeed (J)Lnet/minecraft/class_6673$class_6674;
COMMENT @see jdk.random.Xoroshiro128PlusPlus#Xoroshiro128PlusPlus(long)
ARG 0 seed
METHOD method_39004 (J)J
ARG 0 seedUniquifier
CLASS class_6674 XoroshiroSeed

View File

@ -0,0 +1,15 @@
CLASS net/minecraft/class_6574 net/minecraft/util/math/random/RandomSplitter
COMMENT A random splitter represents necessary bits from a random that can be
COMMENT combined with other seeds to split a new random from the old one.
METHOD method_38418 split (III)Lnet/minecraft/class_5819;
ARG 1 x
ARG 2 y
ARG 3 z
METHOD method_38419 split (Lnet/minecraft/class_2338;)Lnet/minecraft/class_5819;
ARG 1 pos
METHOD method_38995 split (Ljava/lang/String;)Lnet/minecraft/class_5819;
ARG 1 seed
METHOD method_39000 split (Lnet/minecraft/class_2960;)Lnet/minecraft/class_5819;
ARG 1 seed
METHOD method_39039 addDebugInfo (Ljava/lang/StringBuilder;)V
ARG 1 info

View File

@ -1,4 +1,4 @@
CLASS net/minecraft/class_6677 net/minecraft/world/gen/random/Xoroshiro128PlusPlusRandom
CLASS net/minecraft/class_6677 net/minecraft/util/math/random/Xoroshiro128PlusPlusRandom
COMMENT Xoroshiro128++ based pseudo random number generator.
COMMENT
COMMENT @implNote The actual implementation can be found on {@link Xoroshiro128PlusPlusRandomImpl}.
@ -18,7 +18,7 @@ CLASS net/minecraft/class_6677 net/minecraft/world/gen/random/Xoroshiro128PlusPl
COMMENT to ensure proper randomness. For example, to obtain a double, the upper 53
COMMENT bits, instead of the lower 53 bits.
ARG 1 bits
CLASS class_6678 RandomDeriver
CLASS class_6678 Splitter
FIELD field_35152 MD5_HASHER Lcom/google/common/hash/HashFunction;
FIELD field_35153 seedLo J
FIELD field_35154 seedHi J

View File

@ -17,7 +17,7 @@ CLASS net/minecraft/class_1937 net/minecraft/world/World
FIELD field_35455 tickOrder J
FIELD field_36402 dimensionEntry Lnet/minecraft/class_6880;
FIELD field_38226 neighborUpdater Lnet/minecraft/class_7165;
FIELD field_38861 blockingRandom Lnet/minecraft/class_5819;
FIELD field_38861 asyncRandom Lnet/minecraft/class_5819;
FIELD field_9223 border Lnet/minecraft/class_2784;
FIELD field_9226 ambientDarkness I
FIELD field_9229 random Lnet/minecraft/class_5819;

View File

@ -1,13 +0,0 @@
CLASS net/minecraft/class_6673 net/minecraft/world/gen/random/RandomSeed
FIELD field_35133 XOROSHIRO64_SEED_LO_FALLBACK J
FIELD field_35134 XOROSHIRO64_SEED_HI_FALLBACK J
FIELD field_35135 SEED_UNIQUIFIER Ljava/util/concurrent/atomic/AtomicLong;
METHOD method_39001 getSeed ()J
COMMENT {@return the seed calculated using {@link SEED_UNIQUIFIER} and the system time}
METHOD method_39002 nextSplitMix64Int (J)J
ARG 0 seed
METHOD method_39003 createXoroshiroSeed (J)Lnet/minecraft/class_6673$class_6674;
ARG 0 seed
METHOD method_39004 (J)J
ARG 0 seedUniquifier
CLASS class_6674 XoroshiroSeed