-double xbt_os_timer_elapsed(xbt_os_timer_t timer) {
-#ifdef HAVE_GETTIMEOFDAY
- return ((double)timer->stop.tv_sec) - ((double)timer->start.tv_sec) +
- ((((double)timer->stop.tv_usec) - ((double)timer->start.tv_usec)) / 1000000.0);
-#else
- return (double)timer->stop - (double)timer->start;
+
+double xbt_os_timer_elapsed(xbt_os_timer_t timer)
+{
+#ifdef HAVE_POSIX_GETTIME
+ return ((double) timer->stop.tv_sec) - ((double) timer->start.tv_sec) +
+ ((((double) timer->stop.tv_nsec) -
+ ((double) timer->start.tv_nsec)) / 1e-9);
+#elif defined(HAVE_GETTIMEOFDAY)
+ return ((double) timer->stop.tv_sec) - ((double) timer->start.tv_sec) +
+ ((((double) timer->stop.tv_usec) -
+ ((double) timer->start.tv_usec)) / 1000000.0);
+#else
+ return (double) timer->stop - (double) timer->start;