if(t1.tv_sec > MAX_TV_SEC_TO_DOUBLE)
g_warning("Precision loss in conversion LttTime to double");
#endif //EXTRA_CHECK
- return ((double)((guint64)t1.tv_sec<<DOUBLE_SHIFT)
+ return round(((double)((guint64)t1.tv_sec<<DOUBLE_SHIFT)
* (double)DOUBLE_SHIFT_CONST_MUL)
- + (double)t1.tv_nsec;
+ + (double)t1.tv_nsec);
}
LttTime res;
//res.tv_sec = t1/(double)NANOSECONDS_PER_SECOND;
res.tv_sec = (guint64)(t1 * DOUBLE_SHIFT_CONST_DIV) >> DOUBLE_SHIFT;
- res.tv_nsec = (t1 - (((guint64)res.tv_sec<<LTT_TIME_UINT_SHIFT))
+ res.tv_nsec = (round(t1) - (((guint64)res.tv_sec<<LTT_TIME_UINT_SHIFT))
* LTT_TIME_UINT_SHIFT_CONST);
return res;
}