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}