Commit 9ef24075 authored by Jean-Claude BAU's avatar Jean-Claude BAU

Add a rounding value for interval to picos convertion

parent 4fe4f791
...@@ -54,7 +54,7 @@ typedef struct _UInteger64 { /*/* TODO : Should be replaced by UInteger64 */ ...@@ -54,7 +54,7 @@ typedef struct _UInteger64 { /*/* TODO : Should be replaced by UInteger64 */
#define TIME_INTERVAL_FRACBITS 16 #define TIME_INTERVAL_FRACBITS 16
#define TIME_INTERVAL_FRACMASK 0xFFFF #define TIME_INTERVAL_FRACMASK 0xFFFF
#define TIME_INTERVAL_FRACBITS_AS_FLOAT 16.0 #define TIME_INTERVAL_FRACBITS_AS_FLOAT 16.0
#define TIME_INTERVAL_ROUNDING_VALUE (1<<(TIME_INTERVAL_FRACBITS-1)) #define TIME_INTERVAL_ROUNDING_VALUE ((uint64_t)1<<(TIME_INTERVAL_FRACBITS-1))
/* Min/max value expressed in picos (int64_t) which can be stored in a TimeInterval type */ /* Min/max value expressed in picos (int64_t) which can be stored in a TimeInterval type */
#define TIME_INTERVAL_MIN_PICOS_VALUE_AS_INT64 ((int64_t) 0xFE0C000000000000) #define TIME_INTERVAL_MIN_PICOS_VALUE_AS_INT64 ((int64_t) 0xFE0C000000000000)
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#define TIME_FRACBITS 16 #define TIME_FRACBITS 16
#define TIME_FRACMASK 0xFFFF #define TIME_FRACMASK 0xFFFF
#define TIME_FRACBITS_AS_FLOAT 16.0 #define TIME_FRACBITS_AS_FLOAT 16.0
#define TIME_ROUNDING_VALUE (1<<(TIME_FRACBITS-1)) #define TIME_ROUNDING_VALUE ((uint64_t)1<<(TIME_FRACBITS-1))
/* Everything internally uses this time format, *signed* */ /* Everything internally uses this time format, *signed* */
struct pp_time { struct pp_time {
......
...@@ -178,7 +178,7 @@ TimeInterval picos_to_interval(int64_t picos) ...@@ -178,7 +178,7 @@ TimeInterval picos_to_interval(int64_t picos)
int64_t interval_to_picos(TimeInterval interval) int64_t interval_to_picos(TimeInterval interval)
{ {
return (interval * 1000) >> TIME_INTERVAL_FRACBITS; return (((interval * (int64_t)1000) + TIME_INTERVAL_ROUNDING_VALUE) >> TIME_INTERVAL_FRACBITS);
} }
/* /*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment