about summary refs log tree commit diff
path: root/src/lib/time.rs
blob: 974224061cfe9dc888dcc380a7b1fd71c9854ba1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21


native "rust" mod rustrt {
    fn get_time(&sec: u32, &usec: u32);
    fn nano_time(&ns: u64);
}

type timeval = {sec: u32, usec: u32};

fn get_time() -> timeval {
    let sec = 0u32;
    let usec = 0u32;
    rustrt::get_time(sec, usec);
    ret {sec: sec, usec: usec};
}

fn precise_time_ns() -> u64 { let ns = 0u64; rustrt::nano_time(ns); ret ns; }

fn precise_time_s() -> float {
    ret (precise_time_ns() as float) / 1000000000.;
}