aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/time/operator.v
blob: f62854983dc7fc247ff630635e9921dbab76a559 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
module time

// operator `==` returns true if provided time is equal to time
[inline]
pub fn (t1 Time) == (t2 Time) bool {
	return t1.unix == t2.unix && t1.microsecond == t2.microsecond
}

// operator `<` returns true if provided time is less than time
[inline]
pub fn (t1 Time) < (t2 Time) bool {
	return t1.unix < t2.unix || (t1.unix == t2.unix && t1.microsecond < t2.microsecond)
}

// Time subtract using operator overloading.
[inline]
pub fn (lhs Time) - (rhs Time) Duration {
	lhs_micro := lhs.unix * 1_000_000 + lhs.microsecond
	rhs_micro := rhs.unix * 1_000_000 + rhs.microsecond
	return (lhs_micro - rhs_micro) * microsecond
}