ArmNN
 20.02
DataLayoutIndexed.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
7 
8 using namespace armnn;
9 
10 namespace armnnUtils
11 {
12 
14  : m_DataLayout(dataLayout)
15 {
16  switch (dataLayout)
17  {
19  m_ChannelsIndex = 3;
20  m_HeightIndex = 1;
21  m_WidthIndex = 2;
22  break;
24  m_ChannelsIndex = 1;
25  m_HeightIndex = 2;
26  m_WidthIndex = 3;
27  break;
28  default:
29  throw armnn::InvalidArgumentException("Unknown DataLayout value: " +
30  std::to_string(static_cast<int>(dataLayout)));
31  }
32 }
33 
34 bool operator==(const DataLayout& dataLayout, const DataLayoutIndexed& indexed)
35 {
36  return dataLayout == indexed.GetDataLayout();
37 }
38 
39 bool operator==(const DataLayoutIndexed& indexed, const DataLayout& dataLayout)
40 {
41  return indexed.GetDataLayout() == dataLayout;
42 }
43 
44 } // namespace armnnUtils
DataLayout
Definition: Types.hpp:49
Copyright (c) 2020 ARM Limited.
bool operator==(const armnn::DataLayout &dataLayout, const DataLayoutIndexed &indexed)
Equality methods.
DataLayoutIndexed(armnn::DataLayout dataLayout)
Provides access to the appropriate indexes for Channels, Height and Width based on DataLayout...
armnn::DataLayout GetDataLayout() const