IVGCVSW-4517 Implement BFloat16 Encoder and Decoder

 * Add ConvertFloat32ToBFloat16
 * Add ConvertBFloat16ToFloat32
 * Add BFloat16Encoder
 * Add BFloat16Decoder
 * Unit tests

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I198888384c923aba28cfbed09a02edc6f8194b3e
diff --git a/src/backends/reference/workloads/Encoders.hpp b/src/backends/reference/workloads/Encoders.hpp
index f522976..e93987d 100644
--- a/src/backends/reference/workloads/Encoders.hpp
+++ b/src/backends/reference/workloads/Encoders.hpp
@@ -75,6 +75,10 @@
         {
             return std::make_unique<Int32Encoder>(static_cast<int32_t*>(data));
         }
+        case armnn::DataType::BFloat16:
+        {
+            return std::make_unique<BFloat16Encoder>(static_cast<armnn::BFloat16*>(data));
+        }
         case armnn::DataType::Float16:
         {
             return std::make_unique<Float16Encoder>(static_cast<Half*>(data));