From de36e4a9c299028e792c3a5bd99ad0816d806077 Mon Sep 17 00:00:00 2001 From: Ryan OShea Date: Fri, 13 Mar 2020 16:26:19 +0000 Subject: IVGCVSW-3726 Upload ArmNN Doxygen files * Upload current ArmNN Doxygen files Signed-off-by: Ryan OShea Change-Id: I8989ed16ee40a99a4495b100bd009cf3e24a7285 --- ...2reference_2workloads_2_gather_8cpp_source.html | 113 +++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 Documentation/backends_2reference_2workloads_2_gather_8cpp_source.html (limited to 'Documentation/backends_2reference_2workloads_2_gather_8cpp_source.html') diff --git a/Documentation/backends_2reference_2workloads_2_gather_8cpp_source.html b/Documentation/backends_2reference_2workloads_2_gather_8cpp_source.html new file mode 100644 index 0000000000..ab659aa1bd --- /dev/null +++ b/Documentation/backends_2reference_2workloads_2_gather_8cpp_source.html @@ -0,0 +1,113 @@ + + + + + + + +ArmNN: src/backends/reference/workloads/Gather.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
ArmNN +  NotReleased +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Gather.cpp
+
+
+Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #include "Gather.hpp"
7 
8 #include "RefWorkloadUtils.hpp"
9 
11 
12 #include <boost/core/ignore_unused.hpp>
13 #include <boost/numeric/conversion/cast.hpp>
14 
15 namespace armnn
16 {
17 
18 void Gather(const TensorInfo& paramsInfo,
19  const TensorInfo& indicesInfo,
20  const TensorInfo& outputInfo,
21  Decoder<float>& params,
22  const int32_t* indices,
23  Encoder<float>& output)
24 {
25  boost::ignore_unused(outputInfo);
26  const TensorShape& paramsShape = paramsInfo.GetShape();
27 
28  unsigned int paramsProduct = 1;
29  for (unsigned int i = 1; i < paramsInfo.GetNumDimensions(); ++i)
30  {
31  paramsProduct = paramsProduct * paramsShape[i];
32  }
33 
34  unsigned int outIndex = 0;
35  for (unsigned int i = 0; i < indicesInfo.GetNumElements(); ++i)
36  {
37  unsigned int indx = boost::numeric_cast<unsigned int>(indices[i]);
38 
39  BOOST_ASSERT(indices[i] >= 0 && indx < paramsShape[0]);
40 
41  unsigned int startOffset = indx * paramsProduct;
42  unsigned int endOffset = startOffset + paramsProduct;
43 
44  for (unsigned int j = startOffset; j < endOffset; ++j)
45  {
46  params[j];
47  float outputValue = params.Get();
48  output[outIndex];
49  output.Set(outputValue);
50  ++outIndex;
51  }
52  }
53 
54  BOOST_ASSERT(outIndex == outputInfo.GetNumElements());
55 }
56 
57 } //namespace armnn
+
unsigned int GetNumDimensions() const
Definition: Tensor.hpp:92
+ +
void Gather(const TensorInfo &paramsInfo, const TensorInfo &indicesInfo, const TensorInfo &outputInfo, Decoder< float > &params, const int32_t *indices, Encoder< float > &output)
Definition: Gather.cpp:18
+ + + + + +
unsigned int GetNumElements() const
Definition: Tensor.hpp:93
+
virtual IType Get() const =0
+
const TensorShape & GetShape() const
Definition: Tensor.hpp:88
+
virtual void Set(IType right)=0
+ +
+
+ + + + -- cgit v1.2.1