aboutsummaryrefslogtreecommitdiff
path: root/latest/structarmnn_1_1_stack_queue_descriptor.html
diff options
context:
space:
mode:
authorNikhil Raj <nikhil.raj@arm.com>2024-05-16 09:47:51 +0100
committerNikhil Raj <nikhil.raj@arm.com>2024-05-16 09:47:51 +0100
commit1dc83febfb76d6a770bdf3ba16c4034a970c2320 (patch)
tree66d27e5587e9010f3db26a23a348df844c88f8e6 /latest/structarmnn_1_1_stack_queue_descriptor.html
parent38b600d8abb2c5f7a44511b5deddf441f975d51d (diff)
downloadarmnn-gh-pages.tar.gz
IVGCVSW-8260 Update Doxgen Docu for 24.05gh-pages
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com> Change-Id: If4bc983bf2793a27ded8e26ac2b29523fc1e4711
Diffstat (limited to 'latest/structarmnn_1_1_stack_queue_descriptor.html')
-rw-r--r--latest/structarmnn_1_1_stack_queue_descriptor.html190
1 files changed, 95 insertions, 95 deletions
diff --git a/latest/structarmnn_1_1_stack_queue_descriptor.html b/latest/structarmnn_1_1_stack_queue_descriptor.html
index 6f7c485f24..55a318d97a 100644
--- a/latest/structarmnn_1_1_stack_queue_descriptor.html
+++ b/latest/structarmnn_1_1_stack_queue_descriptor.html
@@ -36,7 +36,7 @@
<img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
<td id="projectalign" style="padding-left: 0.9em;">
<div id="projectname">
- &#160;<span id="projectnumber">24.02</span>
+ &#160;<span id="projectnumber">24.05</span>
</div>
</td>
</tr>
@@ -183,101 +183,101 @@ Additional Inherited Members</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="_workload_data_8cpp_source.html#l00914">914</a> of file <a class="el" href="_workload_data_8cpp_source.html">WorkloadData.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160;{</div>
-<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; <span class="keyword">const</span> std::string descriptorName{<span class="stringliteral">&quot;StackQueueDescriptor&quot;</span>};</div>
-<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; </div>
-<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; ValidateNumOutputs(workloadInfo, descriptorName, 1);</div>
+<p class="definition">Definition at line <a class="el" href="_workload_data_8cpp_source.html#l00916">916</a> of file <a class="el" href="_workload_data_8cpp_source.html">WorkloadData.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160;{</div>
+<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; <span class="keyword">const</span> std::string descriptorName{<span class="stringliteral">&quot;StackQueueDescriptor&quot;</span>};</div>
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; </div>
-<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_stack_descriptor.html#aed6086070440ceb94129bef06f70173f">m_NumInputs</a> != workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>.size())</div>
-<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; {</div>
-<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Must have the defined number of input tensors.&quot;</span>);</div>
-<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; }</div>
-<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; </div>
-<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <span class="comment">// All inputs must have the same shape, which is defined in parameters</span></div>
-<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>&amp; inputShape = <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_stack_descriptor.html#a2bea87b470268bb0b73457c3733dbc04">m_InputShape</a>;</div>
-<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>.size(); ++i)</div>
-<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; {</div>
-<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; <span class="keywordflow">if</span> (workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[i].GetShape() != inputShape)</div>
-<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; {</div>
-<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: All input tensor shapes must match the defined shape.&quot;</span>);</div>
-<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; }</div>
-<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; }</div>
-<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; </div>
-<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <span class="keywordflow">if</span> (inputShape.<a class="code" href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>() &gt; 4)</div>
-<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; {</div>
-<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Input tensor may have up to 4 dimensions.&quot;</span>);</div>
-<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; }</div>
-<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; </div>
-<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="comment">// m_Axis is 0-based and may take values from 0 to the number of input dimensions (inclusive),</span></div>
-<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <span class="comment">// since the output tensor has an additional dimension.</span></div>
-<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_stack_descriptor.html#ab218de7805899c8412d75d1fd1d846d2">m_Axis</a> &gt; inputShape.<a class="code" href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>())</div>
-<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; {</div>
-<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Axis may not be greater &quot;</span></div>
-<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; <span class="stringliteral">&quot;than the number of input dimensions.&quot;</span>);</div>
-<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; }</div>
-<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; </div>
-<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; <span class="comment">// Output shape must be as inferred from the input shape</span></div>
-<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>&amp; outputShape = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#a67b178f8a836bc1e52b8de109760adfd">m_OutputTensorInfos</a>[0].GetShape();</div>
-<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_stack_descriptor.html#ab218de7805899c8412d75d1fd1d846d2">m_Axis</a>; ++i)</div>
-<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; {</div>
-<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="keywordflow">if</span> (outputShape[i] != inputShape[i])</div>
-<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; {</div>
-<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Output tensor must &quot;</span></div>
-<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <span class="stringliteral">&quot;match shape inferred from input tensor.&quot;</span>);</div>
-<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; }</div>
-<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; }</div>
-<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; </div>
-<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; <span class="keywordflow">if</span> (outputShape[<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_stack_descriptor.html#ab218de7805899c8412d75d1fd1d846d2">m_Axis</a>] != <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_stack_descriptor.html#aed6086070440ceb94129bef06f70173f">m_NumInputs</a>)</div>
-<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; {</div>
-<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Output tensor must &quot;</span></div>
-<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <span class="stringliteral">&quot;match shape inferred from input tensor.&quot;</span>);</div>
-<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; }</div>
-<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; </div>
-<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_stack_descriptor.html#ab218de7805899c8412d75d1fd1d846d2">m_Axis</a> + 1; i &lt; inputShape.<a class="code" href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>() + 1; ++i)</div>
-<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; {</div>
-<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <span class="keywordflow">if</span> (outputShape[i] != inputShape[i-1])</div>
-<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; {</div>
-<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Output tensor must &quot;</span></div>
-<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; <span class="stringliteral">&quot;match shape inferred from input tensor.&quot;</span>);</div>
-<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; }</div>
-<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; }</div>
-<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; </div>
-<div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; <span class="keywordflow">if</span> (outputShape.<a class="code" href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>() &gt; 5)</div>
-<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; {</div>
-<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Output tensor may have up to 5 dimensions.&quot;</span>);</div>
-<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; }</div>
-<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; </div>
-<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; <span class="comment">// Check the supported data types</span></div>
-<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; std::vector&lt;DataType&gt; supportedTypes =</div>
-<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; {</div>
-<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div>
-<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div>
-<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div>
-<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a27226c864bac7454a8504f8edb15d95b">DataType::Boolean</a>,</div>
-<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a>,</div>
-<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div>
-<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div>
-<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div>
-<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; };</div>
-<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; </div>
-<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; ValidateDataTypes(workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[0], supportedTypes, descriptorName);</div>
+<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; ValidateNumOutputs(workloadInfo, descriptorName, 1);</div>
+<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; </div>
+<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_stack_descriptor.html#aed6086070440ceb94129bef06f70173f">m_NumInputs</a> != workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>.size())</div>
+<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; {</div>
+<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Must have the defined number of input tensors.&quot;</span>);</div>
+<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; }</div>
+<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; </div>
+<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; <span class="comment">// All inputs must have the same shape, which is defined in parameters</span></div>
+<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>&amp; inputShape = <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_stack_descriptor.html#a2bea87b470268bb0b73457c3733dbc04">m_InputShape</a>;</div>
+<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>.size(); ++i)</div>
+<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; {</div>
+<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="keywordflow">if</span> (workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[i].GetShape() != inputShape)</div>
+<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; {</div>
+<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: All input tensor shapes must match the defined shape.&quot;</span>);</div>
+<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; }</div>
+<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; }</div>
+<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; </div>
+<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="keywordflow">if</span> (inputShape.<a class="code" href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>() &gt; 4)</div>
+<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; {</div>
+<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Input tensor may have up to 4 dimensions.&quot;</span>);</div>
+<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; }</div>
+<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; </div>
+<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="comment">// m_Axis is 0-based and may take values from 0 to the number of input dimensions (inclusive),</span></div>
+<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; <span class="comment">// since the output tensor has an additional dimension.</span></div>
+<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_stack_descriptor.html#ab218de7805899c8412d75d1fd1d846d2">m_Axis</a> &gt; inputShape.<a class="code" href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>())</div>
+<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; {</div>
+<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Axis may not be greater &quot;</span></div>
+<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; <span class="stringliteral">&quot;than the number of input dimensions.&quot;</span>);</div>
+<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; }</div>
+<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; </div>
+<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="comment">// Output shape must be as inferred from the input shape</span></div>
+<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="keyword">const</span> <a class="code" href="classarmnn_1_1_tensor_shape.html">TensorShape</a>&amp; outputShape = workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#a67b178f8a836bc1e52b8de109760adfd">m_OutputTensorInfos</a>[0].GetShape();</div>
+<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_stack_descriptor.html#ab218de7805899c8412d75d1fd1d846d2">m_Axis</a>; ++i)</div>
+<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; {</div>
+<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="keywordflow">if</span> (outputShape[i] != inputShape[i])</div>
+<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; {</div>
+<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Output tensor must &quot;</span></div>
+<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; <span class="stringliteral">&quot;match shape inferred from input tensor.&quot;</span>);</div>
+<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; }</div>
+<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; }</div>
+<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; </div>
+<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <span class="keywordflow">if</span> (outputShape[<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_stack_descriptor.html#ab218de7805899c8412d75d1fd1d846d2">m_Axis</a>] != <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_stack_descriptor.html#aed6086070440ceb94129bef06f70173f">m_NumInputs</a>)</div>
+<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; {</div>
+<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Output tensor must &quot;</span></div>
+<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <span class="stringliteral">&quot;match shape inferred from input tensor.&quot;</span>);</div>
+<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; }</div>
+<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; </div>
+<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = <a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_stack_descriptor.html#ab218de7805899c8412d75d1fd1d846d2">m_Axis</a> + 1; i &lt; inputShape.<a class="code" href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>() + 1; ++i)</div>
+<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; {</div>
+<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; <span class="keywordflow">if</span> (outputShape[i] != inputShape[i-1])</div>
+<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; {</div>
+<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Output tensor must &quot;</span></div>
+<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; <span class="stringliteral">&quot;match shape inferred from input tensor.&quot;</span>);</div>
+<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; }</div>
+<div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; }</div>
+<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; </div>
+<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <span class="keywordflow">if</span> (outputShape.<a class="code" href="classarmnn_1_1_tensor_shape.html#a157e27d41e9f6b21f0d3c025fa47dc24">GetNumDimensions</a>() &gt; 5)</div>
+<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; {</div>
+<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <span class="keywordflow">throw</span> <a class="code" href="classarmnn_1_1_invalid_argument_exception.html">InvalidArgumentException</a>(descriptorName + <span class="stringliteral">&quot;: Output tensor may have up to 5 dimensions.&quot;</span>);</div>
+<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; }</div>
+<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; </div>
+<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; <span class="comment">// Check the supported data types</span></div>
+<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; std::vector&lt;DataType&gt; supportedTypes =</div>
+<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; {</div>
+<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div>
+<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div>
+<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div>
+<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a27226c864bac7454a8504f8edb15d95b">DataType::Boolean</a>,</div>
+<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a>,</div>
+<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div>
+<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div>
+<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div>
+<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; };</div>
<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; </div>
-<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 1ul; i &lt; workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>.size(); ++i)</div>
-<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; {</div>
-<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; ValidateTensorDataTypesMatch(workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[0],</div>
-<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[i],</div>
-<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; descriptorName,</div>
-<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; <span class="stringliteral">&quot;input_0&quot;</span>,</div>
-<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; <span class="stringliteral">&quot;input_&quot;</span> + std::to_string(i));</div>
-<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; }</div>
-<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; </div>
-<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; ValidateTensorDataTypesMatch(workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[0],</div>
-<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#a67b178f8a836bc1e52b8de109760adfd">m_OutputTensorInfos</a>[0],</div>
-<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; descriptorName,</div>
-<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; <span class="stringliteral">&quot;input_0&quot;</span>,</div>
-<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; <span class="stringliteral">&quot;output&quot;</span>);</div>
-<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;}</div>
+<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; ValidateDataTypes(workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[0], supportedTypes, descriptorName);</div>
+<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; </div>
+<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 1ul; i &lt; workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>.size(); ++i)</div>
+<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; {</div>
+<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; ValidateTensorDataTypesMatch(workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[0],</div>
+<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[i],</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; descriptorName,</div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; <span class="stringliteral">&quot;input_0&quot;</span>,</div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; <span class="stringliteral">&quot;input_&quot;</span> + std::to_string(i));</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; }</div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; </div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; ValidateTensorDataTypesMatch(workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#ac97905bfa0daab357b91df1347600309">m_InputTensorInfos</a>[0],</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; workloadInfo.<a class="code" href="structarmnn_1_1_workload_info.html#a67b178f8a836bc1e52b8de109760adfd">m_OutputTensorInfos</a>[0],</div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; descriptorName,</div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <span class="stringliteral">&quot;input_0&quot;</span>,</div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; <span class="stringliteral">&quot;output&quot;</span>);</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::BFloat16</a>, <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a27226c864bac7454a8504f8edb15d95b">armnn::Boolean</a>, <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::Float16</a>, <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::Float32</a>, <a class="el" href="_tensor_8cpp_source.html#l00174">TensorShape::GetNumDimensions()</a>, <a class="el" href="_descriptors_8hpp_source.html#l01273">StackDescriptor::m_Axis</a>, <a class="el" href="_descriptors_8hpp_source.html#l01277">StackDescriptor::m_InputShape</a>, <a class="el" href="_workload_info_8hpp_source.html#l00018">WorkloadInfo::m_InputTensorInfos</a>, <a class="el" href="_descriptors_8hpp_source.html#l01275">StackDescriptor::m_NumInputs</a>, <a class="el" href="_workload_info_8hpp_source.html#l00019">WorkloadInfo::m_OutputTensorInfos</a>, <a class="el" href="_workload_data_8hpp_source.html#l00066">QueueDescriptorWithParameters&lt; StackDescriptor &gt;::m_Parameters</a>, <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::QAsymmS8</a>, <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::QAsymmU8</a>, <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::QSymmS16</a>, and <a class="el" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::Signed32</a>.</p>
@@ -310,7 +310,7 @@ Additional Inherited Members</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="structarmnn_1_1_stack_queue_descriptor.html">StackQueueDescriptor</a></li>
- <li class="footer">Generated on Wed Feb 14 2024 16:36:25 for Arm NN by
+ <li class="footer">Generated on Thu May 16 2024 09:31:59 for Arm NN by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>