IVGCVSW-5300 Remove some boost::numeric_cast from armnn/backends

 * Replaced with armnn/utility/NumericCast.hpp
 * Some exclusions in reference backend
 * Excluded as requires float implementation in NumericCast.hpp

Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I9e4e9cd502c865452128fa04415fd6f250baa855
diff --git a/src/backends/neon/workloads/NeonSpaceToDepthWorkload.cpp b/src/backends/neon/workloads/NeonSpaceToDepthWorkload.cpp
index 2982cd1..43c991c 100644
--- a/src/backends/neon/workloads/NeonSpaceToDepthWorkload.cpp
+++ b/src/backends/neon/workloads/NeonSpaceToDepthWorkload.cpp
@@ -6,7 +6,9 @@
 #include "NeonSpaceToDepthWorkload.hpp"
 #include "NeonWorkloadUtils.hpp"
 
+#include <armnn/utility/NumericCast.hpp>
 #include <armnn/utility/PolymorphicDowncast.hpp>
+
 #include <ResolveType.hpp>
 
 namespace armnn
@@ -22,7 +24,7 @@
     const arm_compute::TensorInfo aclInput = BuildArmComputeTensorInfo(input, dataLayout);
     const arm_compute::TensorInfo aclOutput = BuildArmComputeTensorInfo(output, dataLayout);
 
-    int32_t blockSize  = boost::numeric_cast<int32_t>(descriptor.m_BlockSize);
+    int32_t blockSize  = armnn::numeric_cast<int32_t>(descriptor.m_BlockSize);
 
     return arm_compute::NESpaceToDepthLayer::validate(&aclInput, &aclOutput, blockSize);
 }
@@ -38,7 +40,7 @@
     arm_compute::ITensor& input = PolymorphicDowncast<IAclTensorHandle*>(m_Data.m_Inputs[0])->GetTensor();
     input.info()->set_data_layout(aclDataLayout);
 
-    int32_t blockSize = boost::numeric_cast<int32_t>(desc.m_Parameters.m_BlockSize);
+    int32_t blockSize = armnn::numeric_cast<int32_t>(desc.m_Parameters.m_BlockSize);
 
     arm_compute::ITensor& output = PolymorphicDowncast<IAclTensorHandle*>(m_Data.m_Outputs[0])->GetTensor();
     output.info()->set_data_layout(aclDataLayout);