Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pola-rs
GitHub Repository: pola-rs/polars
Path: blob/main/crates/polars-core/src/random.rs
6939 views
1
use std::sync::{LazyLock, Mutex};
2
3
use rand::prelude::*;
4
5
static POLARS_GLOBAL_RNG_STATE: LazyLock<Mutex<SmallRng>> =
6
LazyLock::new(|| Mutex::new(SmallRng::from_os_rng()));
7
8
pub(crate) fn get_global_random_u64() -> u64 {
9
POLARS_GLOBAL_RNG_STATE.lock().unwrap().next_u64()
10
}
11
12
pub fn set_global_random_seed(seed: u64) {
13
*POLARS_GLOBAL_RNG_STATE.lock().unwrap() = SmallRng::seed_from_u64(seed);
14
}
15
16