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);