Lots more floating point tests; floating point getting near complete; still need some work on NaN payloads
diff --git a/src/ieee754.c b/src/ieee754.c
index bcad14d..12877bd 100644
--- a/src/ieee754.c
+++ b/src/ieee754.c
@@ -459,7 +459,7 @@
const uint64_t uDroppedSingleBits = DOUBLE_SIGNIFICAND_MASK >> SINGLE_NUM_SIGNIFICAND_BITS;
// The various cases
- if(uDouble == 0) {
+ if(d == 0.0) { // Take care of positive and negative zero
// Value is 0.0000, not a a subnormal
result.uTag = IEEE754_UNION_IS_HALF;
result.u16 = IEEE754_DoubleToHalf(d);
diff --git a/src/qcbor_encode.c b/src/qcbor_encode.c
index 9683b27..f70037c 100644
--- a/src/qcbor_encode.c
+++ b/src/qcbor_encode.c
@@ -259,7 +259,7 @@
// always generated internally, not by the caller, b) this is for CBOR
// _generation_, not parsing c) a mistake will result in bad CBOR generation,
// not a security vulnerability.
- uMajorType <<= 5;
+ uMajorType <<= 5; // TODO: make this a constant
if(uNumber > 0xffffffff || uMinLen >= 8) {
UsefulOutBuf_InsertByte(&(me->OutBuf), uMajorType + LEN_IS_EIGHT_BYTES, uPos);