Home | History | Annotate | Download | only in src

Lines Matching refs:time

6 nstime_init(nstime_t *time, uint64_t ns)
9 time->ns = ns;
13 nstime_init2(nstime_t *time, uint64_t sec, uint64_t nsec)
16 time->ns = sec * BILLION + nsec;
20 nstime_ns(const nstime_t *time)
23 return (time->ns);
27 nstime_sec(const nstime_t *time)
30 return (time->ns / BILLION);
34 nstime_nsec(const nstime_t *time)
37 return (time->ns % BILLION);
41 nstime_copy(nstime_t *time, const nstime_t *source)
44 *time = *source;
55 nstime_add(nstime_t *time, const nstime_t *addend)
58 assert(UINT64_MAX - time->ns >= addend->ns);
60 time->ns += addend->ns;
64 nstime_subtract(nstime_t *time, const nstime_t *subtrahend)
67 assert(nstime_compare(time, subtrahend) >= 0);
69 time->ns -= subtrahend->ns;
73 nstime_imultiply(nstime_t *time, uint64_t multiplier)
76 assert((((time->ns | multiplier) & (UINT64_MAX << (sizeof(uint64_t) <<
77 2))) == 0) || ((time->ns * multiplier) / multiplier == time->ns));
79 time->ns *= multiplier;
83 nstime_idivide(nstime_t *time, uint64_t divisor)
88 time->ns /= divisor;
92 nstime_divide(const nstime_t *time, const nstime_t *divisor)
97 return (time->ns / divisor->ns);
103 nstime_get(nstime_t *time)
111 nstime_init(time, ticks_100ns * 100);
116 nstime_get(nstime_t *time)
121 nstime_init2(time, ts.tv_sec, ts.tv_nsec);
126 nstime_get(nstime_t *time)
131 nstime_init2(time, ts.tv_sec, ts.tv_nsec);
136 nstime_get(nstime_t *time)
139 nstime_init(time, mach_absolute_time());
144 nstime_get(nstime_t *time)
149 nstime_init2(time, tv.tv_sec, tv.tv_usec * 1000);
175 nstime_update(nstime_t *time)
179 nstime_copy(&old_time, time);
180 nstime_get(time);
183 if (unlikely(nstime_compare(&old_time, time) > 0)) {
184 nstime_copy(time, &old_time);