diff --git a/src/qcbor_decode.c b/src/qcbor_decode.c
index 1b6ff3e..532da1e 100644
--- a/src/qcbor_decode.c
+++ b/src/qcbor_decode.c
@@ -608,12 +608,24 @@
       // caught before this is called.
 
       case HALF_PREC_FLOAT:
+#ifndef QCBOR_CONFIG_DISABLE_ENCODE_IEEE754
+         // The caast to uint16_t is safe because the encoded value
+         // was 16 bits. It was widened to 64 bits to be passed in here.
          pDecodedItem->val.dfnum = IEEE754_HalfToDouble((uint16_t)uNumber);
          pDecodedItem->uDataType = QCBOR_TYPE_DOUBLE;
+#else
+         nReturn = QCBOR_ERR_UNSUPPORTED;
+#endif
          break;
       case SINGLE_PREC_FLOAT:
-         pDecodedItem->val.dfnum = (double)UsefulBufUtil_CopyUint32ToFloat((uint32_t)uNumber);
-         pDecodedItem->uDataType = QCBOR_TYPE_DOUBLE;
+#ifndef QCBOR_CONFIG_DISABLE_ENCODE_IEEE754
+         // The caast to uint32_t is safe because the encoded value
+         // was 16 bits. It was widened to 64 bits to be passed in here.
+         pDecodedItem->val.dfnum = IEEE754_FloatToDouble((uint32_t)uNumber);
+#else
+         pDecodedItem->val.fnum = UsefulBufUtil_CopyUint32ToFloat((uint32_t)uNumber);
+         pDecodedItem->uDataType = QCBOR_TYPE_FLOAT;
+#endif
          break;
       case DOUBLE_PREC_FLOAT:
          pDecodedItem->val.dfnum = UsefulBufUtil_CopyUint64ToDouble(uNumber);
@@ -1221,7 +1233,10 @@
          pDecodedItem->val.epochDate.nSeconds = (int64_t)pDecodedItem->val.uint64;
          break;
 
+         // TODO: test this with float and half input
       case QCBOR_TYPE_DOUBLE:
+      case QCBOR_TYPE_FLOAT:
+#ifndef QCBOR_DISABLE_FLOAT_HW_USE
       {
          // This comparison needs to be done as a float before
          // conversion to an int64_t to be able to detect doubles
@@ -1231,7 +1246,7 @@
          // is bad and wrong for the comparison because it will
          // allow conversion of doubles that can't fit into a
          // uint64_t.  To remedy this INT64_MAX - 0x7ff is used as
-         // the cutoff point as if that rounds up in conversion to
+         // the cutoff point because if that value rounds up in conversion to
          // double it will still be less than INT64_MAX. 0x7ff is
          // picked because it has 11 bits set.
          //
@@ -1242,7 +1257,8 @@
          //
          // Without the 0x7ff there is a ~30 minute range of time
          // values 10 billion years in the past and in the future
-         // where this this code would go wrong.
+         // where this this code would go wrong and some compilers
+         // will generate warnings or errors.
          const double d = pDecodedItem->val.dfnum;
          if(d > (double)(INT64_MAX - 0x7ff)) {
             nReturn = QCBOR_ERR_DATE_OVERFLOW;
@@ -1251,8 +1267,18 @@
          pDecodedItem->val.epochDate.nSeconds = (int64_t)d;
          pDecodedItem->val.epochDate.fSecondsFraction = d - (double)pDecodedItem->val.epochDate.nSeconds;
       }
+#else
+         /* Disabling float support causes a floating point
+          data to error in the default below. The above code
+          requires floating point conversion to integers and
+          comparison which requires either floating point HW
+          or a SW library. */
+         
+         nReturn = QCBOR_ERR_FLOAT_DATE_UNSUPPORTED;
+#endif /* QCBOR_DISABLE_FLOAT_HW_USE */
          break;
 
+
       default:
          nReturn = QCBOR_ERR_BAD_OPT_TAG;
          goto Done;
