<!-- Copyright (c) 2020 ARM Limited. -->
<!--                                 -->
<!-- SPDX-License-Identifier: MIT    -->
<!--                                 -->
<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ArmNN: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">20.02</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('namespacemembers_g.xhtml','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="contents">
<div class="textblock">Here is a list of all namespace members with links to the namespace documentation for each member:</div>

<h3><a id="index_g"></a>- g -</h3><ul>
<li>g_AggregateProfilingEventsByInference
: <a class="el" href="namespacearmnn.xhtml#aacc0d11e271ebbfcff9d613dd17604aa">armnn</a>
</li>
<li>g_AsymmS8QuantizationBase
: <a class="el" href="namespacearmnn.xhtml#a09bdfaa922d72ce0d9ec014dfa8f8c95">armnn</a>
</li>
<li>g_AsymmU8QuantizationBase
: <a class="el" href="namespacearmnn.xhtml#a19994153bdbd7710f0af3973403bc4cc">armnn</a>
</li>
<li>g_ProfilingEventCountHint
: <a class="el" href="namespacearmnn.xhtml#a43ecd194778b7653578044060ba8695e">armnn</a>
</li>
<li>g_SymmS16QuantizationBase
: <a class="el" href="namespacearmnn.xhtml#a1465480794787d2278d3f0d2e6d887b4">armnn</a>
</li>
<li>g_SymmS8QuantizationBase
: <a class="el" href="namespacearmnn.xhtml#acd7f8820d124166a38c95bc8ad38811b">armnn</a>
</li>
<li>g_TestTolerance
: <a class="el" href="namespacearmnn.xhtml#a1a9a6dea47de10df8e3c76dd45df56fb">armnn</a>
</li>
<li>g_WriteProfilingEventSequence
: <a class="el" href="namespacearmnn.xhtml#a41794552ff67b0dad16de60f9b8e7d7c">armnn</a>
</li>
<li>g_WriteReportToStdOutOnProfilerDestruction
: <a class="el" href="namespacearmnn.xhtml#a6ce7e56eb10e440463f09eee8f213adc">armnn</a>
</li>
<li>Gather()
: <a class="el" href="namespacearmnn.xhtml#a66004b2326f8ccb1faa71d5efa186633">armnn</a>
</li>
<li>GatherTensorHandlePairs()
: <a class="el" href="namespacearmnn.xhtml#afb5b53a8b0c01d4f27830bef0f25ca09">armnn</a>
</li>
<li>GenerateRangeK()
: <a class="el" href="namespacearmnn.xhtml#ae8ed5c640761fb6744aec0ee16388417">armnn</a>
</li>
<li>GetActivationFunctionAsCString()
: <a class="el" href="namespacearmnn.xhtml#aa093207ea7c4e7a9c9abe40d2f57995b">armnn</a>
</li>
<li>GetArgMinMaxFunctionAsCString()
: <a class="el" href="namespacearmnn.xhtml#a5cda3502382f06a64c3cbeb1829bd850">armnn</a>
</li>
<li>GetBiasDataType()
: <a class="el" href="namespacearmnn.xhtml#a872803f5667392efc3c8e5607bd453ad">armnn</a>
</li>
<li>GetBiasTypeFromWeightsType()
: <a class="el" href="namespacearmnn.xhtml#a83c4a275acf59f62b8387f389d0929d5">armnn</a>
</li>
<li>GetBindingIdFromCsvRow()
: <a class="el" href="namespacearmnn_quantizer.xhtml#aab85f54ea6d8a9028c0c39a4c72d6f45">armnnQuantizer</a>
</li>
<li>GetComparisonOperationAsCString()
: <a class="el" href="namespacearmnn.xhtml#aabb76a77e95921785f576bb29b495cd8">armnn</a>
</li>
<li>GetComputeDeviceAsCString()
: <a class="el" href="namespacearmnn.xhtml#a6bab17bfd45c2fa4592c431bc25ad10e">armnn</a>
</li>
<li>GetCurrentId()
: <a class="el" href="namespacearmnn_utils_1_1_processes.xhtml#a1d95dea376acbd82dde773e05db454be">armnnUtils::Processes</a>
</li>
<li>GetDataLayoutName()
: <a class="el" href="namespacearmnn.xhtml#aeef70b7611ae71e97ab55c75ef72b210">armnn</a>
</li>
<li>GetDataTypeName()
: <a class="el" href="namespacearmnn.xhtml#a81b5ff8545adad19a1c9d4ca076d552c">armnn</a>
</li>
<li>GetDataTypeSize()
: <a class="el" href="namespacearmnn.xhtml#aa02b9e06fb20fa3c13da0427e6ee5ab2">armnn</a>
</li>
<li>GetEventPtr()
: <a class="el" href="namespacearmnn.xhtml#ab03dcfb3b4019d8f58a67c41681951ae">armnn</a>
</li>
<li>GetFileNameFromCsvRow()
: <a class="el" href="namespacearmnn_quantizer.xhtml#a3f96a98819e595ab554e5d029786b5ea">armnnQuantizer</a>
</li>
<li>GetFileSize()
: <a class="el" href="namespacearmnn_utils_1_1_filesystem.xhtml#a1c541d9c526205112781efcf3224f29c">armnnUtils::Filesystem</a>
</li>
<li>GetFlatBufferActivationFunction()
: <a class="el" href="namespacearmnn_serializer.xhtml#aac3bf4453f8a909ca23f290089df8ff1">armnnSerializer</a>
</li>
<li>GetFlatBufferArgMinMaxFunction()
: <a class="el" href="namespacearmnn_serializer.xhtml#a6fcb1eefde815b0b7465a689c8d26b50">armnnSerializer</a>
</li>
<li>GetFlatBufferComparisonOperation()
: <a class="el" href="namespacearmnn_serializer.xhtml#a1c88cccaeb232c6fe8022c7006bb21bc">armnnSerializer</a>
</li>
<li>GetFlatBufferConstTensorData()
: <a class="el" href="namespacearmnn_serializer.xhtml#af7a4f31739f602d7d78a056ebed19d04">armnnSerializer</a>
</li>
<li>GetFlatBufferDataLayout()
: <a class="el" href="namespacearmnn_serializer.xhtml#a6a38e099993f10c9262e0b5f2bff4fcd">armnnSerializer</a>
</li>
<li>GetFlatBufferDataType()
: <a class="el" href="namespacearmnn_serializer.xhtml#a27876085f01a54e1995bc0b3ea96ce41">armnnSerializer</a>
</li>
<li>GetFlatBufferNormalizationAlgorithmChannel()
: <a class="el" href="namespacearmnn_serializer.xhtml#af279947f1e42035d0f611e5b8cd70cb2">armnnSerializer</a>
</li>
<li>GetFlatBufferNormalizationAlgorithmMethod()
: <a class="el" href="namespacearmnn_serializer.xhtml#ac813f02c91c348db92b5a40ecfa0135e">armnnSerializer</a>
</li>
<li>GetFlatBufferOutputShapeRounding()
: <a class="el" href="namespacearmnn_serializer.xhtml#aa5f62540b7f991c1522cf9c43fc005ee">armnnSerializer</a>
</li>
<li>GetFlatBufferPaddingMethod()
: <a class="el" href="namespacearmnn_serializer.xhtml#a30eb1e8d2a9b090243c4ededa17746b7">armnnSerializer</a>
</li>
<li>GetFlatBufferPoolingAlgorithm()
: <a class="el" href="namespacearmnn_serializer.xhtml#ac2eceb2274af867d713fe44720fc2d4e">armnnSerializer</a>
</li>
<li>GetFlatBufferResizeMethod()
: <a class="el" href="namespacearmnn_serializer.xhtml#a255a85366167a060a9e33ce2378f28a0">armnnSerializer</a>
</li>
<li>GetFlatBufferUnaryOperation()
: <a class="el" href="namespacearmnn_serializer.xhtml#ae4ba1925d55937fdb1770852ff0554bf">armnnSerializer</a>
</li>
<li>GetHardwareVersion()
: <a class="el" href="namespacearmnn_1_1profiling.xhtml#a66ccd202fa7bf1e52476e61d49a45ee6">armnn::profiling</a>
</li>
<li>GetILayerSupportByBackendId()
: <a class="el" href="namespacearmnn.xhtml#a5974a183710829851dbd98a4a919cd50">armnn</a>
</li>
<li>GetInputTensorData()
: <a class="el" href="namespacearmnn.xhtml#a2187ea15b1ae8c323a0cc5c211fc43d9">armnn</a>
</li>
<li>GetInputTensorDataFloat()
: <a class="el" href="namespacearmnn.xhtml#a691846a9eee59b0cd5b22fb5f674e007">armnn</a>
</li>
<li>GetInputTensorDataHalf()
: <a class="el" href="namespacearmnn.xhtml#a084b0ce273bef78aa314bd97fc574b84">armnn</a>
</li>
<li>GetInputTensorInfo()
: <a class="el" href="namespacearmnn.xhtml#ae52296dff1f4879854f320d59f92574e">armnn</a>
</li>
<li>GetLayerTypeAsCString()
: <a class="el" href="namespacearmnn.xhtml#a9da573d7a1fc03726fd41f2130cbcf92">armnn</a>
</li>
<li>GetNextCounterUids()
: <a class="el" href="namespacearmnn_1_1profiling.xhtml#a6605c82bc625fbd40f24d35edee15fe3">armnn::profiling</a>
</li>
<li>GetNextUid()
: <a class="el" href="namespacearmnn_1_1profiling.xhtml#a982b094fe2faa67a3560cdaf3901d0f8">armnn::profiling</a>
</li>
<li>GetNormalizationAlgorithmChannelAsCString()
: <a class="el" href="namespacearmnn.xhtml#aeadd602e128a2be97161345b48533417">armnn</a>
</li>
<li>GetNormalizationAlgorithmMethodAsCString()
: <a class="el" href="namespacearmnn.xhtml#ad57460ea53cd0b519a3b3547eaf1db7c">armnn</a>
</li>
<li>GetNumElementsAfter()
: <a class="el" href="namespacearmnn_utils.xhtml#a276aac5f7a8bdc3db4f62203870ca13b">armnnUtils</a>
</li>
<li>GetNumElementsBetween()
: <a class="el" href="namespacearmnn_utils.xhtml#af57864f5e03358d14c2988edae912b8b">armnnUtils</a>
</li>
<li>GetOffset()
: <a class="el" href="namespacearmnn.xhtml#adafb0fd0a3f6435c2bdf41f971761ecf">armnn</a>
</li>
<li>GetOriginsDescriptor()
: <a class="el" href="namespacearmnn_deserializer.xhtml#a63d3841a5ebb0a5ce572cfb4cb634376">armnnDeserializer</a>
</li>
<li>GetOutputShapeRoundingAsCString()
: <a class="el" href="namespacearmnn.xhtml#a67d7ce2e14ebd328f423322db88279c3">armnn</a>
</li>
<li>GetOutputTensorData()
: <a class="el" href="namespacearmnn.xhtml#a2c0b2e5bd1b03aec10473a201f57f859">armnn</a>
</li>
<li>GetOutputTensorDataFloat()
: <a class="el" href="namespacearmnn.xhtml#ab5f0afc1e37fd100843ecd55d8f284c1">armnn</a>
</li>
<li>GetOutputTensorDataHalf()
: <a class="el" href="namespacearmnn.xhtml#ab98e77207c3d676b0b9ffa67357dbc6a">armnn</a>
</li>
<li>GetPaddingMethodAsCString()
: <a class="el" href="namespacearmnn.xhtml#a129bde68152f5892e6abdedcb62aa983">armnn</a>
</li>
<li>GetPassIdFromCsvRow()
: <a class="el" href="namespacearmnn_quantizer.xhtml#a6a8e511acff91de5ca5690dcb7952569">armnnQuantizer</a>
</li>
<li>GetPerAxisParams()
: <a class="el" href="namespacearmnn_utils.xhtml#a1826e433f7e6817976a8175b4ef8296c">armnnUtils</a>
</li>
<li>GetPoolingAlgorithmAsCString()
: <a class="el" href="namespacearmnn.xhtml#a517314c21ac5309b90408da162212f9d">armnn</a>
</li>
<li>GetProcessName()
: <a class="el" href="namespacearmnn_1_1profiling.xhtml#a52fbcd350a9f12a385a7c5562c1efd9a">armnn::profiling</a>
</li>
<li>GetProfilerEventSequenceSize()
: <a class="el" href="namespacearmnn.xhtml#a49a398090bc1044038300ce246821a1f">armnn</a>
</li>
<li>GetProfilingStateName()
: <a class="el" href="namespacearmnn_1_1profiling.xhtml#aa6851e58c103f77fcf83b722b4b81e9d">armnn::profiling</a>
</li>
<li>GetResizeMethodAsCString()
: <a class="el" href="namespacearmnn.xhtml#aded981a42027bd3302b9c0f09d988659">armnn</a>
</li>
<li>GetSoftwareInfo()
: <a class="el" href="namespacearmnn_1_1profiling.xhtml#af38e9c5d82c9317255665a6315842166">armnn::profiling</a>
</li>
<li>GetSoftwareVersion()
: <a class="el" href="namespacearmnn_1_1profiling.xhtml#a1a90cae723e311b3b71272a7f5ecccbb">armnn::profiling</a>
</li>
<li>GetStatusAsCString()
: <a class="el" href="namespacearmnn.xhtml#a19a90c41ca2f46ab29918fef1a6ad72e">armnn</a>
</li>
<li>GetTensorInfo()
: <a class="el" href="namespacearmnn.xhtml#a93d269806f34407695dc10f510001c30">armnn</a>
, <a class="el" href="namespacearmnn_utils.xhtml#acee63cd08da47910fc166a1990988fa8">armnnUtils</a>
</li>
<li>GetTensorShape()
: <a class="el" href="namespacearmnn_utils.xhtml#ab53d94ea22b51c6bcdf9584644bd67bb">armnnUtils</a>
</li>
<li>GetTimestamp()
: <a class="el" href="namespacearmnn_1_1profiling.xhtml#a77a41a7625d3134c0cccdf11d169acb4">armnn::profiling</a>
</li>
<li>GetUnaryOperationAsCString()
: <a class="el" href="namespacearmnn.xhtml#a6dac966f265381903c8ef4f392becced">armnn</a>
</li>
<li>GetUnpaddedTensorStrides()
: <a class="el" href="namespacearmnn.xhtml#a36e8f52330a21eeab3cc7c4e030f3583">armnn</a>
</li>
<li>GetUnsignedAxis()
: <a class="el" href="namespacearmnn_utils.xhtml#ac93cb1365b4bcb67df2a3164606096c5">armnnUtils</a>
</li>
<li>GraphEvent
: <a class="el" href="namespacearmnn.xhtml#a34eaed09302a4d7bfe930c13a7673e0b">armnn</a>
</li>
<li>GraphTopologicalSort()
: <a class="el" href="namespacearmnn_utils.xhtml#a662b45b5a4d48a01e967c0b28b6a552b">armnnUtils</a>
</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Fri Mar 13 2020 16:09:21 for ArmNN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
