From: compudj Date: Sat, 14 Aug 2004 07:47:31 +0000 (+0000) Subject: time from double optimisation : use double multiplication and integer shift instead... X-Git-Tag: v0.12.20~2750 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=0ce58d1076740dda6228e6c0b8629e32b1fdedb0;p=lttv.git time from double optimisation : use double multiplication and integer shift instead of double division git-svn-id: http://ltt.polymtl.ca/svn@739 04897980-b3bd-0310-b5e0-8ef037075253 --- diff --git a/ltt/branches/poly/ltt/time.h b/ltt/branches/poly/ltt/time.h index db85c69c..83c2fb6c 100644 --- a/ltt/branches/poly/ltt/time.h +++ b/ltt/branches/poly/ltt/time.h @@ -29,6 +29,7 @@ typedef struct _LttTime { #define NANOSECONDS_PER_SECOND 1000000000 +#define SHIFT_CONST 1.07374182400631629848 static const LttTime ltt_time_zero = { 0, 0 }; @@ -110,7 +111,8 @@ static inline LttTime ltt_time_from_double(double t1) g_warning("Conversion from non precise double to LttTime"); #endif //EXTRA_CHECK LttTime res; - res.tv_sec = t1/(double)NANOSECONDS_PER_SECOND; + //res.tv_sec = t1/(double)NANOSECONDS_PER_SECOND; + res.tv_sec = (guint64)(t1 * SHIFT_CONST) >> 30; res.tv_nsec = (t1 - (res.tv_sec*NANOSECONDS_PER_SECOND)); return res; }