|  | // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
|  | // for details. All rights reserved. Use of this source code is governed by a | 
|  | // BSD-style license that can be found in the LICENSE file. | 
|  |  | 
|  | part of dart.math; | 
|  |  | 
|  | /// A generator of random bool, int, or double values. | 
|  | /// | 
|  | /// The default implementation supplies a stream of pseudo-random bits that are | 
|  | /// not suitable for cryptographic purposes. | 
|  | /// | 
|  | /// Use the [Random.secure]() constructor for cryptographic purposes. | 
|  | abstract class Random { | 
|  | /// Creates a random number generator. | 
|  | /// | 
|  | /// The optional parameter [seed] is used to initialize the | 
|  | /// internal state of the generator. The implementation of the | 
|  | /// random stream can change between releases of the library. | 
|  | external factory Random([int? seed]); | 
|  |  | 
|  | /// Creates a cryptographically secure random number generator. | 
|  | /// | 
|  | /// If the program cannot provide a cryptographically secure | 
|  | /// source of random numbers, it throws an [UnsupportedError]. | 
|  | external factory Random.secure(); | 
|  |  | 
|  | /// Generates a non-negative random integer uniformly distributed in the range | 
|  | /// from 0, inclusive, to [max], exclusive. | 
|  | /// | 
|  | /// Implementation note: The default implementation supports [max] values | 
|  | /// between 1 and (1<<32) inclusive. | 
|  | int nextInt(int max); | 
|  |  | 
|  | /// Generates a non-negative random floating point value uniformly distributed | 
|  | /// in the range from 0.0, inclusive, to 1.0, exclusive. | 
|  | double nextDouble(); | 
|  |  | 
|  | /// Generates a random boolean value. | 
|  | bool nextBool(); | 
|  | } |