bee_block/rand/
number.rs

1// Copyright 2020-2021 IOTA Stiftung
2// SPDX-License-Identifier: Apache-2.0
3
4use rand::{
5    distributions::{
6        uniform::{SampleRange, SampleUniform},
7        Distribution, Standard,
8    },
9    Rng,
10};
11
12/// Generates a random number.
13pub fn rand_number<T>() -> T
14where
15    Standard: Distribution<T>,
16{
17    rand::thread_rng().gen()
18}
19
20/// Generates a random number within a given range.
21pub fn rand_number_range<T, R>(range: R) -> T
22where
23    T: SampleUniform + PartialOrd,
24    R: SampleRange<T>,
25{
26    rand::thread_rng().gen_range(range)
27}