aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads/Gather.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/reference/workloads/Gather.cpp')
-rw-r--r--src/backends/reference/workloads/Gather.cpp25
1 files changed, 7 insertions, 18 deletions
diff --git a/src/backends/reference/workloads/Gather.cpp b/src/backends/reference/workloads/Gather.cpp
index 45491c7f52..c848a7c138 100644
--- a/src/backends/reference/workloads/Gather.cpp
+++ b/src/backends/reference/workloads/Gather.cpp
@@ -14,13 +14,12 @@
namespace armnn
{
-template <typename T>
void Gather(const TensorInfo& paramsInfo,
const TensorInfo& indicesInfo,
const TensorInfo& outputInfo,
- const T* params,
+ Decoder<float>& params,
const int32_t* indices,
- T* output)
+ Encoder<float>& output)
{
const TensorShape& paramsShape = paramsInfo.GetShape();
@@ -39,9 +38,13 @@ void Gather(const TensorInfo& paramsInfo,
unsigned int startOffset = indx * paramsProduct;
unsigned int endOffset = startOffset + paramsProduct;
+
for (unsigned int j = startOffset; j < endOffset; ++j)
{
- output[outIndex] = params[j];
+ params[j];
+ float outputValue = params.Get();
+ output[outIndex];
+ output.Set(outputValue);
++outIndex;
}
}
@@ -49,18 +52,4 @@ void Gather(const TensorInfo& paramsInfo,
BOOST_ASSERT(outIndex == outputInfo.GetNumElements());
}
-template void Gather<float>(const TensorInfo& paramsInfo,
- const TensorInfo& indicesInfo,
- const TensorInfo& outputInfo,
- const float* params,
- const int32_t* indices,
- float* output);
-
-template void Gather<uint8_t>(const TensorInfo& paramsInfo,
- const TensorInfo& indicesInfo,
- const TensorInfo& outputInfo,
- const uint8_t* params,
- const int32_t* indices,
- uint8_t* output);
-
} //namespace armnn