<!-- 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: src/armnnUtils/VerificationHelpers.hpp File Reference</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('_verification_helpers_8hpp.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="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">VerificationHelpers.hpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;sstream&gt;</code><br />
<code>#include &lt;<a class="el" href="_exceptions_8hpp_source.xhtml">armnn/Exceptions.hpp</a>&gt;</code><br />
</div>
<p><a href="_verification_helpers_8hpp_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacearmnn_utils"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn_utils.xhtml">armnnUtils</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:aa693ef8620e450b6362938828002f2a6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_verification_helpers_8hpp.xhtml#aa693ef8620e450b6362938828002f2a6">CHECKED_INT32</a>(VALUE)&#160;&#160;&#160;<a class="el" href="namespacearmnn_utils.xhtml#a2e0aa273755368a1bf5fc65102df4a92">armnnUtils::VerifyInt32</a>(#VALUE, VALUE, <a class="el" href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>())</td></tr>
<tr class="separator:aa693ef8620e450b6362938828002f2a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a479b2821a7a2cbb8fa8eb7f60a47065d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_verification_helpers_8hpp.xhtml#a479b2821a7a2cbb8fa8eb7f60a47065d">CHECK_VALID_SIZE</a>(ACTUAL, ...)&#160;&#160;&#160;<a class="el" href="namespacearmnn_utils.xhtml#a97dc68ae76f04b81c833184724836c9a">armnnUtils::CheckValidSize</a>({__VA_ARGS__}, ACTUAL, #__VA_ARGS__, #ACTUAL, <a class="el" href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>())</td></tr>
<tr class="separator:a479b2821a7a2cbb8fa8eb7f60a47065d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaef93dc9a69f51b59f3cdd0ff0165927"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_verification_helpers_8hpp.xhtml#aaef93dc9a69f51b59f3cdd0ff0165927">CHECKED_NON_NEGATIVE</a>(VALUE)&#160;&#160;&#160;<a class="el" href="namespacearmnn_utils.xhtml#ab075020544612cd151ebdd08db537396">armnnUtils::NonNegative</a>(#VALUE, VALUE, <a class="el" href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>())</td></tr>
<tr class="separator:aaef93dc9a69f51b59f3cdd0ff0165927"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a97dc68ae76f04b81c833184724836c9a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn_utils.xhtml#a97dc68ae76f04b81c833184724836c9a">CheckValidSize</a> (std::initializer_list&lt; size_t &gt; validInputCounts, size_t actualValue, const char *validExpr, const char *actualExpr, const <a class="el" href="structarmnn_1_1_check_location.xhtml">CheckLocation</a> &amp;location)</td></tr>
<tr class="separator:a97dc68ae76f04b81c833184724836c9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab075020544612cd151ebdd08db537396"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn_utils.xhtml#ab075020544612cd151ebdd08db537396">NonNegative</a> (const char *expr, int32_t value, const <a class="el" href="structarmnn_1_1_check_location.xhtml">CheckLocation</a> &amp;location)</td></tr>
<tr class="separator:ab075020544612cd151ebdd08db537396"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e0aa273755368a1bf5fc65102df4a92"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearmnn_utils.xhtml#a2e0aa273755368a1bf5fc65102df4a92">VerifyInt32</a> (const char *expr, int64_t value, const <a class="el" href="structarmnn_1_1_check_location.xhtml">armnn::CheckLocation</a> &amp;location)</td></tr>
<tr class="separator:a2e0aa273755368a1bf5fc65102df4a92"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a479b2821a7a2cbb8fa8eb7f60a47065d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a479b2821a7a2cbb8fa8eb7f60a47065d">&#9670;&nbsp;</a></span>CHECK_VALID_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CHECK_VALID_SIZE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ACTUAL, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="namespacearmnn_utils.xhtml#a97dc68ae76f04b81c833184724836c9a">armnnUtils::CheckValidSize</a>({__VA_ARGS__}, ACTUAL, #__VA_ARGS__, #ACTUAL, <a class="el" href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>())</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_verification_helpers_8hpp_source.xhtml#l00032">32</a> of file <a class="el" href="_verification_helpers_8hpp_source.xhtml">VerificationHelpers.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_tf_lite_parser_8cpp_source.xhtml#l00605">TfLiteParser::CreateNetworkFromBinary()</a>, <a class="el" href="_onnx_parser_8cpp_source.xhtml#l00584">OnnxParser::CreateNetworkFromString()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l02465">Deserializer::GetLstmDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00764">Deserializer::GetNetworkOutputBindingInfo()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l02159">Deserializer::GetNormalizationDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l01554">armnnDeserializer::GetOriginsDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l01808">Deserializer::GetPoolingDescriptor()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l01938">Deserializer::OutputShapeOfReshape()</a>, <a class="el" href="_tf_lite_parser_8cpp_source.xhtml#l01898">TfLiteParser::OutputShapeOfReshape()</a>, and <a class="el" href="_tf_lite_parser_8cpp_source.xhtml#l01463">TfLiteParser::OutputShapeOfSqueeze()</a>.</p>

</div>
</div>
<a id="aa693ef8620e450b6362938828002f2a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa693ef8620e450b6362938828002f2a6">&#9670;&nbsp;</a></span>CHECKED_INT32</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CHECKED_INT32</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">VALUE</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="namespacearmnn_utils.xhtml#a2e0aa273755368a1bf5fc65102df4a92">armnnUtils::VerifyInt32</a>(#VALUE, VALUE, <a class="el" href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>())</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_verification_helpers_8hpp_source.xhtml#l00030">30</a> of file <a class="el" href="_verification_helpers_8hpp_source.xhtml">VerificationHelpers.hpp</a>.</p>

</div>
</div>
<a id="aaef93dc9a69f51b59f3cdd0ff0165927"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaef93dc9a69f51b59f3cdd0ff0165927">&#9670;&nbsp;</a></span>CHECKED_NON_NEGATIVE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CHECKED_NON_NEGATIVE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">VALUE</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="namespacearmnn_utils.xhtml#ab075020544612cd151ebdd08db537396">armnnUtils::NonNegative</a>(#VALUE, VALUE, <a class="el" href="_exceptions_8hpp.xhtml#aa3be76aec4ce713822a5ea1ecbb7bc61">CHECK_LOCATION</a>())</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_verification_helpers_8hpp_source.xhtml#l00035">35</a> of file <a class="el" href="_verification_helpers_8hpp_source.xhtml">VerificationHelpers.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_tf_lite_parser_8cpp_source.xhtml#l00605">TfLiteParser::CreateNetworkFromBinary()</a>, <a class="el" href="_deserializer_8cpp_source.xhtml#l00601">Deserializer::GetInputs()</a>, <a class="el" href="_tf_lite_parser_8cpp_source.xhtml#l02667">TfLiteParser::GetInputs()</a>, <a class="el" href="_tf_lite_parser_8cpp_source.xhtml#l02686">TfLiteParser::GetOutputs()</a>, <a class="el" href="_tf_lite_parser_8cpp_source.xhtml#l02706">TfLiteParser::GetSubgraphInputs()</a>, <a class="el" href="_tf_lite_parser_8cpp_source.xhtml#l02723">TfLiteParser::GetSubgraphOutputs()</a>, <a class="el" href="_tf_lite_parser_8cpp_source.xhtml#l01898">TfLiteParser::OutputShapeOfReshape()</a>, and <a class="el" href="_tf_lite_parser_8cpp_source.xhtml#l00488">TfLiteParser::TfLiteParser()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_5d9c764a006d252ff232a5efbbd99a46.xhtml">armnnUtils</a></li><li class="navelem"><a class="el" href="_verification_helpers_8hpp.xhtml">VerificationHelpers.hpp</a></li>
    <li class="footer">Generated on Fri Mar 13 2020 16:09:14 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>
