aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/RefLayerSupport.cpp
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/backends/reference/RefLayerSupport.cpp
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/backends/reference/RefLayerSupport.cpp')
-rw-r--r--src/backends/reference/RefLayerSupport.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp
index 25c2bafe2f..45f108c2f8 100644
--- a/src/backends/reference/RefLayerSupport.cpp
+++ b/src/backends/reference/RefLayerSupport.cpp
@@ -34,6 +34,7 @@ bool IsSupportedForDataTypeRef(Optional<std::string&> reasonIfUnsupported,
&FalseFunc<Params...>,
floatFuncPtr,
uint8FuncPtr,
+ &FalseFunc<Params...>,
std::forward<Params>(params)...);
}
@@ -105,10 +106,12 @@ bool RefLayerSupport::IsBatchToSpaceNdSupported(const TensorInfo& input,
bool RefLayerSupport::IsConstantSupported(const TensorInfo& output,
Optional<std::string&> reasonIfUnsupported) const
{
- return IsSupportedForDataTypeRef(reasonIfUnsupported,
- output.GetDataType(),
- &TrueFunc<>,
- &TrueFunc<>);
+ return IsSupportedForDataTypeGeneric(reasonIfUnsupported,
+ output.GetDataType(),
+ &FalseFunc<>,
+ &TrueFunc<>,
+ &TrueFunc<>,
+ &TrueFunc<>);
}
bool RefLayerSupport::IsConvertFp16ToFp32Supported(const TensorInfo& input,
@@ -119,12 +122,14 @@ bool RefLayerSupport::IsConvertFp16ToFp32Supported(const TensorInfo& input,
input.GetDataType(),
&TrueFunc<>,
&FalseInputFuncF32<>,
- &FalseFuncU8<>) &&
+ &FalseFuncU8<>,
+ &FalseFuncI32<>) &&
IsSupportedForDataTypeGeneric(reasonIfUnsupported,
output.GetDataType(),
&FalseOutputFuncF16<>,
&TrueFunc<>,
- &FalseFuncU8<>));
+ &FalseFuncU8<>,
+ &FalseFuncI32<>));
}
bool RefLayerSupport::IsConvertFp32ToFp16Supported(const TensorInfo& input,
@@ -135,12 +140,14 @@ bool RefLayerSupport::IsConvertFp32ToFp16Supported(const TensorInfo& input,
input.GetDataType(),
&FalseInputFuncF16<>,
&TrueFunc<>,
- &FalseFuncU8<>) &&
+ &FalseFuncU8<>,
+ &FalseFuncI32<>) &&
IsSupportedForDataTypeGeneric(reasonIfUnsupported,
output.GetDataType(),
&TrueFunc<>,
&FalseOutputFuncF32<>,
- &FalseFuncU8<>));
+ &FalseFuncU8<>,
+ &FalseFuncI32<>));
}
bool RefLayerSupport::IsConvolution2dSupported(const TensorInfo& input,