diff options
author | John Mcloughlin <john.mcloughlin@arm.com> | 2023-05-15 17:03:49 +0100 |
---|---|---|
committer | John Mcloughlin <john.mcloughlin@arm.com> | 2023-05-17 12:29:54 +0100 |
commit | 0ec008761ab26110dcb108d544be4040a14fd403 (patch) | |
tree | 87bbc145ff2a4ea3221440b0fbd7c91a5b8a7c91 /src/backends/reference/workloads/RefElementwiseBinaryWorkload.cpp | |
parent | 499ebd917d8399f0a9d4d7e6e40a0ec321a4bab4 (diff) | |
download | armnn-0ec008761ab26110dcb108d544be4040a14fd403.tar.gz |
IVGCVSW-7400 POW IVGCVSW-7278 SQUARED_DIFFERENCE.
* Added 2 new operators as ElementWiseBinary ops
* Ref End to End and unit tests
* Serialize and Deserialize tests
* Delegate and Opaque Delegate tests
* TfLite Parser tests
Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com>
Change-Id: I537158127f602f0c41ca0402aa31655cd3bd4281
Diffstat (limited to 'src/backends/reference/workloads/RefElementwiseBinaryWorkload.cpp')
-rw-r--r-- | src/backends/reference/workloads/RefElementwiseBinaryWorkload.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/backends/reference/workloads/RefElementwiseBinaryWorkload.cpp b/src/backends/reference/workloads/RefElementwiseBinaryWorkload.cpp index 5dc77f8496..e71cdd4e3c 100644 --- a/src/backends/reference/workloads/RefElementwiseBinaryWorkload.cpp +++ b/src/backends/reference/workloads/RefElementwiseBinaryWorkload.cpp @@ -11,6 +11,8 @@ #include "RefWorkloadUtils.hpp" #include "Maximum.hpp" #include "Minimum.hpp" +#include "SquaredDifference.hpp" +#include "Power.hpp" #include <Profiling.hpp> @@ -44,6 +46,8 @@ void ExecuteFunction(std::vector<ITensorHandle*> inputs, using MinimumFunction = ElementwiseBinaryFunction<armnn::minimum<DataType>>; using MulFunction = ElementwiseBinaryFunction<std::multiplies<DataType>>; using SubFunction = ElementwiseBinaryFunction<std::minus<DataType>>; + using SqDiffFunction = ElementwiseBinaryFunction<armnn::squaredDifference<DataType>>; + using PowerFunction = ElementwiseBinaryFunction<armnn::power<DataType>>; switch (operation) { @@ -77,6 +81,16 @@ void ExecuteFunction(std::vector<ITensorHandle*> inputs, SubFunction(inShape0, inShape1, outShape, *input0, *input1, *output); break; } + case BinaryOperation::SqDiff: + { + SqDiffFunction(inShape0, inShape1, outShape, *input0, *input1, *output); + break; + } + case BinaryOperation::Power: + { + PowerFunction(inShape0, inShape1, outShape, *input0, *input1, *output); + break; + } default: { throw InvalidArgumentException(std::string("Unsupported binary operation ") + |