util: fix UTI_FloatNetworkToHost() with very small exponents
Fix conversion of floating point numbers from the cmdmon format with
very small exponents, as for instance could be in the smoothing report
when the smoothing process ends.
This was broken in commit 8e71a46173
.
This commit is contained in:
parent
ea3950d57e
commit
5833be6ccf
1 changed files with 2 additions and 1 deletions
3
util.c
3
util.c
|
@ -807,9 +807,10 @@ UTI_FloatNetworkToHost(Float f)
|
|||
|
||||
x = ntohl(f.f);
|
||||
|
||||
exp = (x >> FLOAT_COEF_BITS) - FLOAT_COEF_BITS;
|
||||
exp = x >> FLOAT_COEF_BITS;
|
||||
if (exp >= 1 << (FLOAT_EXP_BITS - 1))
|
||||
exp -= 1 << FLOAT_EXP_BITS;
|
||||
exp -= FLOAT_COEF_BITS;
|
||||
|
||||
coef = x % (1U << FLOAT_COEF_BITS);
|
||||
if (coef >= 1 << (FLOAT_COEF_BITS - 1))
|
||||
|
|
Loading…
Reference in a new issue