From 42db9bf1304093e067a7f0984cfbc202ac12cde0 Mon Sep 17 00:00:00 2001 From: compudj Date: Wed, 18 Aug 2004 23:36:25 +0000 Subject: [PATCH] use round() for double git-svn-id: http://ltt.polymtl.ca/svn@804 04897980-b3bd-0310-b5e0-8ef037075253 --- ltt/branches/poly/ltt/time.h | 6 +++--- ltt/branches/poly/ltt/tracefile.c | 18 ++++++++++-------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/ltt/branches/poly/ltt/time.h b/ltt/branches/poly/ltt/time.h index 483e2e58..33feff28 100644 --- a/ltt/branches/poly/ltt/time.h +++ b/ltt/branches/poly/ltt/time.h @@ -115,9 +115,9 @@ static inline double ltt_time_to_double(LttTime t1) 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; - res.tv_nsec = (t1 - (((guint64)res.tv_sec< #include #include +#include // For realpath #include @@ -1199,8 +1200,9 @@ int readBlock(LttTracefile * tf, int whichBlock) getCyclePerNsec(tf); - tf->overflow_nsec = (-((double)(tf->a_block_start->cycle_count&0xFFFFFFFF)) - * tf->nsec_per_cycle); + tf->overflow_nsec = round( + (-((double)(tf->a_block_start->cycle_count&0xFFFFFFFF)) + * tf->nsec_per_cycle)); tf->current_event_time = getEventTime(tf); @@ -1226,8 +1228,8 @@ void updateTracefile(LttTracefile * tf) tf->prev_event_time.tv_nsec = 0; tf->count = 0; - tf->overflow_nsec = (-((double)tf->a_block_start->cycle_count) - * tf->nsec_per_cycle); + tf->overflow_nsec = round((-((double)tf->a_block_start->cycle_count) + * tf->nsec_per_cycle)); } @@ -1308,7 +1310,7 @@ void getCyclePerNsec(LttTracefile * t) t->nsec_per_cycle = (double)lBufTotalNSec / (double)lBufTotalCycle; /* Pre-multiply one overflow (2^32 cycles) by nsec_per_cycle */ - t->one_overflow_nsec = t->nsec_per_cycle * (double)0x100000000ULL; + t->one_overflow_nsec = round(t->nsec_per_cycle * (double)0x100000000ULL); } @@ -1348,9 +1350,9 @@ static inline LttTime getEventTime(LttTracefile * tf) if(unlikely(evId == TRACE_BLOCK_START)) { lEventNSec = 0; } else if(unlikely(evId == TRACE_BLOCK_END)) { - lEventNSec = ((double) + lEventNSec = round(((double) (tf->a_block_end->cycle_count - tf->a_block_start->cycle_count) - * tf->nsec_per_cycle); + * tf->nsec_per_cycle)); } #if 0 /* If you want to make heart beat a special case and use their own 64 bits @@ -1365,7 +1367,7 @@ static inline LttTime getEventTime(LttTracefile * tf) } #endif //0 else { - lEventNSec = (gint64)((double)cycle_count * tf->nsec_per_cycle) + lEventNSec = (gint64)round(((double)cycle_count * tf->nsec_per_cycle)) +tf->overflow_nsec; } -- 2.34.1