Skip to main content

luaur_common/functions/
get_clock.rs

1use crate::functions::get_clock_period::get_clock_period;
2use crate::functions::get_clock_timestamp::get_clock_timestamp;
3use std::sync::OnceLock;
4
5pub fn get_clock() -> f64 {
6    static PERIOD: OnceLock<f64> = OnceLock::new();
7    static START: OnceLock<f64> = OnceLock::new();
8
9    let period = *PERIOD.get_or_init(get_clock_period);
10    let start = *START.get_or_init(get_clock_timestamp);
11
12    (get_clock_timestamp() - start) * period
13}