#include "structs.h" #include "time.h" TIME time_zero(void) { static TIME z = { 0, 0 }; return(z); } double time_double(TIME t) { return(t.tick+(t.utick/1073741824.0)); } int time_cmp(TIME a, TIME b) { if (a.tick < b.tick) return(-1); if (a.tick > b.tick) return(1); if (a.utick < b.utick) return(-1); if (a.utick > b.utick) return(1); return(0); } TIME time_add_time(TIME a, TIME b) { a.tick += b.tick; a.utick += b.utick; if (a.utick >> UTICKSHIFT) { a.tick ++; a.utick -= 1UL << UTICKSHIFT; } return(a); } TIME time_add_tut(TIME t, unsigned long int tick, unsigned long int utick) { t.tick += tick; t.utick += utick; if (t.utick >> UTICKSHIFT) { t.tick ++; t.utick -= 1UL << UTICKSHIFT; } return(t); }