conversions between float and int are done working and tested; a few other clean ups
diff --git a/test/qcbor_decode_tests.c b/test/qcbor_decode_tests.c
index a3798fe..3299567 100644
--- a/test/qcbor_decode_tests.c
+++ b/test/qcbor_decode_tests.c
@@ -5220,9 +5220,9 @@
       {(uint8_t[]){0xfa, 0x7f, 0xc0, 0x00, 0x00}, 5},
 #ifndef QCBOR_DISABLE_FLOAT_HW_USE
       0,
-      QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW,
+      QCBOR_ERR_FLOAT_EXCEPTION,
       0,
-      QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW,
+      QCBOR_ERR_FLOAT_EXCEPTION,
 #else /* QCBOR_DISABLE_FLOAT_HW_USE */
       0,
       QCBOR_ERR_HW_FLOAT_DISABLED,
@@ -5281,7 +5281,24 @@
       0.0,
       QCBOR_ERR_UNEXPECTED_TYPE
 #endif /* QCBOR_CONFIG_DISABLE_EXP_AND_MANTISSA */
-   }
+   },
+   {
+      "+inifinity",
+      {(uint8_t[]){0xfa, 0x7f, 0x80, 0x00, 0x00}, 5},
+#ifndef QCBOR_DISABLE_FLOAT_HW_USE
+      0,
+      QCBOR_ERR_FLOAT_EXCEPTION,
+      0,
+      QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW,
+#else /* QCBOR_DISABLE_FLOAT_HW_USE */
+      0,
+      QCBOR_ERR_HW_FLOAT_DISABLED,
+      0,
+      QCBOR_ERR_HW_FLOAT_DISABLED,
+#endif /* QCBOR_DISABLE_FLOAT_HW_USE */
+      INFINITY,
+      QCBOR_SUCCESS
+   },
 };
 
 
@@ -5349,7 +5366,6 @@
                return (int32_t)(7000+nIndex);
             }
          } else {
-            // TODO: this comparison may need a margin of error
             if(pF->dConvertToDouble != d) {
                return (int32_t)(8000+nIndex);
             }