Improve our detection of floating-point that are integers
Improve our detection of floating-point that are integers

Turns out that we were relying on undefined behaviour when doing

    (uint64_t)fabs(val) == fabs(val)

This problem was noted when running our test data on an AArch64 build.

Signed-off-by: Thiago Macieira <0ed1648d92ca0373297a182b1dba1b974ad10d88@intel.com>

thiagomacieira/tinycbor,intel/tinycbor,intel/tinycbor,thiagomacieira/tinycbor,thiagomacieira/tinycbor,intel/tinycbor,01org/tinycbor,intel/tinycbor,01org/tinycbor,01org/tinycbor,thiagomacieira/tinycbor