| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of dart.math; | 5 part of dart.math; |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * A generator of random bool, int, or double values. | 8 * A generator of random bool, int, or double values. |
| 9 * | 9 * |
| 10 * The default implementation supplies a stream of | 10 * The default implementation supplies a stream of |
| 11 * pseudo-random bits that are not suitable for cryptographic purposes. | 11 * pseudo-random bits that are not suitable for cryptographic purposes. |
| 12 * |
| 13 * Use the Random.secure() constructor for cryptographic |
| 14 * purposes. |
| 12 */ | 15 */ |
| 13 abstract class Random { | 16 abstract class Random { |
| 14 /** | 17 /** |
| 15 * Creates a random number generator. | 18 * Creates a random number generator. |
| 16 * | 19 * |
| 17 * The optional parameter [seed] is used | 20 * The optional parameter [seed] is used to initialize the |
| 18 * to initialize the internal state of the generator. The implementation of | 21 * internal state of the generator. The implementation of the |
| 19 * the random stream can change between releases of the library. | 22 * random stream can change between releases of the library. |
| 20 */ | 23 */ |
| 21 external factory Random([int seed]); | 24 external factory Random([int seed]); |
| 22 | 25 |
| 23 /** | 26 /** |
| 27 * Creates a cryptographically secure random number generator. |
| 28 * |
| 29 * If the program cannot provide a cryptographically secure |
| 30 * source of random numbers, it throws an [UnsupportedError]. |
| 31 */ |
| 32 external factory Random.secure(); |
| 33 |
| 34 /** |
| 24 * Generates a non-negative random integer uniformly distributed in the range | 35 * Generates a non-negative random integer uniformly distributed in the range |
| 25 * from 0, inclusive, to [max], exclusive. | 36 * from 0, inclusive, to [max], exclusive. |
| 26 * | 37 * |
| 27 * Implementation note: The default implementation supports [max] values | 38 * Implementation note: The default implementation supports [max] values |
| 28 * between 1 and ((1<<32) - 1) inclusive. | 39 * between 1 and (1<<32) inclusive. |
| 29 */ | 40 */ |
| 30 int nextInt(int max); | 41 int nextInt(int max); |
| 31 | 42 |
| 32 /** | 43 /** |
| 33 * Generates a non-negative random floating point value uniformly distributed | 44 * Generates a non-negative random floating point value uniformly distributed |
| 34 * in the range from 0.0, inclusive, to 1.0, exclusive. | 45 * in the range from 0.0, inclusive, to 1.0, exclusive. |
| 35 */ | 46 */ |
| 36 double nextDouble(); | 47 double nextDouble(); |
| 37 | 48 |
| 38 /** | 49 /** |
| 39 * Generates a random boolean value. | 50 * Generates a random boolean value. |
| 40 */ | 51 */ |
| 41 bool nextBool(); | 52 bool nextBool(); |
| 42 } | 53 } |
| OLD | NEW |