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}