src/java.base/share/classes/java/util/Random.java
branchihse-errorprone-branch
changeset 57056 85a97ef23187
parent 49954 deefa2120bc4
equal deleted inserted replaced
56846:1186bac4e290 57056:85a97ef23187
    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     /**