aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/LayerSupportCommon.hpp
diff options
context:
space:
mode:
authornarpra01 <narumol.prangnawarat@arm.com>2019-01-23 15:23:11 +0000
committerNarumol Prangnawarat <narumol.prangnawarat@arm.com>2019-01-23 17:13:15 +0000
commitdb2b160bf9e7759d0157dfa57ee940290f5170e3 (patch)
tree536fa36ebc9eb8442b96b486a10cadab28d32647 /src/armnn/LayerSupportCommon.hpp
parentc625f000198218fc8d03130ee5658f73b94b2683 (diff)
downloadarmnn-db2b160bf9e7759d0157dfa57ee940290f5170e3.tar.gz
IVGCVSW-2511 Add end to end Gather layer test
* Add end to end test for Gather operator * Add Support for int32 to Constant layer for Ref * Add Int32Workload * Add RefConstantWorkload as template for float, uint8, int32 * Remove unused RefBaseConstantWorkload * Remove unused RefConstantFloat32Workload * Remove unused RefConstantUint8Workload * Add support check for int32 in LayerSupport functions Change-Id: Ic970588a49ebe2aafb12be8adef52371feacaa7b
Diffstat (limited to 'src/armnn/LayerSupportCommon.hpp')
-rw-r--r--src/armnn/LayerSupportCommon.hpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/armnn/LayerSupportCommon.hpp b/src/armnn/LayerSupportCommon.hpp
index c309f8c6c7..109728cd81 100644
--- a/src/armnn/LayerSupportCommon.hpp
+++ b/src/armnn/LayerSupportCommon.hpp
@@ -12,12 +12,13 @@
namespace armnn
{
-template<typename Float16Func, typename Float32Func, typename Uint8Func, typename ... Params>
+template<typename Float16Func, typename Float32Func, typename Uint8Func, typename Int32Func, typename ... Params>
bool IsSupportedForDataTypeGeneric(Optional<std::string&> reasonIfUnsupported,
DataType dataType,
Float16Func float16FuncPtr,
Float32Func float32FuncPtr,
Uint8Func uint8FuncPtr,
+ Int32Func int32FuncPtr,
Params&&... params)
{
switch(dataType)
@@ -28,6 +29,8 @@ bool IsSupportedForDataTypeGeneric(Optional<std::string&> reasonIfUnsupported,
return float32FuncPtr(reasonIfUnsupported, std::forward<Params>(params)...);
case DataType::QuantisedAsymm8:
return uint8FuncPtr(reasonIfUnsupported, std::forward<Params>(params)...);
+ case DataType::Signed32:
+ return int32FuncPtr(reasonIfUnsupported, std::forward<Params>(params)...);
default:
return false;
}
@@ -76,6 +79,16 @@ bool FalseFuncU8(Optional<std::string&> reasonIfUnsupported, Params&&... params)
}
template<typename ... Params>
+bool FalseFuncI32(Optional<std::string&> reasonIfUnsupported, Params&&... params)
+{
+ if (reasonIfUnsupported)
+ {
+ reasonIfUnsupported.value() = "Layer is not supported with int32 data type";
+ }
+ return false;
+}
+
+template<typename ... Params>
bool FalseInputFuncF32(Optional<std::string&> reasonIfUnsupported, Params&&... params)
{
if (reasonIfUnsupported)