equal
deleted
inserted
replaced
33 import java.util.stream.IntStream; |
33 import java.util.stream.IntStream; |
34 import java.util.stream.LongStream; |
34 import java.util.stream.LongStream; |
35 import java.util.stream.StreamSupport; |
35 import java.util.stream.StreamSupport; |
36 |
36 |
37 import jdk.internal.misc.Unsafe; |
37 import jdk.internal.misc.Unsafe; |
|
38 |
|
39 import java.util.Set; |
|
40 import java.util.HashSet; |
38 |
41 |
39 /** |
42 /** |
40 * An instance of this class is used to generate a stream of |
43 * An instance of this class is used to generate a stream of |
41 * pseudorandom numbers. The class uses a 48-bit seed, which is |
44 * pseudorandom numbers. The class uses a 48-bit seed, which is |
42 * modified using a linear congruential formula. (See Donald Knuth, |
45 * modified using a linear congruential formula. (See Donald Knuth, |
140 this.seed = new AtomicLong(); |
143 this.seed = new AtomicLong(); |
141 setSeed(seed); |
144 setSeed(seed); |
142 } |
145 } |
143 } |
146 } |
144 |
147 |
|
148 /** |
|
149 * test maintest. |
|
150 */ |
|
151 private void maintest() { |
|
152 Set<Short> s = new HashSet<>(); |
|
153 for (short i = 0; i < 100; i++) { |
|
154 s.add(i); |
|
155 s.remove(i - 1); |
|
156 } |
|
157 System.out.println(s.size()); |
|
158 } |
145 private static long initialScramble(long seed) { |
159 private static long initialScramble(long seed) { |
146 return (seed ^ multiplier) & mask; |
160 return (seed ^ multiplier) & mask; |
147 } |
161 } |
148 |
162 |
149 /** |
163 /** |