aboutsummaryrefslogtreecommitdiff
path: root/21.02/structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml
diff options
context:
space:
mode:
Diffstat (limited to '21.02/structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml')
-rw-r--r--21.02/structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml493
1 files changed, 493 insertions, 0 deletions
diff --git a/21.02/structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml b/21.02/structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml
new file mode 100644
index 0000000000..a205d3aa2a
--- /dev/null
+++ b/21.02/structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml
@@ -0,0 +1,493 @@
+<!-- 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: QuantizedLstmQueueDescriptor Struct 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">21.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('structarmnn_1_1_quantized_lstm_queue_descriptor.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="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structarmnn_1_1_quantized_lstm_queue_descriptor-members.xhtml">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">QuantizedLstmQueueDescriptor Struct Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for QuantizedLstmQueueDescriptor:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="structarmnn_1_1_quantized_lstm_queue_descriptor.png" usemap="#QuantizedLstmQueueDescriptor_map" alt=""/>
+ <map id="QuantizedLstmQueueDescriptor_map" name="QuantizedLstmQueueDescriptor_map">
+<area href="structarmnn_1_1_queue_descriptor.xhtml" alt="QueueDescriptor" shape="rect" coords="0,0,191,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aafdc5119a81b0104cd742401cec60f3a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#aafdc5119a81b0104cd742401cec60f3a">QuantizedLstmQueueDescriptor</a> ()</td></tr>
+<tr class="separator:aafdc5119a81b0104cd742401cec60f3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a041e495449e22774a34d92b0904c10bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a041e495449e22774a34d92b0904c10bf">Validate</a> (const <a class="el" href="structarmnn_1_1_workload_info.xhtml">WorkloadInfo</a> &amp;workloadInfo) const</td></tr>
+<tr class="separator:a041e495449e22774a34d92b0904c10bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_structarmnn_1_1_queue_descriptor"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structarmnn_1_1_queue_descriptor')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="structarmnn_1_1_queue_descriptor.xhtml">QueueDescriptor</a></td></tr>
+<tr class="memitem:a765d2cee4ccce5b9467e0c2b6d25b84a inherit pub_methods_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#a765d2cee4ccce5b9467e0c2b6d25b84a">ValidateInputsOutputs</a> (const std::string &amp;descName, unsigned int numExpectedIn, unsigned int numExpectedOut) const</td></tr>
+<tr class="separator:a765d2cee4ccce5b9467e0c2b6d25b84a inherit pub_methods_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0428f0a7927f8c29264d9c9a287840da inherit pub_methods_structarmnn_1_1_queue_descriptor"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a0428f0a7927f8c29264d9c9a287840da inherit pub_methods_structarmnn_1_1_queue_descriptor"><td class="memTemplItemLeft" align="right" valign="top">const T *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#a0428f0a7927f8c29264d9c9a287840da">GetAdditionalInformation</a> () const</td></tr>
+<tr class="separator:a0428f0a7927f8c29264d9c9a287840da inherit pub_methods_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a08a1932be591c315a512a877d38b22df"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a08a1932be591c315a512a877d38b22df">m_InputToInputWeights</a></td></tr>
+<tr class="separator:a08a1932be591c315a512a877d38b22df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ea82566d98c5a657c76c3d851c47848"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a3ea82566d98c5a657c76c3d851c47848">m_InputToForgetWeights</a></td></tr>
+<tr class="separator:a3ea82566d98c5a657c76c3d851c47848"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a28ad98d17603fd8b12e046f8ece58970"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a28ad98d17603fd8b12e046f8ece58970">m_InputToCellWeights</a></td></tr>
+<tr class="separator:a28ad98d17603fd8b12e046f8ece58970"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83dc9086b2e4a4e4cadb66bd874df798"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a83dc9086b2e4a4e4cadb66bd874df798">m_InputToOutputWeights</a></td></tr>
+<tr class="separator:a83dc9086b2e4a4e4cadb66bd874df798"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98d377149071d8842d610cc0734d1cfe"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a98d377149071d8842d610cc0734d1cfe">m_RecurrentToInputWeights</a></td></tr>
+<tr class="separator:a98d377149071d8842d610cc0734d1cfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45d73e66cbb2b65049e4016c20657ccf"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a45d73e66cbb2b65049e4016c20657ccf">m_RecurrentToForgetWeights</a></td></tr>
+<tr class="separator:a45d73e66cbb2b65049e4016c20657ccf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea142bd50ffb93631c2e08324ec92a1e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#aea142bd50ffb93631c2e08324ec92a1e">m_RecurrentToCellWeights</a></td></tr>
+<tr class="separator:aea142bd50ffb93631c2e08324ec92a1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adebc1771e5a1f4b113a7aa594ea74d2c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#adebc1771e5a1f4b113a7aa594ea74d2c">m_RecurrentToOutputWeights</a></td></tr>
+<tr class="separator:adebc1771e5a1f4b113a7aa594ea74d2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb3aade8fae984f7293e222dcbe66030"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#acb3aade8fae984f7293e222dcbe66030">m_InputGateBias</a></td></tr>
+<tr class="separator:acb3aade8fae984f7293e222dcbe66030"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba3ffe91d818266b8785ce971548eb59"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#aba3ffe91d818266b8785ce971548eb59">m_ForgetGateBias</a></td></tr>
+<tr class="separator:aba3ffe91d818266b8785ce971548eb59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75980b5795efd899a0c678a06a900c6d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a75980b5795efd899a0c678a06a900c6d">m_CellBias</a></td></tr>
+<tr class="separator:a75980b5795efd899a0c678a06a900c6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a332551528a4b3534c2d6c89ce816fcd9"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a332551528a4b3534c2d6c89ce816fcd9">m_OutputGateBias</a></td></tr>
+<tr class="separator:a332551528a4b3534c2d6c89ce816fcd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_attribs_structarmnn_1_1_queue_descriptor"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_structarmnn_1_1_queue_descriptor')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="structarmnn_1_1_queue_descriptor.xhtml">QueueDescriptor</a></td></tr>
+<tr class="memitem:a4b50e46a6810018f3edecfb68b2a76b3 inherit pub_attribs_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classarmnn_1_1_i_tensor_handle.xhtml">ITensorHandle</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#a4b50e46a6810018f3edecfb68b2a76b3">m_Inputs</a></td></tr>
+<tr class="separator:a4b50e46a6810018f3edecfb68b2a76b3 inherit pub_attribs_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6abd491bb99ffe88bd472c1ae5a1ed1a inherit pub_attribs_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classarmnn_1_1_i_tensor_handle.xhtml">ITensorHandle</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#a6abd491bb99ffe88bd472c1ae5a1ed1a">m_Outputs</a></td></tr>
+<tr class="separator:a6abd491bb99ffe88bd472c1ae5a1ed1a inherit pub_attribs_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f2e6134cabedfc58aa53fe38a2b8a67 inherit pub_attribs_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#a2f2e6134cabedfc58aa53fe38a2b8a67">m_AdditionalInfoObject</a></td></tr>
+<tr class="separator:a2f2e6134cabedfc58aa53fe38a2b8a67 inherit pub_attribs_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_structarmnn_1_1_queue_descriptor"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_structarmnn_1_1_queue_descriptor')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="structarmnn_1_1_queue_descriptor.xhtml">QueueDescriptor</a></td></tr>
+<tr class="memitem:af67c3785421c91d37fb22132d441f704 inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#af67c3785421c91d37fb22132d441f704">~QueueDescriptor</a> ()=default</td></tr>
+<tr class="separator:af67c3785421c91d37fb22132d441f704 inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab088ef357662bcea45cbd49674ad0ff7 inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#ab088ef357662bcea45cbd49674ad0ff7">QueueDescriptor</a> ()</td></tr>
+<tr class="separator:ab088ef357662bcea45cbd49674ad0ff7 inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75d3b85e1e50b1dff74ee84a593d089e inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#a75d3b85e1e50b1dff74ee84a593d089e">QueueDescriptor</a> (<a class="el" href="structarmnn_1_1_queue_descriptor.xhtml">QueueDescriptor</a> const &amp;)=default</td></tr>
+<tr class="separator:a75d3b85e1e50b1dff74ee84a593d089e inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c928b975a0de05cf2536c721ba6b521 inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml">QueueDescriptor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_queue_descriptor.xhtml#a1c928b975a0de05cf2536c721ba6b521">operator=</a> (<a class="el" href="structarmnn_1_1_queue_descriptor.xhtml">QueueDescriptor</a> const &amp;)=default</td></tr>
+<tr class="separator:a1c928b975a0de05cf2536c721ba6b521 inherit pro_methods_structarmnn_1_1_queue_descriptor"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock">
+<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00604">604</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="aafdc5119a81b0104cd742401cec60f3a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aafdc5119a81b0104cd742401cec60f3a">&#9670;&nbsp;</a></span>QuantizedLstmQueueDescriptor()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml">QuantizedLstmQueueDescriptor</a> </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00606">606</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; : <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a08a1932be591c315a512a877d38b22df">m_InputToInputWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; , <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a3ea82566d98c5a657c76c3d851c47848">m_InputToForgetWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; , <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a28ad98d17603fd8b12e046f8ece58970">m_InputToCellWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; , <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a83dc9086b2e4a4e4cadb66bd874df798">m_InputToOutputWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160;</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; , <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a98d377149071d8842d610cc0734d1cfe">m_RecurrentToInputWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; , <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a45d73e66cbb2b65049e4016c20657ccf">m_RecurrentToForgetWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; , <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#aea142bd50ffb93631c2e08324ec92a1e">m_RecurrentToCellWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; , <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#adebc1771e5a1f4b113a7aa594ea74d2c">m_RecurrentToOutputWeights</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; , <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#acb3aade8fae984f7293e222dcbe66030">m_InputGateBias</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; , <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#aba3ffe91d818266b8785ce971548eb59">m_ForgetGateBias</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; , <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a75980b5795efd899a0c678a06a900c6d">m_CellBias</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; , <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a332551528a4b3534c2d6c89ce816fcd9">m_OutputGateBias</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; {}</div><div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a45d73e66cbb2b65049e4016c20657ccf"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a45d73e66cbb2b65049e4016c20657ccf">armnn::QuantizedLstmQueueDescriptor::m_RecurrentToForgetWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToForgetWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00629">WorkloadData.hpp:629</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_acb3aade8fae984f7293e222dcbe66030"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#acb3aade8fae984f7293e222dcbe66030">armnn::QuantizedLstmQueueDescriptor::m_InputGateBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputGateBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00633">WorkloadData.hpp:633</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a28ad98d17603fd8b12e046f8ece58970"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a28ad98d17603fd8b12e046f8ece58970">armnn::QuantizedLstmQueueDescriptor::m_InputToCellWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToCellWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00625">WorkloadData.hpp:625</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_aba3ffe91d818266b8785ce971548eb59"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#aba3ffe91d818266b8785ce971548eb59">armnn::QuantizedLstmQueueDescriptor::m_ForgetGateBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_ForgetGateBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00634">WorkloadData.hpp:634</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a98d377149071d8842d610cc0734d1cfe"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a98d377149071d8842d610cc0734d1cfe">armnn::QuantizedLstmQueueDescriptor::m_RecurrentToInputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToInputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00628">WorkloadData.hpp:628</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_aea142bd50ffb93631c2e08324ec92a1e"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#aea142bd50ffb93631c2e08324ec92a1e">armnn::QuantizedLstmQueueDescriptor::m_RecurrentToCellWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToCellWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00630">WorkloadData.hpp:630</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_adebc1771e5a1f4b113a7aa594ea74d2c"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#adebc1771e5a1f4b113a7aa594ea74d2c">armnn::QuantizedLstmQueueDescriptor::m_RecurrentToOutputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToOutputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00631">WorkloadData.hpp:631</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a75980b5795efd899a0c678a06a900c6d"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a75980b5795efd899a0c678a06a900c6d">armnn::QuantizedLstmQueueDescriptor::m_CellBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_CellBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00635">WorkloadData.hpp:635</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a332551528a4b3534c2d6c89ce816fcd9"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a332551528a4b3534c2d6c89ce816fcd9">armnn::QuantizedLstmQueueDescriptor::m_OutputGateBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_OutputGateBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00636">WorkloadData.hpp:636</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a3ea82566d98c5a657c76c3d851c47848"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a3ea82566d98c5a657c76c3d851c47848">armnn::QuantizedLstmQueueDescriptor::m_InputToForgetWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToForgetWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00624">WorkloadData.hpp:624</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a83dc9086b2e4a4e4cadb66bd874df798"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a83dc9086b2e4a4e4cadb66bd874df798">armnn::QuantizedLstmQueueDescriptor::m_InputToOutputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToOutputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00626">WorkloadData.hpp:626</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a08a1932be591c315a512a877d38b22df"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a08a1932be591c315a512a877d38b22df">armnn::QuantizedLstmQueueDescriptor::m_InputToInputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToInputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00623">WorkloadData.hpp:623</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a041e495449e22774a34d92b0904c10bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a041e495449e22774a34d92b0904c10bf">&#9670;&nbsp;</a></span>Validate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void Validate </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="structarmnn_1_1_workload_info.xhtml">WorkloadInfo</a> &amp;&#160;</td>
+ <td class="paramname"><em>workloadInfo</em></td><td>)</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_workload_data_8cpp_source.xhtml#l03202">3202</a> of file <a class="el" href="_workload_data_8cpp_source.xhtml">WorkloadData.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="include_2armnn_2backends_2_workload_info_8hpp_source.xhtml#l00018">WorkloadInfo::m_InputTensorInfos</a>, <a class="el" href="include_2armnn_2backends_2_workload_info_8hpp_source.xhtml#l00019">WorkloadInfo::m_OutputTensorInfos</a>, <a class="el" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::QAsymmU8</a>, <a class="el" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::QSymmS16</a>, and <a class="el" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::Signed32</a>.</p>
+<div class="fragment"><div class="line"><a name="l03203"></a><span class="lineno"> 3203</span>&#160;{</div><div class="line"><a name="l03204"></a><span class="lineno"> 3204</span>&#160; <span class="keyword">const</span> std::string descriptorName{<span class="stringliteral">&quot;QuantizedLstmQueueDescriptor&quot;</span>};</div><div class="line"><a name="l03205"></a><span class="lineno"> 3205</span>&#160;</div><div class="line"><a name="l03206"></a><span class="lineno"> 3206</span>&#160; <span class="comment">// Validate number of inputs/outputs</span></div><div class="line"><a name="l03207"></a><span class="lineno"> 3207</span>&#160; ValidateNumInputs(workloadInfo, descriptorName, 3);</div><div class="line"><a name="l03208"></a><span class="lineno"> 3208</span>&#160; ValidateNumOutputs(workloadInfo, descriptorName, 2);</div><div class="line"><a name="l03209"></a><span class="lineno"> 3209</span>&#160;</div><div class="line"><a name="l03210"></a><span class="lineno"> 3210</span>&#160; <span class="comment">// Input/output tensor infos</span></div><div class="line"><a name="l03211"></a><span class="lineno"> 3211</span>&#160; <span class="keyword">auto</span> inputInfo = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.xhtml#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[0];</div><div class="line"><a name="l03212"></a><span class="lineno"> 3212</span>&#160; <span class="keyword">auto</span> cellStateInInfo = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.xhtml#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[1];</div><div class="line"><a name="l03213"></a><span class="lineno"> 3213</span>&#160; <span class="keyword">auto</span> outputStateInInfo = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.xhtml#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[2];</div><div class="line"><a name="l03214"></a><span class="lineno"> 3214</span>&#160;</div><div class="line"><a name="l03215"></a><span class="lineno"> 3215</span>&#160; <span class="keyword">auto</span> cellStateOutInfo = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.xhtml#a67b178f8a836bc1e52b8de109760adfd">m_OutputTensorInfos</a>[0];</div><div class="line"><a name="l03216"></a><span class="lineno"> 3216</span>&#160; <span class="keyword">auto</span> outputStateOutInfo = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.xhtml#a67b178f8a836bc1e52b8de109760adfd">m_OutputTensorInfos</a>[1];</div><div class="line"><a name="l03217"></a><span class="lineno"> 3217</span>&#160;</div><div class="line"><a name="l03218"></a><span class="lineno"> 3218</span>&#160; std::vector&lt;DataType&gt; inputOutputSupportedTypes =</div><div class="line"><a name="l03219"></a><span class="lineno"> 3219</span>&#160; {</div><div class="line"><a name="l03220"></a><span class="lineno"> 3220</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a></div><div class="line"><a name="l03221"></a><span class="lineno"> 3221</span>&#160; };</div><div class="line"><a name="l03222"></a><span class="lineno"> 3222</span>&#160;</div><div class="line"><a name="l03223"></a><span class="lineno"> 3223</span>&#160; std::vector&lt;DataType&gt; cellStateSupportedTypes =</div><div class="line"><a name="l03224"></a><span class="lineno"> 3224</span>&#160; {</div><div class="line"><a name="l03225"></a><span class="lineno"> 3225</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l03226"></a><span class="lineno"> 3226</span>&#160; };</div><div class="line"><a name="l03227"></a><span class="lineno"> 3227</span>&#160;</div><div class="line"><a name="l03228"></a><span class="lineno"> 3228</span>&#160; std::vector&lt;DataType&gt; weightsSupportedTypes =</div><div class="line"><a name="l03229"></a><span class="lineno"> 3229</span>&#160; {</div><div class="line"><a name="l03230"></a><span class="lineno"> 3230</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a></div><div class="line"><a name="l03231"></a><span class="lineno"> 3231</span>&#160; };</div><div class="line"><a name="l03232"></a><span class="lineno"> 3232</span>&#160;</div><div class="line"><a name="l03233"></a><span class="lineno"> 3233</span>&#160; std::vector&lt;DataType&gt; biasSupportedTypes =</div><div class="line"><a name="l03234"></a><span class="lineno"> 3234</span>&#160; {</div><div class="line"><a name="l03235"></a><span class="lineno"> 3235</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a></div><div class="line"><a name="l03236"></a><span class="lineno"> 3236</span>&#160; };</div><div class="line"><a name="l03237"></a><span class="lineno"> 3237</span>&#160;</div><div class="line"><a name="l03238"></a><span class="lineno"> 3238</span>&#160; <span class="comment">// Validate types of input/output tensors</span></div><div class="line"><a name="l03239"></a><span class="lineno"> 3239</span>&#160; ValidateDataTypes(inputInfo, inputOutputSupportedTypes, descriptorName);</div><div class="line"><a name="l03240"></a><span class="lineno"> 3240</span>&#160; ValidateDataTypes(cellStateInInfo, cellStateSupportedTypes, descriptorName);</div><div class="line"><a name="l03241"></a><span class="lineno"> 3241</span>&#160; ValidateDataTypes(outputStateInInfo, inputOutputSupportedTypes, descriptorName);</div><div class="line"><a name="l03242"></a><span class="lineno"> 3242</span>&#160;</div><div class="line"><a name="l03243"></a><span class="lineno"> 3243</span>&#160; ValidateDataTypes(cellStateOutInfo, cellStateSupportedTypes, descriptorName);</div><div class="line"><a name="l03244"></a><span class="lineno"> 3244</span>&#160; ValidateDataTypes(outputStateOutInfo, inputOutputSupportedTypes, descriptorName);</div><div class="line"><a name="l03245"></a><span class="lineno"> 3245</span>&#160;</div><div class="line"><a name="l03246"></a><span class="lineno"> 3246</span>&#160; <span class="comment">// Validate matching types of input/output tensors</span></div><div class="line"><a name="l03247"></a><span class="lineno"> 3247</span>&#160; ValidateTensorDataTypesMatch(inputInfo, outputStateInInfo, descriptorName, <span class="stringliteral">&quot;input&quot;</span>, <span class="stringliteral">&quot;outputStateIn&quot;</span>);</div><div class="line"><a name="l03248"></a><span class="lineno"> 3248</span>&#160; ValidateTensorDataTypesMatch(outputStateInInfo, outputStateOutInfo, descriptorName,</div><div class="line"><a name="l03249"></a><span class="lineno"> 3249</span>&#160; <span class="stringliteral">&quot;outputStateIn&quot;</span>, <span class="stringliteral">&quot;outputStateOut&quot;</span>);</div><div class="line"><a name="l03250"></a><span class="lineno"> 3250</span>&#160; ValidateTensorDataTypesMatch(cellStateInInfo, cellStateOutInfo, descriptorName, <span class="stringliteral">&quot;cellStateIn&quot;</span>, <span class="stringliteral">&quot;cellStateOut&quot;</span>);</div><div class="line"><a name="l03251"></a><span class="lineno"> 3251</span>&#160;</div><div class="line"><a name="l03252"></a><span class="lineno"> 3252</span>&#160; <span class="comment">// Validate matching quantization info for input/output tensors</span></div><div class="line"><a name="l03253"></a><span class="lineno"> 3253</span>&#160; ValidateTensorQuantizationSpace(inputInfo, outputStateInInfo, descriptorName, <span class="stringliteral">&quot;input&quot;</span>, <span class="stringliteral">&quot;outputStateIn&quot;</span>);</div><div class="line"><a name="l03254"></a><span class="lineno"> 3254</span>&#160; ValidateTensorQuantizationSpace(inputInfo, outputStateOutInfo, descriptorName, <span class="stringliteral">&quot;input&quot;</span>, <span class="stringliteral">&quot;outputStateOut&quot;</span>);</div><div class="line"><a name="l03255"></a><span class="lineno"> 3255</span>&#160; ValidateTensorQuantizationSpace(cellStateInInfo, cellStateOutInfo, descriptorName, <span class="stringliteral">&quot;cellStateIn&quot;</span>, <span class="stringliteral">&quot;cellStateOut&quot;</span>);</div><div class="line"><a name="l03256"></a><span class="lineno"> 3256</span>&#160;</div><div class="line"><a name="l03257"></a><span class="lineno"> 3257</span>&#160; <span class="comment">// Infer number of batches, input size and output size from tensor dimensions</span></div><div class="line"><a name="l03258"></a><span class="lineno"> 3258</span>&#160; <span class="keyword">const</span> uint32_t numBatches = inputInfo.GetShape()[0];</div><div class="line"><a name="l03259"></a><span class="lineno"> 3259</span>&#160; <span class="keyword">const</span> uint32_t inputSize = inputInfo.GetShape()[1];</div><div class="line"><a name="l03260"></a><span class="lineno"> 3260</span>&#160; <span class="keyword">const</span> uint32_t outputSize = cellStateInInfo.GetShape()[1];</div><div class="line"><a name="l03261"></a><span class="lineno"> 3261</span>&#160;</div><div class="line"><a name="l03262"></a><span class="lineno"> 3262</span>&#160; <span class="comment">// Validate number of dimensions and number of elements for input/output tensors</span></div><div class="line"><a name="l03263"></a><span class="lineno"> 3263</span>&#160; ValidateTensorNumDimNumElem(inputInfo, 2, (numBatches * inputSize), descriptorName + <span class="stringliteral">&quot; input&quot;</span>);</div><div class="line"><a name="l03264"></a><span class="lineno"> 3264</span>&#160; ValidateTensorNumDimNumElem(cellStateInInfo, 2, (numBatches * outputSize), descriptorName + <span class="stringliteral">&quot; cellStateIn&quot;</span>);</div><div class="line"><a name="l03265"></a><span class="lineno"> 3265</span>&#160; ValidateTensorNumDimNumElem(outputStateInInfo, 2, (numBatches * outputSize), descriptorName + <span class="stringliteral">&quot; outputStateIn&quot;</span>);</div><div class="line"><a name="l03266"></a><span class="lineno"> 3266</span>&#160; ValidateTensorNumDimNumElem(cellStateOutInfo, 2, (numBatches * outputSize), descriptorName + <span class="stringliteral">&quot; cellStateOut&quot;</span>);</div><div class="line"><a name="l03267"></a><span class="lineno"> 3267</span>&#160; ValidateTensorNumDimNumElem(outputStateOutInfo, 2, (numBatches * outputSize), descriptorName + <span class="stringliteral">&quot; outputStateOut&quot;</span>);</div><div class="line"><a name="l03268"></a><span class="lineno"> 3268</span>&#160;</div><div class="line"><a name="l03269"></a><span class="lineno"> 3269</span>&#160; <span class="comment">// Validate number of dimensions and number of elements for weights tensors</span></div><div class="line"><a name="l03270"></a><span class="lineno"> 3270</span>&#160; ValidatePointer(<a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a08a1932be591c315a512a877d38b22df">m_InputToInputWeights</a>, descriptorName, <span class="stringliteral">&quot;InputToInputWeights&quot;</span>);</div><div class="line"><a name="l03271"></a><span class="lineno"> 3271</span>&#160; <span class="keyword">auto</span> inputToInputWeightsInfo = <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a08a1932be591c315a512a877d38b22df">m_InputToInputWeights</a>-&gt;<a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03272"></a><span class="lineno"> 3272</span>&#160; ValidateTensorNumDimNumElem(inputToInputWeightsInfo, 2, (outputSize * inputSize), <span class="stringliteral">&quot; InputToInputWeights&quot;</span>);</div><div class="line"><a name="l03273"></a><span class="lineno"> 3273</span>&#160;</div><div class="line"><a name="l03274"></a><span class="lineno"> 3274</span>&#160; ValidatePointer(<a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a3ea82566d98c5a657c76c3d851c47848">m_InputToForgetWeights</a>, descriptorName, <span class="stringliteral">&quot;InputToForgetWeights&quot;</span>);</div><div class="line"><a name="l03275"></a><span class="lineno"> 3275</span>&#160; <span class="keyword">auto</span> inputToForgetWeightsInfo = <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a3ea82566d98c5a657c76c3d851c47848">m_InputToForgetWeights</a>-&gt;<a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03276"></a><span class="lineno"> 3276</span>&#160; ValidateTensorNumDimNumElem(inputToForgetWeightsInfo, 2, (outputSize * inputSize), <span class="stringliteral">&quot; InputToForgetWeights&quot;</span>);</div><div class="line"><a name="l03277"></a><span class="lineno"> 3277</span>&#160;</div><div class="line"><a name="l03278"></a><span class="lineno"> 3278</span>&#160; ValidatePointer(<a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a28ad98d17603fd8b12e046f8ece58970">m_InputToCellWeights</a>, descriptorName, <span class="stringliteral">&quot;InputToCellWeights&quot;</span>);</div><div class="line"><a name="l03279"></a><span class="lineno"> 3279</span>&#160; <span class="keyword">auto</span> inputToCellWeightsInfo = <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a28ad98d17603fd8b12e046f8ece58970">m_InputToCellWeights</a>-&gt;<a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03280"></a><span class="lineno"> 3280</span>&#160; ValidateTensorNumDimNumElem(inputToCellWeightsInfo, 2, (outputSize * inputSize), <span class="stringliteral">&quot; InputToCellWeights&quot;</span>);</div><div class="line"><a name="l03281"></a><span class="lineno"> 3281</span>&#160;</div><div class="line"><a name="l03282"></a><span class="lineno"> 3282</span>&#160; ValidatePointer(<a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a83dc9086b2e4a4e4cadb66bd874df798">m_InputToOutputWeights</a>, descriptorName, <span class="stringliteral">&quot;InputToOutputWeights&quot;</span>);</div><div class="line"><a name="l03283"></a><span class="lineno"> 3283</span>&#160; <span class="keyword">auto</span> inputToOutputWeightsInfo = <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a83dc9086b2e4a4e4cadb66bd874df798">m_InputToOutputWeights</a>-&gt;<a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03284"></a><span class="lineno"> 3284</span>&#160; ValidateTensorNumDimNumElem(inputToOutputWeightsInfo, 2, (outputSize * inputSize), <span class="stringliteral">&quot; InputToOutputWeights&quot;</span>);</div><div class="line"><a name="l03285"></a><span class="lineno"> 3285</span>&#160;</div><div class="line"><a name="l03286"></a><span class="lineno"> 3286</span>&#160; ValidatePointer(<a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a98d377149071d8842d610cc0734d1cfe">m_RecurrentToInputWeights</a>, descriptorName, <span class="stringliteral">&quot;RecurrentToInputWeights&quot;</span>);</div><div class="line"><a name="l03287"></a><span class="lineno"> 3287</span>&#160; <span class="keyword">auto</span> recurrentToInputWeightsInfo = <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a98d377149071d8842d610cc0734d1cfe">m_RecurrentToInputWeights</a>-&gt;<a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03288"></a><span class="lineno"> 3288</span>&#160; ValidateTensorNumDimNumElem(recurrentToInputWeightsInfo, 2, (outputSize * outputSize), <span class="stringliteral">&quot; RecurrentToInputWeights&quot;</span>);</div><div class="line"><a name="l03289"></a><span class="lineno"> 3289</span>&#160;</div><div class="line"><a name="l03290"></a><span class="lineno"> 3290</span>&#160; ValidatePointer(<a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a45d73e66cbb2b65049e4016c20657ccf">m_RecurrentToForgetWeights</a>, descriptorName, <span class="stringliteral">&quot;RecurrentToForgetWeights&quot;</span>);</div><div class="line"><a name="l03291"></a><span class="lineno"> 3291</span>&#160; <span class="keyword">auto</span> recurrentToForgetWeightsInfo = <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a45d73e66cbb2b65049e4016c20657ccf">m_RecurrentToForgetWeights</a>-&gt;<a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03292"></a><span class="lineno"> 3292</span>&#160; ValidateTensorNumDimNumElem(recurrentToForgetWeightsInfo, 2, (outputSize * outputSize),</div><div class="line"><a name="l03293"></a><span class="lineno"> 3293</span>&#160; <span class="stringliteral">&quot; RecurrentToForgetWeights&quot;</span>);</div><div class="line"><a name="l03294"></a><span class="lineno"> 3294</span>&#160;</div><div class="line"><a name="l03295"></a><span class="lineno"> 3295</span>&#160; ValidatePointer(<a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#aea142bd50ffb93631c2e08324ec92a1e">m_RecurrentToCellWeights</a>, descriptorName, <span class="stringliteral">&quot;RecurrentToCellWeights&quot;</span>);</div><div class="line"><a name="l03296"></a><span class="lineno"> 3296</span>&#160; <span class="keyword">auto</span> recurrentToCellWeightsInfo = <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#aea142bd50ffb93631c2e08324ec92a1e">m_RecurrentToCellWeights</a>-&gt;<a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03297"></a><span class="lineno"> 3297</span>&#160; ValidateTensorNumDimNumElem(recurrentToCellWeightsInfo, 2, (outputSize * outputSize), <span class="stringliteral">&quot; RecurrentToCellWeights&quot;</span>);</div><div class="line"><a name="l03298"></a><span class="lineno"> 3298</span>&#160;</div><div class="line"><a name="l03299"></a><span class="lineno"> 3299</span>&#160; ValidatePointer(<a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#adebc1771e5a1f4b113a7aa594ea74d2c">m_RecurrentToOutputWeights</a>, descriptorName, <span class="stringliteral">&quot;RecurrentToOutputWeights&quot;</span>);</div><div class="line"><a name="l03300"></a><span class="lineno"> 3300</span>&#160; <span class="keyword">auto</span> recurrentToOutputWeightsInfo = <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#adebc1771e5a1f4b113a7aa594ea74d2c">m_RecurrentToOutputWeights</a>-&gt;<a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03301"></a><span class="lineno"> 3301</span>&#160; ValidateTensorNumDimNumElem(recurrentToOutputWeightsInfo, 2, (outputSize * outputSize), <span class="stringliteral">&quot; RecurrentToCellWeights&quot;</span>);</div><div class="line"><a name="l03302"></a><span class="lineno"> 3302</span>&#160;</div><div class="line"><a name="l03303"></a><span class="lineno"> 3303</span>&#160; <span class="comment">// Validate data types for weights tensors (all should match each other)</span></div><div class="line"><a name="l03304"></a><span class="lineno"> 3304</span>&#160; ValidateDataTypes(inputToInputWeightsInfo, weightsSupportedTypes, descriptorName);</div><div class="line"><a name="l03305"></a><span class="lineno"> 3305</span>&#160;</div><div class="line"><a name="l03306"></a><span class="lineno"> 3306</span>&#160; ValidateTensorDataTypesMatch(inputToInputWeightsInfo, inputToForgetWeightsInfo, descriptorName,</div><div class="line"><a name="l03307"></a><span class="lineno"> 3307</span>&#160; <span class="stringliteral">&quot;inputToInputWeights&quot;</span>, <span class="stringliteral">&quot;inputToForgetWeights&quot;</span>);</div><div class="line"><a name="l03308"></a><span class="lineno"> 3308</span>&#160; ValidateTensorDataTypesMatch(inputToInputWeightsInfo, inputToCellWeightsInfo, descriptorName,</div><div class="line"><a name="l03309"></a><span class="lineno"> 3309</span>&#160; <span class="stringliteral">&quot;inputToInputWeights&quot;</span>, <span class="stringliteral">&quot;inputToCellWeights&quot;</span>);</div><div class="line"><a name="l03310"></a><span class="lineno"> 3310</span>&#160; ValidateTensorDataTypesMatch(inputToInputWeightsInfo, inputToOutputWeightsInfo, descriptorName,</div><div class="line"><a name="l03311"></a><span class="lineno"> 3311</span>&#160; <span class="stringliteral">&quot;inputToInputWeights&quot;</span>, <span class="stringliteral">&quot;inputToOutputWeights&quot;</span>);</div><div class="line"><a name="l03312"></a><span class="lineno"> 3312</span>&#160;</div><div class="line"><a name="l03313"></a><span class="lineno"> 3313</span>&#160; ValidateTensorDataTypesMatch(inputToInputWeightsInfo, recurrentToInputWeightsInfo, descriptorName,</div><div class="line"><a name="l03314"></a><span class="lineno"> 3314</span>&#160; <span class="stringliteral">&quot;inputToInputWeights&quot;</span>, <span class="stringliteral">&quot;recurrentToInputWeights&quot;</span>);</div><div class="line"><a name="l03315"></a><span class="lineno"> 3315</span>&#160; ValidateTensorDataTypesMatch(inputToInputWeightsInfo, recurrentToForgetWeightsInfo, descriptorName,</div><div class="line"><a name="l03316"></a><span class="lineno"> 3316</span>&#160; <span class="stringliteral">&quot;inputToInputWeights&quot;</span>, <span class="stringliteral">&quot;recurrentToForgeteights&quot;</span>);</div><div class="line"><a name="l03317"></a><span class="lineno"> 3317</span>&#160; ValidateTensorDataTypesMatch(inputToInputWeightsInfo, recurrentToCellWeightsInfo, descriptorName,</div><div class="line"><a name="l03318"></a><span class="lineno"> 3318</span>&#160; <span class="stringliteral">&quot;inputToInputWeights&quot;</span>, <span class="stringliteral">&quot;recurrentToCellWeights&quot;</span>);</div><div class="line"><a name="l03319"></a><span class="lineno"> 3319</span>&#160; ValidateTensorDataTypesMatch(inputToInputWeightsInfo, recurrentToOutputWeightsInfo, descriptorName,</div><div class="line"><a name="l03320"></a><span class="lineno"> 3320</span>&#160; <span class="stringliteral">&quot;inputToInputWeights&quot;</span>, <span class="stringliteral">&quot;recurrentToOutputWeights&quot;</span>);</div><div class="line"><a name="l03321"></a><span class="lineno"> 3321</span>&#160;</div><div class="line"><a name="l03322"></a><span class="lineno"> 3322</span>&#160; <span class="comment">// Validate matching quantization info for weight tensors (all should match each other)</span></div><div class="line"><a name="l03323"></a><span class="lineno"> 3323</span>&#160; ValidateTensorQuantizationSpace(inputToInputWeightsInfo, inputToForgetWeightsInfo,</div><div class="line"><a name="l03324"></a><span class="lineno"> 3324</span>&#160; descriptorName, <span class="stringliteral">&quot;inputToInputWeights&quot;</span>, <span class="stringliteral">&quot;inputToForgetWeights&quot;</span>);</div><div class="line"><a name="l03325"></a><span class="lineno"> 3325</span>&#160; ValidateTensorQuantizationSpace(inputToInputWeightsInfo, inputToCellWeightsInfo,</div><div class="line"><a name="l03326"></a><span class="lineno"> 3326</span>&#160; descriptorName, <span class="stringliteral">&quot;inputToInputWeights&quot;</span>, <span class="stringliteral">&quot;inputToCellWeights&quot;</span>);</div><div class="line"><a name="l03327"></a><span class="lineno"> 3327</span>&#160; ValidateTensorQuantizationSpace(inputToInputWeightsInfo, inputToOutputWeightsInfo,</div><div class="line"><a name="l03328"></a><span class="lineno"> 3328</span>&#160; descriptorName, <span class="stringliteral">&quot;inputToInputWeights&quot;</span>, <span class="stringliteral">&quot;inputToOutputWeights&quot;</span>);</div><div class="line"><a name="l03329"></a><span class="lineno"> 3329</span>&#160;</div><div class="line"><a name="l03330"></a><span class="lineno"> 3330</span>&#160; ValidateTensorQuantizationSpace(inputToInputWeightsInfo, recurrentToInputWeightsInfo,</div><div class="line"><a name="l03331"></a><span class="lineno"> 3331</span>&#160; descriptorName, <span class="stringliteral">&quot;inputToInputWeights&quot;</span>, <span class="stringliteral">&quot;recurrentToInputWeights&quot;</span>);</div><div class="line"><a name="l03332"></a><span class="lineno"> 3332</span>&#160; ValidateTensorQuantizationSpace(inputToInputWeightsInfo, recurrentToForgetWeightsInfo,</div><div class="line"><a name="l03333"></a><span class="lineno"> 3333</span>&#160; descriptorName, <span class="stringliteral">&quot;inputToInputWeights&quot;</span>, <span class="stringliteral">&quot;recurrentToForgetWeights&quot;</span>);</div><div class="line"><a name="l03334"></a><span class="lineno"> 3334</span>&#160; ValidateTensorQuantizationSpace(inputToInputWeightsInfo, recurrentToCellWeightsInfo,</div><div class="line"><a name="l03335"></a><span class="lineno"> 3335</span>&#160; descriptorName, <span class="stringliteral">&quot;inputToInputWeights&quot;</span>, <span class="stringliteral">&quot;recurrentToCellWeights&quot;</span>);</div><div class="line"><a name="l03336"></a><span class="lineno"> 3336</span>&#160; ValidateTensorQuantizationSpace(inputToInputWeightsInfo, recurrentToOutputWeightsInfo,</div><div class="line"><a name="l03337"></a><span class="lineno"> 3337</span>&#160; descriptorName, <span class="stringliteral">&quot;inputToInputWeights&quot;</span>, <span class="stringliteral">&quot;recurrentToOutputWeights&quot;</span>);</div><div class="line"><a name="l03338"></a><span class="lineno"> 3338</span>&#160;</div><div class="line"><a name="l03339"></a><span class="lineno"> 3339</span>&#160; <span class="comment">// Validate number of dimensions and number of elements in bias tensors</span></div><div class="line"><a name="l03340"></a><span class="lineno"> 3340</span>&#160; ValidatePointer(<a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#acb3aade8fae984f7293e222dcbe66030">m_InputGateBias</a>, descriptorName, <span class="stringliteral">&quot;InputGateBias&quot;</span>);</div><div class="line"><a name="l03341"></a><span class="lineno"> 3341</span>&#160; <span class="keyword">auto</span> inputGateBiasInfo = <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#acb3aade8fae984f7293e222dcbe66030">m_InputGateBias</a>-&gt;<a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03342"></a><span class="lineno"> 3342</span>&#160; ValidateTensorNumDimNumElem(inputGateBiasInfo, 1, outputSize, <span class="stringliteral">&quot; InputGateBias&quot;</span>);</div><div class="line"><a name="l03343"></a><span class="lineno"> 3343</span>&#160;</div><div class="line"><a name="l03344"></a><span class="lineno"> 3344</span>&#160; ValidatePointer(<a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#aba3ffe91d818266b8785ce971548eb59">m_ForgetGateBias</a>, descriptorName, <span class="stringliteral">&quot;ForgetGateBias&quot;</span>);</div><div class="line"><a name="l03345"></a><span class="lineno"> 3345</span>&#160; <span class="keyword">auto</span> forgetGateBiasInfo = <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#aba3ffe91d818266b8785ce971548eb59">m_ForgetGateBias</a>-&gt;<a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03346"></a><span class="lineno"> 3346</span>&#160; ValidateTensorNumDimNumElem(forgetGateBiasInfo, 1, outputSize, <span class="stringliteral">&quot; ForgetGateBias&quot;</span>);</div><div class="line"><a name="l03347"></a><span class="lineno"> 3347</span>&#160;</div><div class="line"><a name="l03348"></a><span class="lineno"> 3348</span>&#160; ValidatePointer(<a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a75980b5795efd899a0c678a06a900c6d">m_CellBias</a>, descriptorName, <span class="stringliteral">&quot;CellBias&quot;</span>);</div><div class="line"><a name="l03349"></a><span class="lineno"> 3349</span>&#160; <span class="keyword">auto</span> cellBiasInfo = <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a75980b5795efd899a0c678a06a900c6d">m_CellBias</a>-&gt;<a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03350"></a><span class="lineno"> 3350</span>&#160; ValidateTensorNumDimNumElem(cellBiasInfo, 1, outputSize, <span class="stringliteral">&quot; CellBias&quot;</span>);</div><div class="line"><a name="l03351"></a><span class="lineno"> 3351</span>&#160;</div><div class="line"><a name="l03352"></a><span class="lineno"> 3352</span>&#160; ValidatePointer(<a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a332551528a4b3534c2d6c89ce816fcd9">m_OutputGateBias</a>, descriptorName, <span class="stringliteral">&quot;OutputGateBias&quot;</span>);</div><div class="line"><a name="l03353"></a><span class="lineno"> 3353</span>&#160; <span class="keyword">auto</span> outputGateBiasInfo = <a class="code" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a332551528a4b3534c2d6c89ce816fcd9">m_OutputGateBias</a>-&gt;<a class="code" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">GetTensorInfo</a>();</div><div class="line"><a name="l03354"></a><span class="lineno"> 3354</span>&#160; ValidateTensorNumDimNumElem(outputGateBiasInfo, 1, outputSize, <span class="stringliteral">&quot; OutputGateBias&quot;</span>);</div><div class="line"><a name="l03355"></a><span class="lineno"> 3355</span>&#160;</div><div class="line"><a name="l03356"></a><span class="lineno"> 3356</span>&#160; <span class="comment">// Validate data types for bias tensors (all should match each other)</span></div><div class="line"><a name="l03357"></a><span class="lineno"> 3357</span>&#160; ValidateDataTypes(inputGateBiasInfo, biasSupportedTypes, descriptorName);</div><div class="line"><a name="l03358"></a><span class="lineno"> 3358</span>&#160;</div><div class="line"><a name="l03359"></a><span class="lineno"> 3359</span>&#160; ValidateTensorDataTypesMatch(inputGateBiasInfo, forgetGateBiasInfo, descriptorName,</div><div class="line"><a name="l03360"></a><span class="lineno"> 3360</span>&#160; <span class="stringliteral">&quot;inputGateBias&quot;</span>, <span class="stringliteral">&quot;forgetGateBias&quot;</span>);</div><div class="line"><a name="l03361"></a><span class="lineno"> 3361</span>&#160; ValidateTensorDataTypesMatch(inputGateBiasInfo, cellBiasInfo, descriptorName,</div><div class="line"><a name="l03362"></a><span class="lineno"> 3362</span>&#160; <span class="stringliteral">&quot;inputGateBias&quot;</span>, <span class="stringliteral">&quot;cellBias&quot;</span>);</div><div class="line"><a name="l03363"></a><span class="lineno"> 3363</span>&#160; ValidateTensorDataTypesMatch(inputGateBiasInfo, outputGateBiasInfo, descriptorName,</div><div class="line"><a name="l03364"></a><span class="lineno"> 3364</span>&#160; <span class="stringliteral">&quot;inputGateBias&quot;</span>, <span class="stringliteral">&quot;outputGateBias&quot;</span>);</div><div class="line"><a name="l03365"></a><span class="lineno"> 3365</span>&#160;</div><div class="line"><a name="l03366"></a><span class="lineno"> 3366</span>&#160; <span class="comment">// Validate bias tensor quantization info</span></div><div class="line"><a name="l03367"></a><span class="lineno"> 3367</span>&#160; ValidateBiasTensorQuantization(inputGateBiasInfo, inputInfo, inputToInputWeightsInfo, descriptorName);</div><div class="line"><a name="l03368"></a><span class="lineno"> 3368</span>&#160; ValidateBiasTensorQuantization(forgetGateBiasInfo, inputInfo, inputToInputWeightsInfo, descriptorName);</div><div class="line"><a name="l03369"></a><span class="lineno"> 3369</span>&#160; ValidateBiasTensorQuantization(cellBiasInfo, inputInfo, inputToInputWeightsInfo, descriptorName);</div><div class="line"><a name="l03370"></a><span class="lineno"> 3370</span>&#160; ValidateBiasTensorQuantization(outputGateBiasInfo, inputInfo, inputToInputWeightsInfo, descriptorName);</div><div class="line"><a name="l03371"></a><span class="lineno"> 3371</span>&#160;}</div><div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a45d73e66cbb2b65049e4016c20657ccf"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a45d73e66cbb2b65049e4016c20657ccf">armnn::QuantizedLstmQueueDescriptor::m_RecurrentToForgetWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToForgetWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00629">WorkloadData.hpp:629</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_acb3aade8fae984f7293e222dcbe66030"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#acb3aade8fae984f7293e222dcbe66030">armnn::QuantizedLstmQueueDescriptor::m_InputGateBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputGateBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00633">WorkloadData.hpp:633</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a28ad98d17603fd8b12e046f8ece58970"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a28ad98d17603fd8b12e046f8ece58970">armnn::QuantizedLstmQueueDescriptor::m_InputToCellWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToCellWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00625">WorkloadData.hpp:625</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
+<div class="ttc" id="structarmnn_1_1_workload_info_xhtml_ac97905bfa0daab357b91df1347600309"><div class="ttname"><a href="structarmnn_1_1_workload_info.xhtml#ac97905bfa0daab357b91df1347600309">armnn::WorkloadInfo::m_InputTensorInfos</a></div><div class="ttdeci">std::vector&lt; TensorInfo &gt; m_InputTensorInfos</div><div class="ttdef"><b>Definition:</b> <a href="include_2armnn_2backends_2_workload_info_8hpp_source.xhtml#l00018">WorkloadInfo.hpp:18</a></div></div>
+<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_aba3ffe91d818266b8785ce971548eb59"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#aba3ffe91d818266b8785ce971548eb59">armnn::QuantizedLstmQueueDescriptor::m_ForgetGateBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_ForgetGateBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00634">WorkloadData.hpp:634</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a98d377149071d8842d610cc0734d1cfe"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a98d377149071d8842d610cc0734d1cfe">armnn::QuantizedLstmQueueDescriptor::m_RecurrentToInputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToInputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00628">WorkloadData.hpp:628</a></div></div>
+<div class="ttc" id="structarmnn_1_1_workload_info_xhtml_a67b178f8a836bc1e52b8de109760adfd"><div class="ttname"><a href="structarmnn_1_1_workload_info.xhtml#a67b178f8a836bc1e52b8de109760adfd">armnn::WorkloadInfo::m_OutputTensorInfos</a></div><div class="ttdeci">std::vector&lt; TensorInfo &gt; m_OutputTensorInfos</div><div class="ttdef"><b>Definition:</b> <a href="include_2armnn_2backends_2_workload_info_8hpp_source.xhtml#l00019">WorkloadInfo.hpp:19</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_aea142bd50ffb93631c2e08324ec92a1e"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#aea142bd50ffb93631c2e08324ec92a1e">armnn::QuantizedLstmQueueDescriptor::m_RecurrentToCellWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToCellWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00630">WorkloadData.hpp:630</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_adebc1771e5a1f4b113a7aa594ea74d2c"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#adebc1771e5a1f4b113a7aa594ea74d2c">armnn::QuantizedLstmQueueDescriptor::m_RecurrentToOutputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_RecurrentToOutputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00631">WorkloadData.hpp:631</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a75980b5795efd899a0c678a06a900c6d"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a75980b5795efd899a0c678a06a900c6d">armnn::QuantizedLstmQueueDescriptor::m_CellBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_CellBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00635">WorkloadData.hpp:635</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a332551528a4b3534c2d6c89ce816fcd9"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a332551528a4b3534c2d6c89ce816fcd9">armnn::QuantizedLstmQueueDescriptor::m_OutputGateBias</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_OutputGateBias</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00636">WorkloadData.hpp:636</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a3ea82566d98c5a657c76c3d851c47848"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a3ea82566d98c5a657c76c3d851c47848">armnn::QuantizedLstmQueueDescriptor::m_InputToForgetWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToForgetWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00624">WorkloadData.hpp:624</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a83dc9086b2e4a4e4cadb66bd874df798"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a83dc9086b2e4a4e4cadb66bd874df798">armnn::QuantizedLstmQueueDescriptor::m_InputToOutputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToOutputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00626">WorkloadData.hpp:626</a></div></div>
+<div class="ttc" id="structarmnn_1_1_quantized_lstm_queue_descriptor_xhtml_a08a1932be591c315a512a877d38b22df"><div class="ttname"><a href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml#a08a1932be591c315a512a877d38b22df">armnn::QuantizedLstmQueueDescriptor::m_InputToInputWeights</a></div><div class="ttdeci">const ConstCpuTensorHandle * m_InputToInputWeights</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.xhtml#l00623">WorkloadData.hpp:623</a></div></div>
+<div class="ttc" id="classarmnn_1_1_const_cpu_tensor_handle_xhtml_a66e8f43a5b42b500871ed96e15419567"><div class="ttname"><a href="classarmnn_1_1_const_cpu_tensor_handle.xhtml#a66e8f43a5b42b500871ed96e15419567">armnn::ConstCpuTensorHandle::GetTensorInfo</a></div><div class="ttdeci">const TensorInfo &amp; GetTensorInfo() const</div><div class="ttdef"><b>Definition:</b> <a href="_cpu_tensor_handle_8hpp_source.xhtml#l00037">CpuTensorHandle.hpp:37</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a id="a75980b5795efd899a0c678a06a900c6d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a75980b5795efd899a0c678a06a900c6d">&#9670;&nbsp;</a></span>m_CellBias</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_CellBias</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00635">635</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_quantized_lstm_layer_8cpp_source.xhtml#l00022">QuantizedLstmLayer::CreateWorkload()</a>.</p>
+
+</div>
+</div>
+<a id="aba3ffe91d818266b8785ce971548eb59"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba3ffe91d818266b8785ce971548eb59">&#9670;&nbsp;</a></span>m_ForgetGateBias</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_ForgetGateBias</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00634">634</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_quantized_lstm_layer_8cpp_source.xhtml#l00022">QuantizedLstmLayer::CreateWorkload()</a>.</p>
+
+</div>
+</div>
+<a id="acb3aade8fae984f7293e222dcbe66030"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acb3aade8fae984f7293e222dcbe66030">&#9670;&nbsp;</a></span>m_InputGateBias</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_InputGateBias</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00633">633</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_quantized_lstm_layer_8cpp_source.xhtml#l00022">QuantizedLstmLayer::CreateWorkload()</a>.</p>
+
+</div>
+</div>
+<a id="a28ad98d17603fd8b12e046f8ece58970"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a28ad98d17603fd8b12e046f8ece58970">&#9670;&nbsp;</a></span>m_InputToCellWeights</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_InputToCellWeights</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00625">625</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_quantized_lstm_layer_8cpp_source.xhtml#l00022">QuantizedLstmLayer::CreateWorkload()</a>.</p>
+
+</div>
+</div>
+<a id="a3ea82566d98c5a657c76c3d851c47848"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3ea82566d98c5a657c76c3d851c47848">&#9670;&nbsp;</a></span>m_InputToForgetWeights</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_InputToForgetWeights</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00624">624</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_quantized_lstm_layer_8cpp_source.xhtml#l00022">QuantizedLstmLayer::CreateWorkload()</a>.</p>
+
+</div>
+</div>
+<a id="a08a1932be591c315a512a877d38b22df"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a08a1932be591c315a512a877d38b22df">&#9670;&nbsp;</a></span>m_InputToInputWeights</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_InputToInputWeights</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00623">623</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_quantized_lstm_layer_8cpp_source.xhtml#l00022">QuantizedLstmLayer::CreateWorkload()</a>.</p>
+
+</div>
+</div>
+<a id="a83dc9086b2e4a4e4cadb66bd874df798"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a83dc9086b2e4a4e4cadb66bd874df798">&#9670;&nbsp;</a></span>m_InputToOutputWeights</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_InputToOutputWeights</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00626">626</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_quantized_lstm_layer_8cpp_source.xhtml#l00022">QuantizedLstmLayer::CreateWorkload()</a>.</p>
+
+</div>
+</div>
+<a id="a332551528a4b3534c2d6c89ce816fcd9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a332551528a4b3534c2d6c89ce816fcd9">&#9670;&nbsp;</a></span>m_OutputGateBias</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_OutputGateBias</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00636">636</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_quantized_lstm_layer_8cpp_source.xhtml#l00022">QuantizedLstmLayer::CreateWorkload()</a>.</p>
+
+</div>
+</div>
+<a id="aea142bd50ffb93631c2e08324ec92a1e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aea142bd50ffb93631c2e08324ec92a1e">&#9670;&nbsp;</a></span>m_RecurrentToCellWeights</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_RecurrentToCellWeights</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00630">630</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_quantized_lstm_layer_8cpp_source.xhtml#l00022">QuantizedLstmLayer::CreateWorkload()</a>.</p>
+
+</div>
+</div>
+<a id="a45d73e66cbb2b65049e4016c20657ccf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a45d73e66cbb2b65049e4016c20657ccf">&#9670;&nbsp;</a></span>m_RecurrentToForgetWeights</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_RecurrentToForgetWeights</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00629">629</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_quantized_lstm_layer_8cpp_source.xhtml#l00022">QuantizedLstmLayer::CreateWorkload()</a>.</p>
+
+</div>
+</div>
+<a id="a98d377149071d8842d610cc0734d1cfe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a98d377149071d8842d610cc0734d1cfe">&#9670;&nbsp;</a></span>m_RecurrentToInputWeights</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_RecurrentToInputWeights</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00628">628</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_quantized_lstm_layer_8cpp_source.xhtml#l00022">QuantizedLstmLayer::CreateWorkload()</a>.</p>
+
+</div>
+</div>
+<a id="adebc1771e5a1f4b113a7aa594ea74d2c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adebc1771e5a1f4b113a7aa594ea74d2c">&#9670;&nbsp;</a></span>m_RecurrentToOutputWeights</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const <a class="el" href="classarmnn_1_1_const_cpu_tensor_handle.xhtml">ConstCpuTensorHandle</a>* m_RecurrentToOutputWeights</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_workload_data_8hpp_source.xhtml#l00631">631</a> of file <a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a>.</p>
+
+<p class="reference">Referenced by <a class="el" href="_quantized_lstm_layer_8cpp_source.xhtml#l00022">QuantizedLstmLayer::CreateWorkload()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following files:<ul>
+<li>src/backends/backendsCommon/<a class="el" href="_workload_data_8hpp_source.xhtml">WorkloadData.hpp</a></li>
+<li>src/backends/backendsCommon/<a class="el" href="_workload_data_8cpp_source.xhtml">WorkloadData.cpp</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="navelem"><a class="el" href="namespacearmnn.xhtml">armnn</a></li><li class="navelem"><a class="el" href="structarmnn_1_1_quantized_lstm_queue_descriptor.xhtml">QuantizedLstmQueueDescriptor</a></li>
+ <li class="footer">Generated on Thu Feb 25 2021 17:28:00 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>