22 lines
		
	
	
		
			636 B
		
	
	
	
		
			Coq
		
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			636 B
		
	
	
	
		
			Coq
		
	
	
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
 | 
						|
}
 |