@cryptotaxi247 / netdata-1 / commits / 790d19760

Fixed stored number accuracy (#9540)

Improved stored number accuracy

Stelios Fragkakis committed Jul 14, 2020 at 18:32 UTC 790d19760537cf43348de8db2322a15ced2511cc
2 files changed +7
libnetdata/storage_number/storage_number.c
+4
@@ -61,6 +61,10 @@ storage_number pack_storage_number(calculated_number value, uint32_t flags) {
61 m++;
62 }
63
64 + if (unlikely(n > (calculated_number) (0x00ffffff))) {
65 + n /= 10;
66 + m--;
67 + }
68 // the value was small enough and we multiplied it
69 // so we add a divider to unpack it
70 r += (0 << 30) + (m << 27); // the divider m
libnetdata/storage_number/tests/test_storage_number.c
+3
@@ -37,6 +37,9 @@ static void test_number_pinting(void **state)
37
38 print_calculated_number(value, -9999.9999999);
39 assert_string_equal(value, "-9999.9999999");
40 +
41 + print_calculated_number(value, unpack_storage_number(pack_storage_number(16.777218L, SN_EXISTS)));
42 + assert_string_equal(value, "16.77722");
43 }
44
45 int main(void)