blob: 1090dde6f3c1924e93adf2928bb55f24b0e75b37 [file] [log] [blame]
Ryan OSheade36e4a2020-03-13 16:26:19 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.13"/>
7<meta name="viewport" content="width=device-width, initial-scale=1"/>
8<title>ArmNN: RefLayerSupport Class Reference</title>
9<link href="tabs.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="dynsections.js"></script>
12<link href="navtree.css" rel="stylesheet" type="text/css"/>
13<script type="text/javascript" src="resize.js"></script>
14<script type="text/javascript" src="navtreedata.js"></script>
15<script type="text/javascript" src="navtree.js"></script>
16<script type="text/javascript">
17 $(document).ready(initResizable);
18</script>
19<link href="search/search.css" rel="stylesheet" type="text/css"/>
20<script type="text/javascript" src="search/searchdata.js"></script>
21<script type="text/javascript" src="search/search.js"></script>
22<link href="doxygen.css" rel="stylesheet" type="text/css" />
23</head>
24<body>
25<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
26<div id="titlearea">
27<table cellspacing="0" cellpadding="0">
28 <tbody>
29 <tr style="height: 56px;">
30 <td id="projectalign" style="padding-left: 0.5em;">
31 <div id="projectname">ArmNN
32 &#160;<span id="projectnumber">NotReleased</span>
33 </div>
34 </td>
35 </tr>
36 </tbody>
37</table>
38</div>
39<!-- end header part -->
40<!-- Generated by Doxygen 1.8.13 -->
41<script type="text/javascript">
42var searchBox = new SearchBox("searchBox", "search",false,'Search');
43</script>
44<script type="text/javascript" src="menudata.js"></script>
45<script type="text/javascript" src="menu.js"></script>
46<script type="text/javascript">
47$(function() {
48 initMenu('',true,false,'search.php','Search');
49 $(document).ready(function() { init_search(); });
50});
51</script>
52<div id="main-nav"></div>
53</div><!-- top -->
54<div id="side-nav" class="ui-resizable side-nav-resizable">
55 <div id="nav-tree">
56 <div id="nav-tree-contents">
57 <div id="nav-sync" class="sync"></div>
58 </div>
59 </div>
60 <div id="splitbar" style="-moz-user-select:none;"
61 class="ui-resizable-handle">
62 </div>
63</div>
64<script type="text/javascript">
65$(document).ready(function(){initNavTree('classarmnn_1_1_ref_layer_support.html','');});
66</script>
67<div id="doc-content">
68<!-- window showing the filter options -->
69<div id="MSearchSelectWindow"
70 onmouseover="return searchBox.OnSearchSelectShow()"
71 onmouseout="return searchBox.OnSearchSelectHide()"
72 onkeydown="return searchBox.OnSearchSelectKey(event)">
73</div>
74
75<!-- iframe showing the search results (closed by default) -->
76<div id="MSearchResultsWindow">
77<iframe src="javascript:void(0)" frameborder="0"
78 name="MSearchResults" id="MSearchResults">
79</iframe>
80</div>
81
82<div class="header">
83 <div class="summary">
84<a href="#pub-methods">Public Member Functions</a> &#124;
85<a href="classarmnn_1_1_ref_layer_support-members.html">List of all members</a> </div>
86 <div class="headertitle">
87<div class="title">RefLayerSupport Class Reference</div> </div>
88</div><!--header-->
89<div class="contents">
90
91<p><code>#include &lt;<a class="el" href="_ref_layer_support_8hpp_source.html">RefLayerSupport.hpp</a>&gt;</code></p>
92<div class="dynheader">
93Inheritance diagram for RefLayerSupport:</div>
94<div class="dyncontent">
95 <div class="center">
96 <img src="classarmnn_1_1_ref_layer_support.png" usemap="#RefLayerSupport_map" alt=""/>
97 <map id="RefLayerSupport_map" name="RefLayerSupport_map">
98<area href="classarmnn_1_1_layer_support_base.html" alt="LayerSupportBase" shape="rect" coords="0,56,117,80"/>
99<area href="classarmnn_1_1_i_layer_support.html" alt="ILayerSupport" shape="rect" coords="0,0,117,24"/>
100</map>
101 </div></div>
102<table class="memberdecls">
103<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
104Public Member Functions</h2></td></tr>
105<tr class="memitem:abd7fa8c2233f8a653e30ae2f3b839d92"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#abd7fa8c2233f8a653e30ae2f3b839d92">IsAbsSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
106<tr class="separator:abd7fa8c2233f8a653e30ae2f3b839d92"><td class="memSeparator" colspan="2">&#160;</td></tr>
107<tr class="memitem:ab3adb3a28736529682e4ff0ea976dcd3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#ab3adb3a28736529682e4ff0ea976dcd3">IsActivationSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_activation_descriptor.html">ActivationDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
108<tr class="separator:ab3adb3a28736529682e4ff0ea976dcd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
109<tr class="memitem:a48177e22e47448adb3d83e145dadf735"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a48177e22e47448adb3d83e145dadf735">IsAdditionSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
110<tr class="separator:a48177e22e47448adb3d83e145dadf735"><td class="memSeparator" colspan="2">&#160;</td></tr>
111<tr class="memitem:a0f4841f89f21fd794786b4c03c2425fd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a0f4841f89f21fd794786b4c03c2425fd">IsArgMinMaxSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_arg_min_max_descriptor.html">ArgMinMaxDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
112<tr class="separator:a0f4841f89f21fd794786b4c03c2425fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
113<tr class="memitem:a67c970dd054b991e14369de523ca3a5a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a67c970dd054b991e14369de523ca3a5a">IsBatchNormalizationSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;mean, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;var, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;beta, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;gamma, const <a class="el" href="structarmnn_1_1_batch_normalization_descriptor.html">BatchNormalizationDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
114<tr class="separator:a67c970dd054b991e14369de523ca3a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
115<tr class="memitem:adc5695cc25f4055c7ed54bdc8604a098"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#adc5695cc25f4055c7ed54bdc8604a098">IsBatchToSpaceNdSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_batch_to_space_nd_descriptor.html">BatchToSpaceNdDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
116<tr class="separator:adc5695cc25f4055c7ed54bdc8604a098"><td class="memSeparator" colspan="2">&#160;</td></tr>
117<tr class="memitem:a7c52726a684dd76258c61af124012537"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a7c52726a684dd76258c61af124012537">IsComparisonSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_comparison_descriptor.html">ComparisonDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
118<tr class="separator:a7c52726a684dd76258c61af124012537"><td class="memSeparator" colspan="2">&#160;</td></tr>
119<tr class="memitem:a3dca8ffbcb5f3afa1799aa7d354a3016"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a3dca8ffbcb5f3afa1799aa7d354a3016">IsConcatSupported</a> (const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> *&gt; inputs, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="namespacearmnn.html#a7863c179ff92feec660c48ab7b95ae55">ConcatDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
120<tr class="separator:a3dca8ffbcb5f3afa1799aa7d354a3016"><td class="memSeparator" colspan="2">&#160;</td></tr>
121<tr class="memitem:adf18c4fa8fc9e0cdae1967990aa90fe8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#adf18c4fa8fc9e0cdae1967990aa90fe8">IsConstantSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
122<tr class="separator:adf18c4fa8fc9e0cdae1967990aa90fe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
123<tr class="memitem:a1efcaf6f02892442fefca09f49ea3d7c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a1efcaf6f02892442fefca09f49ea3d7c">IsConvertFp16ToFp32Supported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
124<tr class="separator:a1efcaf6f02892442fefca09f49ea3d7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
125<tr class="memitem:a91fb5f44d8b9427dc45443aa9ebfe13e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a91fb5f44d8b9427dc45443aa9ebfe13e">IsConvertFp32ToFp16Supported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
126<tr class="separator:a91fb5f44d8b9427dc45443aa9ebfe13e"><td class="memSeparator" colspan="2">&#160;</td></tr>
127<tr class="memitem:af7ff06bd8115a6a9cc6d41e5c762798e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#af7ff06bd8115a6a9cc6d41e5c762798e">IsConvolution2dSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.html">Convolution2dDescriptor</a> &amp;descriptor, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;weights, const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &gt; &amp;biases, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
128<tr class="separator:af7ff06bd8115a6a9cc6d41e5c762798e"><td class="memSeparator" colspan="2">&#160;</td></tr>
129<tr class="memitem:a87a66c5e87a19534ce3e6c374c9b8f09"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a87a66c5e87a19534ce3e6c374c9b8f09">IsDebugSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
130<tr class="separator:a87a66c5e87a19534ce3e6c374c9b8f09"><td class="memSeparator" colspan="2">&#160;</td></tr>
131<tr class="memitem:a128fb9890897e08251a3f621e570cd23"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a128fb9890897e08251a3f621e570cd23">IsDepthToSpaceSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="namespacearmnn.html#a3647f60510bc8ddaced01c51b0ee8714">DepthToSpaceDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
132<tr class="separator:a128fb9890897e08251a3f621e570cd23"><td class="memSeparator" colspan="2">&#160;</td></tr>
133<tr class="memitem:adc84390751f227fe03a115b5fa10b0fc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#adc84390751f227fe03a115b5fa10b0fc">IsDepthwiseConvolutionSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html">DepthwiseConvolution2dDescriptor</a> &amp;descriptor, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;weights, const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &gt; &amp;biases, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
134<tr class="separator:adc84390751f227fe03a115b5fa10b0fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
135<tr class="memitem:a2e89c72cf60df7c2d2d7e5d98822b672"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a2e89c72cf60df7c2d2d7e5d98822b672">IsDequantizeSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
136<tr class="separator:a2e89c72cf60df7c2d2d7e5d98822b672"><td class="memSeparator" colspan="2">&#160;</td></tr>
137<tr class="memitem:a50af275d7755a5bb1be69736d7e4b02f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a50af275d7755a5bb1be69736d7e4b02f">IsDetectionPostProcessSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;<a class="el" href="_neon_end_to_end_tests_8cpp.html#ada422a73ac4e68bcb1b1b1f0b44028d9">boxEncodings</a>, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;<a class="el" href="_neon_end_to_end_tests_8cpp.html#a0348e6bb67ace72535bd105219bb6237">scores</a>, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;<a class="el" href="_neon_end_to_end_tests_8cpp.html#ac0981848e4ae57729f14f72bd4caa9f8">anchors</a>, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;detectionBoxes, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;detectionClasses, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;detectionScores, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;numDetections, const <a class="el" href="structarmnn_1_1_detection_post_process_descriptor.html">DetectionPostProcessDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
138<tr class="separator:a50af275d7755a5bb1be69736d7e4b02f"><td class="memSeparator" colspan="2">&#160;</td></tr>
139<tr class="memitem:a55d91a97ff664f42cd5cd62b60c15f80"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a55d91a97ff664f42cd5cd62b60c15f80">IsDilatedDepthwiseConvolutionSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html">DepthwiseConvolution2dDescriptor</a> &amp;descriptor, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;weights, const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &gt; &amp;biases, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
140<tr class="separator:a55d91a97ff664f42cd5cd62b60c15f80"><td class="memSeparator" colspan="2">&#160;</td></tr>
141<tr class="memitem:a08f55136b1f0907e7083d70d719f697f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a08f55136b1f0907e7083d70d719f697f">IsDivisionSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
142<tr class="separator:a08f55136b1f0907e7083d70d719f697f"><td class="memSeparator" colspan="2">&#160;</td></tr>
143<tr class="memitem:a61c5b4e5dc224ef0c876e43353b34030"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a61c5b4e5dc224ef0c876e43353b34030">IsElementwiseUnarySupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_elementwise_unary_descriptor.html">ElementwiseUnaryDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
144<tr class="separator:a61c5b4e5dc224ef0c876e43353b34030"><td class="memSeparator" colspan="2">&#160;</td></tr>
145<tr class="memitem:afb6ad04c6ff234b193f3dfc0cfabcbd5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#afb6ad04c6ff234b193f3dfc0cfabcbd5">IsEqualSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
146<tr class="separator:afb6ad04c6ff234b193f3dfc0cfabcbd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
147<tr class="memitem:aab7318aa8adc0a8a3b6a1780cfc1f90b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#aab7318aa8adc0a8a3b6a1780cfc1f90b">IsFakeQuantizationSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="structarmnn_1_1_fake_quantization_descriptor.html">FakeQuantizationDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
148<tr class="separator:aab7318aa8adc0a8a3b6a1780cfc1f90b"><td class="memSeparator" colspan="2">&#160;</td></tr>
149<tr class="memitem:a53c7593d1aa26207eac5d5814a9d56dc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a53c7593d1aa26207eac5d5814a9d56dc">IsFloorSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
150<tr class="separator:a53c7593d1aa26207eac5d5814a9d56dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
151<tr class="memitem:aeaf971dd9dffd6f6bc7e5a1ae6b6af5c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#aeaf971dd9dffd6f6bc7e5a1ae6b6af5c">IsFullyConnectedSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;weights, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;biases, const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.html">FullyConnectedDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
152<tr class="separator:aeaf971dd9dffd6f6bc7e5a1ae6b6af5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
153<tr class="memitem:aef77aa4bb0e68e88dcf5ab8b5882a2d3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#aef77aa4bb0e68e88dcf5ab8b5882a2d3">IsGatherSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
154<tr class="separator:aef77aa4bb0e68e88dcf5ab8b5882a2d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
155<tr class="memitem:a14e45f3699e823d7859d5d352d89265c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a14e45f3699e823d7859d5d352d89265c">IsGreaterSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
156<tr class="separator:a14e45f3699e823d7859d5d352d89265c"><td class="memSeparator" colspan="2">&#160;</td></tr>
157<tr class="memitem:ad29d99ecd719c640ed22dcf5c688c6a5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#ad29d99ecd719c640ed22dcf5c688c6a5">IsInputSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
158<tr class="separator:ad29d99ecd719c640ed22dcf5c688c6a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
159<tr class="memitem:a0813546a09bf2caba6794014d1960624"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a0813546a09bf2caba6794014d1960624">IsInstanceNormalizationSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_instance_normalization_descriptor.html">InstanceNormalizationDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
160<tr class="separator:a0813546a09bf2caba6794014d1960624"><td class="memSeparator" colspan="2">&#160;</td></tr>
161<tr class="memitem:aca4acda7ab553edfda828658d8f3882b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#aca4acda7ab553edfda828658d8f3882b">IsL2NormalizationSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_l2_normalization_descriptor.html">L2NormalizationDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
162<tr class="separator:aca4acda7ab553edfda828658d8f3882b"><td class="memSeparator" colspan="2">&#160;</td></tr>
163<tr class="memitem:a6d414f4983a5ca9596d84e340e6fd895"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a6d414f4983a5ca9596d84e340e6fd895">IsLogSoftmaxSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="namespacearmnn.html#ac14705405cbcdd580df613de6766fe65">LogSoftmaxDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported) const override</td></tr>
164<tr class="separator:a6d414f4983a5ca9596d84e340e6fd895"><td class="memSeparator" colspan="2">&#160;</td></tr>
165<tr class="memitem:a862535721737220f62a49f14ff494dd5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a862535721737220f62a49f14ff494dd5">IsLstmSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;outputStateIn, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;cellStateIn, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;scratchBuffer, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;outputStateOut, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;cellStateOut, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_lstm_descriptor.html">LstmDescriptor</a> &amp;descriptor, const <a class="el" href="structarmnn_1_1_lstm_input_params_info.html">LstmInputParamsInfo</a> &amp;paramsInfo, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
166<tr class="separator:a862535721737220f62a49f14ff494dd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
167<tr class="memitem:afef9436c86b37b973471f2ae546ac00a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#afef9436c86b37b973471f2ae546ac00a">IsMaximumSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
168<tr class="separator:afef9436c86b37b973471f2ae546ac00a"><td class="memSeparator" colspan="2">&#160;</td></tr>
169<tr class="memitem:ab268618580d4f53bf5e9b5a47dee3f6a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#ab268618580d4f53bf5e9b5a47dee3f6a">IsMeanSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_mean_descriptor.html">MeanDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
170<tr class="separator:ab268618580d4f53bf5e9b5a47dee3f6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
171<tr class="memitem:aa9309ea64f9f7447efe3567f77417d29"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#aa9309ea64f9f7447efe3567f77417d29">IsMergerSupported</a> (const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> *&gt; inputs, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="namespacearmnn.html#a003d213dd28b0b8c0f26fbf268ccb975">MergerDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
172<tr class="separator:aa9309ea64f9f7447efe3567f77417d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
173<tr class="memitem:a9d25fabf725313fda40a41400155bafe"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a9d25fabf725313fda40a41400155bafe">IsMemCopySupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
174<tr class="separator:a9d25fabf725313fda40a41400155bafe"><td class="memSeparator" colspan="2">&#160;</td></tr>
175<tr class="memitem:a3d0eafb3de560b3482f857b56b2b2116"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a3d0eafb3de560b3482f857b56b2b2116">IsMinimumSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
176<tr class="separator:a3d0eafb3de560b3482f857b56b2b2116"><td class="memSeparator" colspan="2">&#160;</td></tr>
177<tr class="memitem:a421e1f3865d99d52613003048342c49a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a421e1f3865d99d52613003048342c49a">IsMultiplicationSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
178<tr class="separator:a421e1f3865d99d52613003048342c49a"><td class="memSeparator" colspan="2">&#160;</td></tr>
179<tr class="memitem:a994c2065561141bf37fcd2ff7bb4af4d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a994c2065561141bf37fcd2ff7bb4af4d">IsNormalizationSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_normalization_descriptor.html">NormalizationDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
180<tr class="separator:a994c2065561141bf37fcd2ff7bb4af4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
181<tr class="memitem:aef3244c0ef64c8f2f352d21ce0c06985"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#aef3244c0ef64c8f2f352d21ce0c06985">IsOutputSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
182<tr class="separator:aef3244c0ef64c8f2f352d21ce0c06985"><td class="memSeparator" colspan="2">&#160;</td></tr>
183<tr class="memitem:a0534291adf9f3436ba331552eba29a43"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a0534291adf9f3436ba331552eba29a43">IsPadSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_pad_descriptor.html">PadDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
184<tr class="separator:a0534291adf9f3436ba331552eba29a43"><td class="memSeparator" colspan="2">&#160;</td></tr>
185<tr class="memitem:a9d553495d9a94fa55588ae159d8bda30"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a9d553495d9a94fa55588ae159d8bda30">IsPermuteSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_permute_descriptor.html">PermuteDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
186<tr class="separator:a9d553495d9a94fa55588ae159d8bda30"><td class="memSeparator" colspan="2">&#160;</td></tr>
187<tr class="memitem:aa955675303d67b1d1fb51fb7f09d8c21"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#aa955675303d67b1d1fb51fb7f09d8c21">IsPooling2dSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_pooling2d_descriptor.html">Pooling2dDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
188<tr class="separator:aa955675303d67b1d1fb51fb7f09d8c21"><td class="memSeparator" colspan="2">&#160;</td></tr>
189<tr class="memitem:ad2c7be6b84b04444e514f52f593b3df7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#ad2c7be6b84b04444e514f52f593b3df7">IsQuantizeSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
190<tr class="separator:ad2c7be6b84b04444e514f52f593b3df7"><td class="memSeparator" colspan="2">&#160;</td></tr>
191<tr class="memitem:aa02f01bbcb48c67f5b2efc4132ec5e86"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#aa02f01bbcb48c67f5b2efc4132ec5e86">IsReshapeSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_reshape_descriptor.html">ReshapeDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
192<tr class="separator:aa02f01bbcb48c67f5b2efc4132ec5e86"><td class="memSeparator" colspan="2">&#160;</td></tr>
193<tr class="memitem:a0f29f31e1ba46a52eedcdecd34f4cc24"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a0f29f31e1ba46a52eedcdecd34f4cc24">IsResizeBilinearSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
194<tr class="separator:a0f29f31e1ba46a52eedcdecd34f4cc24"><td class="memSeparator" colspan="2">&#160;</td></tr>
195<tr class="memitem:a3d27a3fc6a7df0b68d80cb113aff8b6c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a3d27a3fc6a7df0b68d80cb113aff8b6c">IsResizeSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_resize_descriptor.html">ResizeDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
196<tr class="separator:a3d27a3fc6a7df0b68d80cb113aff8b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
197<tr class="memitem:a10ae4d84b0d31580f6fcd5107322ebcf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a10ae4d84b0d31580f6fcd5107322ebcf">IsRsqrtSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
198<tr class="separator:a10ae4d84b0d31580f6fcd5107322ebcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
199<tr class="memitem:a0e14dafa85cfcd4a6b6b752284b51e63"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a0e14dafa85cfcd4a6b6b752284b51e63">IsSliceSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_slice_descriptor.html">SliceDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
200<tr class="separator:a0e14dafa85cfcd4a6b6b752284b51e63"><td class="memSeparator" colspan="2">&#160;</td></tr>
201<tr class="memitem:a8385cf8227907904a6a86fac318fc099"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a8385cf8227907904a6a86fac318fc099">IsSoftmaxSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_softmax_descriptor.html">SoftmaxDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
202<tr class="separator:a8385cf8227907904a6a86fac318fc099"><td class="memSeparator" colspan="2">&#160;</td></tr>
203<tr class="memitem:a3adfc31e079a970e028e537ec05fabf5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a3adfc31e079a970e028e537ec05fabf5">IsSpaceToBatchNdSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_space_to_batch_nd_descriptor.html">SpaceToBatchNdDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
204<tr class="separator:a3adfc31e079a970e028e537ec05fabf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
205<tr class="memitem:ab2af1e7da9490d29e569d271e16b0d5c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#ab2af1e7da9490d29e569d271e16b0d5c">IsSpaceToDepthSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_space_to_depth_descriptor.html">SpaceToDepthDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
206<tr class="separator:ab2af1e7da9490d29e569d271e16b0d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
207<tr class="memitem:a17dd12822d49a23d24198f425a6fb9c4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a17dd12822d49a23d24198f425a6fb9c4">IsSplitterSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="structarmnn_1_1_views_descriptor.html">ViewsDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
208<tr class="separator:a17dd12822d49a23d24198f425a6fb9c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
209<tr class="memitem:aa746e752ce8874669ea549f8e50896da"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#aa746e752ce8874669ea549f8e50896da">IsSplitterSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const std::vector&lt; std::reference_wrapper&lt; <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &gt;&gt; &amp;outputs, const <a class="el" href="structarmnn_1_1_views_descriptor.html">ViewsDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
210<tr class="separator:aa746e752ce8874669ea549f8e50896da"><td class="memSeparator" colspan="2">&#160;</td></tr>
211<tr class="memitem:ab4609f1baf5fcd295951f3c8abdffd90"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#ab4609f1baf5fcd295951f3c8abdffd90">IsStackSupported</a> (const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> *&gt; &amp;inputs, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_stack_descriptor.html">StackDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
212<tr class="separator:ab4609f1baf5fcd295951f3c8abdffd90"><td class="memSeparator" colspan="2">&#160;</td></tr>
213<tr class="memitem:ac054cb25099005eac854afb1511340f0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#ac054cb25099005eac854afb1511340f0">IsStridedSliceSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_strided_slice_descriptor.html">StridedSliceDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
214<tr class="separator:ac054cb25099005eac854afb1511340f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
215<tr class="memitem:af6c947e4d4b25bc49d92d18d4ff26736"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#af6c947e4d4b25bc49d92d18d4ff26736">IsSubtractionSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
216<tr class="separator:af6c947e4d4b25bc49d92d18d4ff26736"><td class="memSeparator" colspan="2">&#160;</td></tr>
217<tr class="memitem:a4b36dcedd5edbd5142b3548967aadc2f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a4b36dcedd5edbd5142b3548967aadc2f">IsPreluSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;alpha, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
218<tr class="separator:a4b36dcedd5edbd5142b3548967aadc2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
219<tr class="memitem:a0c69484f19ed650ad48b716719114e51"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_ref_layer_support.html#a0c69484f19ed650ad48b716719114e51">IsTransposeConvolution2dSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_transpose_convolution2d_descriptor.html">TransposeConvolution2dDescriptor</a> &amp;descriptor, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;weights, const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &gt; &amp;biases, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
220<tr class="separator:a0c69484f19ed650ad48b716719114e51"><td class="memSeparator" colspan="2">&#160;</td></tr>
221<tr class="inherit_header pub_methods_classarmnn_1_1_layer_support_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarmnn_1_1_layer_support_base')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarmnn_1_1_layer_support_base.html">LayerSupportBase</a></td></tr>
222<tr class="memitem:a334181d8098b943d03ccd820753ace75 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_support_base.html#a334181d8098b943d03ccd820753ace75">IsMemImportSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
223<tr class="separator:a334181d8098b943d03ccd820753ace75 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
224<tr class="memitem:aa9bbc383cac59d6f02d2ef7d2cc0076f inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_support_base.html#aa9bbc383cac59d6f02d2ef7d2cc0076f">IsMergeSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
225<tr class="separator:aa9bbc383cac59d6f02d2ef7d2cc0076f inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
226<tr class="memitem:adc1a598f2f572564818e3d343af93486 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_support_base.html#adc1a598f2f572564818e3d343af93486">IsPreCompiledSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="structarmnn_1_1_pre_compiled_descriptor.html">PreCompiledDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
227<tr class="separator:adc1a598f2f572564818e3d343af93486 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
228<tr class="memitem:af1be52d9f968bfab069344756bf232c4 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_support_base.html#af1be52d9f968bfab069344756bf232c4">IsQuantizedLstmSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;previousCellStateIn, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;previousOutputIn, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;cellStateOut, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_quantized_lstm_input_params_info.html">QuantizedLstmInputParamsInfo</a> &amp;paramsInfo, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
229<tr class="separator:af1be52d9f968bfab069344756bf232c4 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
230<tr class="memitem:a68a4c180fc48e266995db8596f6279d3 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_support_base.html#a68a4c180fc48e266995db8596f6279d3">IsStandInSupported</a> (const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> *&gt; &amp;inputs, const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> *&gt; &amp;outputs, const <a class="el" href="structarmnn_1_1_stand_in_descriptor.html">StandInDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
231<tr class="separator:a68a4c180fc48e266995db8596f6279d3 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
232<tr class="memitem:a8c12a49b0d261836c11a57916e01805d inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_layer_support_base.html#a8c12a49b0d261836c11a57916e01805d">IsSwitchSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output0, const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;output1, <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()) const override</td></tr>
233<tr class="separator:a8c12a49b0d261836c11a57916e01805d inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
234</table><table class="memberdecls">
235<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
236Additional Inherited Members</h2></td></tr>
237<tr class="inherit_header pro_methods_classarmnn_1_1_i_layer_support"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classarmnn_1_1_i_layer_support')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classarmnn_1_1_i_layer_support.html">ILayerSupport</a></td></tr>
238<tr class="memitem:aab2a487bc88047443d8a0f87c3c40b8d inherit pro_methods_classarmnn_1_1_i_layer_support"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_layer_support.html#aab2a487bc88047443d8a0f87c3c40b8d">ILayerSupport</a> ()</td></tr>
239<tr class="separator:aab2a487bc88047443d8a0f87c3c40b8d inherit pro_methods_classarmnn_1_1_i_layer_support"><td class="memSeparator" colspan="2">&#160;</td></tr>
240<tr class="memitem:a9e7f4f28576904804cd759e49173beeb inherit pro_methods_classarmnn_1_1_i_layer_support"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_i_layer_support.html#a9e7f4f28576904804cd759e49173beeb">~ILayerSupport</a> ()</td></tr>
241<tr class="separator:a9e7f4f28576904804cd759e49173beeb inherit pro_methods_classarmnn_1_1_i_layer_support"><td class="memSeparator" colspan="2">&#160;</td></tr>
242</table>
243<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
244<div class="textblock">
245<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8hpp_source.html#l00012">12</a> of file <a class="el" href="_ref_layer_support_8hpp_source.html">RefLayerSupport.hpp</a>.</p>
246</div><h2 class="groupheader">Member Function Documentation</h2>
247<a id="abd7fa8c2233f8a653e30ae2f3b839d92"></a>
248<h2 class="memtitle"><span class="permalink"><a href="#abd7fa8c2233f8a653e30ae2f3b839d92">&#9670;&nbsp;</a></span>IsAbsSupported()</h2>
249
250<div class="memitem">
251<div class="memproto">
252<table class="mlabels">
253 <tr>
254 <td class="mlabels-left">
255 <table class="memname">
256 <tr>
257 <td class="memname">bool IsAbsSupported </td>
258 <td>(</td>
259 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
260 <td class="paramname"><em>input</em>, </td>
261 </tr>
262 <tr>
263 <td class="paramkey"></td>
264 <td></td>
265 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
266 <td class="paramname"><em>output</em>, </td>
267 </tr>
268 <tr>
269 <td class="paramkey"></td>
270 <td></td>
271 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
272 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
273 </tr>
274 <tr>
275 <td></td>
276 <td>)</td>
277 <td></td><td> const</td>
278 </tr>
279 </table>
280 </td>
281 <td class="mlabels-right">
282<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
283 </tr>
284</table>
285</div><div class="memdoc">
286
287<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#abd7fa8c2233f8a653e30ae2f3b839d92">LayerSupportBase</a>.</p>
288
289<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00065">65</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
290<div class="fragment"><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;{</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_ref_layer_support.html#a61c5b4e5dc224ef0c876e43353b34030">IsElementwiseUnarySupported</a>(input,</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; output,</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; ElementwiseUnaryDescriptor(<a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">UnaryOperation::Abs</a>),</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; reasonIfUnsupported);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">armnn::ActivationFunction::Abs</a></div></div>
291<div class="ttc" id="classarmnn_1_1_ref_layer_support_html_a61c5b4e5dc224ef0c876e43353b34030"><div class="ttname"><a href="classarmnn_1_1_ref_layer_support.html#a61c5b4e5dc224ef0c876e43353b34030">armnn::RefLayerSupport::IsElementwiseUnarySupported</a></div><div class="ttdeci">bool IsElementwiseUnarySupported(const TensorInfo &amp;input, const TensorInfo &amp;output, const ElementwiseUnaryDescriptor &amp;descriptor, Optional&lt; std::string &amp;&gt; reasonIfUnsupported=EmptyOptional()) const override</div><div class="ttdef"><b>Definition:</b> <a href="_ref_layer_support_8cpp_source.html#l00721">RefLayerSupport.cpp:721</a></div></div>
292</div><!-- fragment -->
293</div>
294</div>
295<a id="ab3adb3a28736529682e4ff0ea976dcd3"></a>
296<h2 class="memtitle"><span class="permalink"><a href="#ab3adb3a28736529682e4ff0ea976dcd3">&#9670;&nbsp;</a></span>IsActivationSupported()</h2>
297
298<div class="memitem">
299<div class="memproto">
300<table class="mlabels">
301 <tr>
302 <td class="mlabels-left">
303 <table class="memname">
304 <tr>
305 <td class="memname">bool IsActivationSupported </td>
306 <td>(</td>
307 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
308 <td class="paramname"><em>input</em>, </td>
309 </tr>
310 <tr>
311 <td class="paramkey"></td>
312 <td></td>
313 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
314 <td class="paramname"><em>output</em>, </td>
315 </tr>
316 <tr>
317 <td class="paramkey"></td>
318 <td></td>
319 <td class="paramtype">const <a class="el" href="structarmnn_1_1_activation_descriptor.html">ActivationDescriptor</a> &amp;&#160;</td>
320 <td class="paramname"><em>descriptor</em>, </td>
321 </tr>
322 <tr>
323 <td class="paramkey"></td>
324 <td></td>
325 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
326 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
327 </tr>
328 <tr>
329 <td></td>
330 <td>)</td>
331 <td></td><td> const</td>
332 </tr>
333 </table>
334 </td>
335 <td class="mlabels-right">
336<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
337 </tr>
338</table>
339</div><div class="memdoc">
340
341<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#ab3adb3a28736529682e4ff0ea976dcd3">LayerSupportBase</a>.</p>
342
343<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00074">74</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
344
345<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_descriptors_8hpp_source.html#l00035">ActivationDescriptor::m_Function</a>.</p>
346<div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;{</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="comment">// Define supported types.</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; std::array&lt;DataType,6&gt; supportedTypes = {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; };</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="stringliteral">&quot;Reference activation: input type not supported.&quot;</span>);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="stringliteral">&quot;Reference activation: output type not supported.&quot;</span>);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="stringliteral">&quot;Reference activation: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreSameRank(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="stringliteral">&quot;Reference activation: input and output shapes are of different rank.&quot;</span>);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">struct </span>ActivationFunctionSupported : <span class="keyword">public</span> Rule</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; ActivationFunctionSupported(<span class="keyword">const</span> ActivationDescriptor&amp; desc)</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">switch</span>(desc.m_Function)</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">ActivationFunction::Abs</a>:</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaabc5a0f0d6e7cf7fca73299dcd46c0f0d">ActivationFunction::BoundedReLu</a>:</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaacb7667f5ec2f6e8a5943b781ba6c2735">ActivationFunction::LeakyReLu</a>:</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa32a843da6ea40ab3b17a3421ccdf671b">ActivationFunction::Linear</a>:</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa3d90c0a5ab3fcf8e6f6608cb3d3a1559">ActivationFunction::ReLu</a>:</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa21eebb164e4b8b9bcf64fdb4d8d5dff4">ActivationFunction::Sigmoid</a>:</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa6bba7052636d1740303b1b2ef3b53fef">ActivationFunction::SoftReLu</a>:</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaaae77f3ad25595e35b327334d89410054">ActivationFunction::Sqrt</a>:</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaaceb46ca115d05c51aa5a16a8867c3304">ActivationFunction::Square</a>:</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa23b68da1de2b77d74da9da2635722a3e">ActivationFunction::TanH</a>:</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; m_Res = <span class="keyword">true</span>;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; m_Res = <span class="keyword">false</span>;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; };</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="comment">// Function is supported</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ActivationFunctionSupported(descriptor), reasonIfUnsupported,</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="stringliteral">&quot;Reference activation: function not supported.&quot;</span>);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaaae77f3ad25595e35b327334d89410054"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaaae77f3ad25595e35b327334d89410054">armnn::ActivationFunction::Sqrt</a></div></div>
347<div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaacb7667f5ec2f6e8a5943b781ba6c2735"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaacb7667f5ec2f6e8a5943b781ba6c2735">armnn::ActivationFunction::LeakyReLu</a></div></div>
348<div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaaceb46ca115d05c51aa5a16a8867c3304"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaaceb46ca115d05c51aa5a16a8867c3304">armnn::ActivationFunction::Square</a></div></div>
349<div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaa3d90c0a5ab3fcf8e6f6608cb3d3a1559"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa3d90c0a5ab3fcf8e6f6608cb3d3a1559">armnn::ActivationFunction::ReLu</a></div></div>
350<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
351<div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">armnn::ActivationFunction::Abs</a></div></div>
352<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
353<div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaa21eebb164e4b8b9bcf64fdb4d8d5dff4"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa21eebb164e4b8b9bcf64fdb4d8d5dff4">armnn::ActivationFunction::Sigmoid</a></div></div>
354<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
355<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
356<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
357<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
358<div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaa6bba7052636d1740303b1b2ef3b53fef"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa6bba7052636d1740303b1b2ef3b53fef">armnn::ActivationFunction::SoftReLu</a></div></div>
359<div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaabc5a0f0d6e7cf7fca73299dcd46c0f0d"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaabc5a0f0d6e7cf7fca73299dcd46c0f0d">armnn::ActivationFunction::BoundedReLu</a></div><div class="ttdoc">min(a, max(b, input)) </div></div>
360<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
361<div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaa23b68da1de2b77d74da9da2635722a3e"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa23b68da1de2b77d74da9da2635722a3e">armnn::ActivationFunction::TanH</a></div></div>
362<div class="ttc" id="namespacearmnn_html_a56297e0f7b215eea46c818cb7528d9eaa32a843da6ea40ab3b17a3421ccdf671b"><div class="ttname"><a href="namespacearmnn.html#a56297e0f7b215eea46c818cb7528d9eaa32a843da6ea40ab3b17a3421ccdf671b">armnn::ActivationFunction::Linear</a></div></div>
363</div><!-- fragment -->
364</div>
365</div>
366<a id="a48177e22e47448adb3d83e145dadf735"></a>
367<h2 class="memtitle"><span class="permalink"><a href="#a48177e22e47448adb3d83e145dadf735">&#9670;&nbsp;</a></span>IsAdditionSupported()</h2>
368
369<div class="memitem">
370<div class="memproto">
371<table class="mlabels">
372 <tr>
373 <td class="mlabels-left">
374 <table class="memname">
375 <tr>
376 <td class="memname">bool IsAdditionSupported </td>
377 <td>(</td>
378 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
379 <td class="paramname"><em>input0</em>, </td>
380 </tr>
381 <tr>
382 <td class="paramkey"></td>
383 <td></td>
384 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
385 <td class="paramname"><em>input1</em>, </td>
386 </tr>
387 <tr>
388 <td class="paramkey"></td>
389 <td></td>
390 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
391 <td class="paramname"><em>output</em>, </td>
392 </tr>
393 <tr>
394 <td class="paramkey"></td>
395 <td></td>
396 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
397 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
398 </tr>
399 <tr>
400 <td></td>
401 <td>)</td>
402 <td></td><td> const</td>
403 </tr>
404 </table>
405 </td>
406 <td class="mlabels-right">
407<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
408 </tr>
409</table>
410</div><div class="memdoc">
411
412<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a48177e22e47448adb3d83e145dadf735">LayerSupportBase</a>.</p>
413
414<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00139">139</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
415
416<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
417
418<p class="reference">Referenced by <a class="el" href="_ref_layer_support_tests_8cpp_source.html#l00037">BOOST_AUTO_TEST_CASE()</a>.</p>
419<div class="fragment"><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;{</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; std::array&lt;DataType,6&gt; supportedTypes = {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; };</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="stringliteral">&quot;Reference addition: input 0 is not a supported type.&quot;</span>);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input1, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="stringliteral">&quot;Reference addition: input 1 is not a supported type.&quot;</span>);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="stringliteral">&quot;Reference addition: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, input1), reasonIfUnsupported,</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="stringliteral">&quot;Reference addition: input 0 and Input 1 types are mismatched&quot;</span>);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, output), reasonIfUnsupported,</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="stringliteral">&quot;Reference addition: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreBroadcastCompatible(input0, input1, output), reasonIfUnsupported,</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="stringliteral">&quot;Reference addition: shapes are not suitable for implicit broadcast.&quot;</span>);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
420<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
421<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
422<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
423<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
424<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
425<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
426</div><!-- fragment -->
427</div>
428</div>
429<a id="a0f4841f89f21fd794786b4c03c2425fd"></a>
430<h2 class="memtitle"><span class="permalink"><a href="#a0f4841f89f21fd794786b4c03c2425fd">&#9670;&nbsp;</a></span>IsArgMinMaxSupported()</h2>
431
432<div class="memitem">
433<div class="memproto">
434<table class="mlabels">
435 <tr>
436 <td class="mlabels-left">
437 <table class="memname">
438 <tr>
439 <td class="memname">bool IsArgMinMaxSupported </td>
440 <td>(</td>
441 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
442 <td class="paramname"><em>input</em>, </td>
443 </tr>
444 <tr>
445 <td class="paramkey"></td>
446 <td></td>
447 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
448 <td class="paramname"><em>output</em>, </td>
449 </tr>
450 <tr>
451 <td class="paramkey"></td>
452 <td></td>
453 <td class="paramtype">const <a class="el" href="structarmnn_1_1_arg_min_max_descriptor.html">ArgMinMaxDescriptor</a> &amp;&#160;</td>
454 <td class="paramname"><em>descriptor</em>, </td>
455 </tr>
456 <tr>
457 <td class="paramkey"></td>
458 <td></td>
459 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
460 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
461 </tr>
462 <tr>
463 <td></td>
464 <td>)</td>
465 <td></td><td> const</td>
466 </tr>
467 </table>
468 </td>
469 <td class="mlabels-right">
470<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
471 </tr>
472</table>
473</div><div class="memdoc">
474
475<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a0f4841f89f21fd794786b4c03c2425fd">LayerSupportBase</a>.</p>
476
477<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00175">175</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
478
479<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
480<div class="fragment"><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;{</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; std::array&lt;DataType, 4&gt; supportedTypes =</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a>,</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; };</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="stringliteral">&quot;Reference ArgMinMax: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeIs(output, DataType::Signed32), reasonIfUnsupported,</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="stringliteral">&quot;Reference ArgMinMax: output type not supported&quot;</span>);</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
481<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
482<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
483<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
484<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
485<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
486</div><!-- fragment -->
487</div>
488</div>
489<a id="a67c970dd054b991e14369de523ca3a5a"></a>
490<h2 class="memtitle"><span class="permalink"><a href="#a67c970dd054b991e14369de523ca3a5a">&#9670;&nbsp;</a></span>IsBatchNormalizationSupported()</h2>
491
492<div class="memitem">
493<div class="memproto">
494<table class="mlabels">
495 <tr>
496 <td class="mlabels-left">
497 <table class="memname">
498 <tr>
499 <td class="memname">bool IsBatchNormalizationSupported </td>
500 <td>(</td>
501 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
502 <td class="paramname"><em>input</em>, </td>
503 </tr>
504 <tr>
505 <td class="paramkey"></td>
506 <td></td>
507 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
508 <td class="paramname"><em>output</em>, </td>
509 </tr>
510 <tr>
511 <td class="paramkey"></td>
512 <td></td>
513 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
514 <td class="paramname"><em>mean</em>, </td>
515 </tr>
516 <tr>
517 <td class="paramkey"></td>
518 <td></td>
519 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
520 <td class="paramname"><em>var</em>, </td>
521 </tr>
522 <tr>
523 <td class="paramkey"></td>
524 <td></td>
525 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
526 <td class="paramname"><em>beta</em>, </td>
527 </tr>
528 <tr>
529 <td class="paramkey"></td>
530 <td></td>
531 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
532 <td class="paramname"><em>gamma</em>, </td>
533 </tr>
534 <tr>
535 <td class="paramkey"></td>
536 <td></td>
537 <td class="paramtype">const <a class="el" href="structarmnn_1_1_batch_normalization_descriptor.html">BatchNormalizationDescriptor</a> &amp;&#160;</td>
538 <td class="paramname"><em>descriptor</em>, </td>
539 </tr>
540 <tr>
541 <td class="paramkey"></td>
542 <td></td>
543 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
544 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
545 </tr>
546 <tr>
547 <td></td>
548 <td>)</td>
549 <td></td><td> const</td>
550 </tr>
551 </table>
552 </td>
553 <td class="mlabels-right">
554<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
555 </tr>
556</table>
557</div><div class="memdoc">
558
559<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a67c970dd054b991e14369de523ca3a5a">LayerSupportBase</a>.</p>
560
561<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00199">199</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
562
563<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
564<div class="fragment"><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;{</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; std::array&lt;DataType, 4&gt; supportedTypes =</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; };</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="stringliteral">&quot;Reference batch normalization: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="stringliteral">&quot;Reference batch normalization: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="stringliteral">&quot;Reference batch normalization: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(mean, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="stringliteral">&quot;Reference batch normalization: mean is not a supported type.&quot;</span>);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(variance, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="stringliteral">&quot;Reference batch normalization: variance is not a supported type.&quot;</span>);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(beta, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="stringliteral">&quot;Reference batch normalization: beta is not a supported type.&quot;</span>);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(gamma, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="stringliteral">&quot;Reference batch normalization: gamma is not a supported type.&quot;</span>);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
565<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
566<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
567<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
568<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
569<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
570</div><!-- fragment -->
571</div>
572</div>
573<a id="adc5695cc25f4055c7ed54bdc8604a098"></a>
574<h2 class="memtitle"><span class="permalink"><a href="#adc5695cc25f4055c7ed54bdc8604a098">&#9670;&nbsp;</a></span>IsBatchToSpaceNdSupported()</h2>
575
576<div class="memitem">
577<div class="memproto">
578<table class="mlabels">
579 <tr>
580 <td class="mlabels-left">
581 <table class="memname">
582 <tr>
583 <td class="memname">bool IsBatchToSpaceNdSupported </td>
584 <td>(</td>
585 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
586 <td class="paramname"><em>input</em>, </td>
587 </tr>
588 <tr>
589 <td class="paramkey"></td>
590 <td></td>
591 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
592 <td class="paramname"><em>output</em>, </td>
593 </tr>
594 <tr>
595 <td class="paramkey"></td>
596 <td></td>
597 <td class="paramtype">const <a class="el" href="structarmnn_1_1_batch_to_space_nd_descriptor.html">BatchToSpaceNdDescriptor</a> &amp;&#160;</td>
598 <td class="paramname"><em>descriptor</em>, </td>
599 </tr>
600 <tr>
601 <td class="paramkey"></td>
602 <td></td>
603 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
604 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
605 </tr>
606 <tr>
607 <td></td>
608 <td>)</td>
609 <td></td><td> const</td>
610 </tr>
611 </table>
612 </td>
613 <td class="mlabels-right">
614<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
615 </tr>
616</table>
617</div><div class="memdoc">
618
619<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#adc5695cc25f4055c7ed54bdc8604a098">LayerSupportBase</a>.</p>
620
621<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00244">244</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
622
623<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_tensor_8hpp_source.html#l00092">TensorInfo::GetNumDimensions()</a>.</p>
624<div class="fragment"><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;{</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; std::string batchToSpaceNdLayerStr = <span class="stringliteral">&quot;batchToSpaceNd&quot;</span>;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; std::string inputTensorStr = <span class="stringliteral">&quot;input&quot;</span>;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; std::string outputTensorStr = <span class="stringliteral">&quot;output&quot;</span>;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="comment">// Define supported types.</span></div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; std::array&lt;DataType,4&gt; supportedTypes =</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; };</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="stringliteral">&quot;Reference BatchToSpaceNd: input type not supported.&quot;</span>);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="stringliteral">&quot;Reference BatchToSpaceNd: output type not supported.&quot;</span>);</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="stringliteral">&quot;Reference BatchToSpaceNd: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TensorNumDimensionsAreCorrect(output, 4),</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; CreateIncorrectDimensionsErrorMsg(4,</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; output.GetNumDimensions(),</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; batchToSpaceNdLayerStr,</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; outputTensorStr).data());</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TensorNumDimensionsAreCorrect(input, 4),</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; CreateIncorrectDimensionsErrorMsg(4,</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; input.GetNumDimensions(),</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; batchToSpaceNdLayerStr,</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; inputTensorStr).data());</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
625<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
626<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
627<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
628<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
629<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
630</div><!-- fragment -->
631</div>
632</div>
633<a id="a7c52726a684dd76258c61af124012537"></a>
634<h2 class="memtitle"><span class="permalink"><a href="#a7c52726a684dd76258c61af124012537">&#9670;&nbsp;</a></span>IsComparisonSupported()</h2>
635
636<div class="memitem">
637<div class="memproto">
638<table class="mlabels">
639 <tr>
640 <td class="mlabels-left">
641 <table class="memname">
642 <tr>
643 <td class="memname">bool IsComparisonSupported </td>
644 <td>(</td>
645 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
646 <td class="paramname"><em>input0</em>, </td>
647 </tr>
648 <tr>
649 <td class="paramkey"></td>
650 <td></td>
651 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
652 <td class="paramname"><em>input1</em>, </td>
653 </tr>
654 <tr>
655 <td class="paramkey"></td>
656 <td></td>
657 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
658 <td class="paramname"><em>output</em>, </td>
659 </tr>
660 <tr>
661 <td class="paramkey"></td>
662 <td></td>
663 <td class="paramtype">const <a class="el" href="structarmnn_1_1_comparison_descriptor.html">ComparisonDescriptor</a> &amp;&#160;</td>
664 <td class="paramname"><em>descriptor</em>, </td>
665 </tr>
666 <tr>
667 <td class="paramkey"></td>
668 <td></td>
669 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
670 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
671 </tr>
672 <tr>
673 <td></td>
674 <td>)</td>
675 <td></td><td> const</td>
676 </tr>
677 </table>
678 </td>
679 <td class="mlabels-right">
680<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
681 </tr>
682</table>
683</div><div class="memdoc">
684
685<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a7c52726a684dd76258c61af124012537">LayerSupportBase</a>.</p>
686
687<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00292">292</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
688
689<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
690<div class="fragment"><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;{</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; boost::ignore_unused(descriptor);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; std::array&lt;DataType, 4&gt; supportedInputTypes =</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; {</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; };</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedInputTypes), reasonIfUnsupported,</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="stringliteral">&quot;Reference comparison: input 0 is not a supported type&quot;</span>);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, input1), reasonIfUnsupported,</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="stringliteral">&quot;Reference comparison: input 0 and Input 1 types are mismatched&quot;</span>);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeIs(output, <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a27226c864bac7454a8504f8edb15d95b">DataType::Boolean</a>), reasonIfUnsupported,</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="stringliteral">&quot;Reference comparison: output is not of type Boolean&quot;</span>);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
691<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a27226c864bac7454a8504f8edb15d95b"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a27226c864bac7454a8504f8edb15d95b">armnn::DataType::Boolean</a></div></div>
692<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
693<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
694<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
695<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
696<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
697</div><!-- fragment -->
698</div>
699</div>
700<a id="a3dca8ffbcb5f3afa1799aa7d354a3016"></a>
701<h2 class="memtitle"><span class="permalink"><a href="#a3dca8ffbcb5f3afa1799aa7d354a3016">&#9670;&nbsp;</a></span>IsConcatSupported()</h2>
702
703<div class="memitem">
704<div class="memproto">
705<table class="mlabels">
706 <tr>
707 <td class="mlabels-left">
708 <table class="memname">
709 <tr>
710 <td class="memname">bool IsConcatSupported </td>
711 <td>(</td>
712 <td class="paramtype">const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> *&gt;&#160;</td>
713 <td class="paramname"><em>inputs</em>, </td>
714 </tr>
715 <tr>
716 <td class="paramkey"></td>
717 <td></td>
718 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
719 <td class="paramname"><em>output</em>, </td>
720 </tr>
721 <tr>
722 <td class="paramkey"></td>
723 <td></td>
724 <td class="paramtype">const <a class="el" href="namespacearmnn.html#a7863c179ff92feec660c48ab7b95ae55">ConcatDescriptor</a> &amp;&#160;</td>
725 <td class="paramname"><em>descriptor</em>, </td>
726 </tr>
727 <tr>
728 <td class="paramkey"></td>
729 <td></td>
730 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
731 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
732 </tr>
733 <tr>
734 <td></td>
735 <td>)</td>
736 <td></td><td> const</td>
737 </tr>
738 </table>
739 </td>
740 <td class="mlabels-right">
741<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
742 </tr>
743</table>
744</div><div class="memdoc">
745
746<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a1542179a03961e3635bb5bef993c8e0e">LayerSupportBase</a>.</p>
747
748<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00321">321</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
749
750<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
751<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; std::array&lt;DataType,5&gt; supportedTypes =</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; {</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; };</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="stringliteral">&quot;Reference concatenation: output type not supported&quot;</span>);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> TensorInfo* input : inputs)</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; BOOST_ASSERT(input != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(*input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="stringliteral">&quot;Reference concatenation: input type not supported&quot;</span>);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(*input, output), reasonIfUnsupported,</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="stringliteral">&quot;Reference concatenation: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; }</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
752<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
753<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
754<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
755<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
756<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
757<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
758</div><!-- fragment -->
759</div>
760</div>
761<a id="adf18c4fa8fc9e0cdae1967990aa90fe8"></a>
762<h2 class="memtitle"><span class="permalink"><a href="#adf18c4fa8fc9e0cdae1967990aa90fe8">&#9670;&nbsp;</a></span>IsConstantSupported()</h2>
763
764<div class="memitem">
765<div class="memproto">
766<table class="mlabels">
767 <tr>
768 <td class="mlabels-left">
769 <table class="memname">
770 <tr>
771 <td class="memname">bool IsConstantSupported </td>
772 <td>(</td>
773 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
774 <td class="paramname"><em>output</em>, </td>
775 </tr>
776 <tr>
777 <td class="paramkey"></td>
778 <td></td>
779 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
780 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
781 </tr>
782 <tr>
783 <td></td>
784 <td>)</td>
785 <td></td><td> const</td>
786 </tr>
787 </table>
788 </td>
789 <td class="mlabels-right">
790<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
791 </tr>
792</table>
793</div><div class="memdoc">
794
795<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#adf18c4fa8fc9e0cdae1967990aa90fe8">LayerSupportBase</a>.</p>
796
797<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00353">353</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
798
799<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
800<div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;{</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; std::array&lt;DataType,6&gt; supportedTypes =</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; {</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a>,</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; };</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="stringliteral">&quot;Reference constant: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
801<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
802<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
803<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
804<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
805<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
806<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
807</div><!-- fragment -->
808</div>
809</div>
810<a id="a1efcaf6f02892442fefca09f49ea3d7c"></a>
811<h2 class="memtitle"><span class="permalink"><a href="#a1efcaf6f02892442fefca09f49ea3d7c">&#9670;&nbsp;</a></span>IsConvertFp16ToFp32Supported()</h2>
812
813<div class="memitem">
814<div class="memproto">
815<table class="mlabels">
816 <tr>
817 <td class="mlabels-left">
818 <table class="memname">
819 <tr>
820 <td class="memname">bool IsConvertFp16ToFp32Supported </td>
821 <td>(</td>
822 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
823 <td class="paramname"><em>input</em>, </td>
824 </tr>
825 <tr>
826 <td class="paramkey"></td>
827 <td></td>
828 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
829 <td class="paramname"><em>output</em>, </td>
830 </tr>
831 <tr>
832 <td class="paramkey"></td>
833 <td></td>
834 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
835 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
836 </tr>
837 <tr>
838 <td></td>
839 <td>)</td>
840 <td></td><td> const</td>
841 </tr>
842 </table>
843 </td>
844 <td class="mlabels-right">
845<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
846 </tr>
847</table>
848</div><div class="memdoc">
849
850<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a1efcaf6f02892442fefca09f49ea3d7c">LayerSupportBase</a>.</p>
851
852<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00370">370</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
853
854<p class="reference">References <a class="el" href="_tensor_8hpp_source.html#l00095">TensorInfo::GetDataType()</a>, and <a class="el" href="_layer_support_common_8hpp_source.html#l00028">armnn::IsSupportedForDataTypeGeneric()</a>.</p>
855<div class="fragment"><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;{</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="namespacearmnn.html#af6dbe371ec651a8e0063624fdf32afc0">IsSupportedForDataTypeGeneric</a>(reasonIfUnsupported,</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; input.GetDataType(),</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; &amp;TrueFunc&lt;&gt;,</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; &amp;FalseInputFuncF32&lt;&gt;,</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; &amp;FalseFuncU8&lt;&gt;,</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; &amp;FalseFuncI32&lt;&gt;,</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; &amp;FalseFuncU8&lt;&gt;) &amp;&amp;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <a class="code" href="namespacearmnn.html#af6dbe371ec651a8e0063624fdf32afc0">IsSupportedForDataTypeGeneric</a>(reasonIfUnsupported,</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; output.GetDataType(),</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; &amp;FalseOutputFuncF16&lt;&gt;,</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; &amp;TrueFunc&lt;&gt;,</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; &amp;FalseFuncU8&lt;&gt;,</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; &amp;FalseFuncI32&lt;&gt;,</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; &amp;FalseFuncU8&lt;&gt;));</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_af6dbe371ec651a8e0063624fdf32afc0"><div class="ttname"><a href="namespacearmnn.html#af6dbe371ec651a8e0063624fdf32afc0">armnn::IsSupportedForDataTypeGeneric</a></div><div class="ttdeci">bool IsSupportedForDataTypeGeneric(Optional&lt; std::string &amp;&gt; reasonIfUnsupported, DataType dataType, Float16Func float16FuncPtr, Float32Func float32FuncPtr, Uint8Func uint8FuncPtr, Int32Func int32FuncPtr, BooleanFunc booleanFuncPtr, Params &amp;&amp;... params)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_common_8hpp_source.html#l00028">LayerSupportCommon.hpp:28</a></div></div>
856</div><!-- fragment -->
857</div>
858</div>
859<a id="a91fb5f44d8b9427dc45443aa9ebfe13e"></a>
860<h2 class="memtitle"><span class="permalink"><a href="#a91fb5f44d8b9427dc45443aa9ebfe13e">&#9670;&nbsp;</a></span>IsConvertFp32ToFp16Supported()</h2>
861
862<div class="memitem">
863<div class="memproto">
864<table class="mlabels">
865 <tr>
866 <td class="mlabels-left">
867 <table class="memname">
868 <tr>
869 <td class="memname">bool IsConvertFp32ToFp16Supported </td>
870 <td>(</td>
871 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
872 <td class="paramname"><em>input</em>, </td>
873 </tr>
874 <tr>
875 <td class="paramkey"></td>
876 <td></td>
877 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
878 <td class="paramname"><em>output</em>, </td>
879 </tr>
880 <tr>
881 <td class="paramkey"></td>
882 <td></td>
883 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
884 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
885 </tr>
886 <tr>
887 <td></td>
888 <td>)</td>
889 <td></td><td> const</td>
890 </tr>
891 </table>
892 </td>
893 <td class="mlabels-right">
894<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
895 </tr>
896</table>
897</div><div class="memdoc">
898
899<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a91fb5f44d8b9427dc45443aa9ebfe13e">LayerSupportBase</a>.</p>
900
901<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00390">390</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
902
903<p class="reference">References <a class="el" href="_tensor_8hpp_source.html#l00095">TensorInfo::GetDataType()</a>, and <a class="el" href="_layer_support_common_8hpp_source.html#l00028">armnn::IsSupportedForDataTypeGeneric()</a>.</p>
904<div class="fragment"><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;{</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="namespacearmnn.html#af6dbe371ec651a8e0063624fdf32afc0">IsSupportedForDataTypeGeneric</a>(reasonIfUnsupported,</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; input.GetDataType(),</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; &amp;FalseInputFuncF16&lt;&gt;,</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; &amp;TrueFunc&lt;&gt;,</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; &amp;FalseFuncU8&lt;&gt;,</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; &amp;FalseFuncI32&lt;&gt;,</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; &amp;FalseFuncU8&lt;&gt;) &amp;&amp;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <a class="code" href="namespacearmnn.html#af6dbe371ec651a8e0063624fdf32afc0">IsSupportedForDataTypeGeneric</a>(reasonIfUnsupported,</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; output.GetDataType(),</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; &amp;TrueFunc&lt;&gt;,</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; &amp;FalseOutputFuncF32&lt;&gt;,</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; &amp;FalseFuncU8&lt;&gt;,</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; &amp;FalseFuncI32&lt;&gt;,</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; &amp;FalseFuncU8&lt;&gt;));</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_af6dbe371ec651a8e0063624fdf32afc0"><div class="ttname"><a href="namespacearmnn.html#af6dbe371ec651a8e0063624fdf32afc0">armnn::IsSupportedForDataTypeGeneric</a></div><div class="ttdeci">bool IsSupportedForDataTypeGeneric(Optional&lt; std::string &amp;&gt; reasonIfUnsupported, DataType dataType, Float16Func float16FuncPtr, Float32Func float32FuncPtr, Uint8Func uint8FuncPtr, Int32Func int32FuncPtr, BooleanFunc booleanFuncPtr, Params &amp;&amp;... params)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_common_8hpp_source.html#l00028">LayerSupportCommon.hpp:28</a></div></div>
905</div><!-- fragment -->
906</div>
907</div>
908<a id="af7ff06bd8115a6a9cc6d41e5c762798e"></a>
909<h2 class="memtitle"><span class="permalink"><a href="#af7ff06bd8115a6a9cc6d41e5c762798e">&#9670;&nbsp;</a></span>IsConvolution2dSupported()</h2>
910
911<div class="memitem">
912<div class="memproto">
913<table class="mlabels">
914 <tr>
915 <td class="mlabels-left">
916 <table class="memname">
917 <tr>
918 <td class="memname">bool IsConvolution2dSupported </td>
919 <td>(</td>
920 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
921 <td class="paramname"><em>input</em>, </td>
922 </tr>
923 <tr>
924 <td class="paramkey"></td>
925 <td></td>
926 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
927 <td class="paramname"><em>output</em>, </td>
928 </tr>
929 <tr>
930 <td class="paramkey"></td>
931 <td></td>
932 <td class="paramtype">const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.html">Convolution2dDescriptor</a> &amp;&#160;</td>
933 <td class="paramname"><em>descriptor</em>, </td>
934 </tr>
935 <tr>
936 <td class="paramkey"></td>
937 <td></td>
938 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
939 <td class="paramname"><em>weights</em>, </td>
940 </tr>
941 <tr>
942 <td class="paramkey"></td>
943 <td></td>
944 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &gt; &amp;&#160;</td>
945 <td class="paramname"><em>biases</em>, </td>
946 </tr>
947 <tr>
948 <td class="paramkey"></td>
949 <td></td>
950 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
951 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
952 </tr>
953 <tr>
954 <td></td>
955 <td>)</td>
956 <td></td><td> const</td>
957 </tr>
958 </table>
959 </td>
960 <td class="mlabels-right">
961<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
962 </tr>
963</table>
964</div><div class="memdoc">
965
966<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#af7ff06bd8115a6a9cc6d41e5c762798e">LayerSupportBase</a>.</p>
967
968<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00410">410</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
969
970<p class="reference">References <a class="el" href="_deprecated_8hpp_source.html#l00033">ARMNN_NO_DEPRECATE_WARN_BEGIN</a>, <a class="el" href="_deprecated_8hpp_source.html#l00034">ARMNN_NO_DEPRECATE_WARN_END</a>, <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>, <a class="el" href="_tensor_8hpp_source.html#l00095">TensorInfo::GetDataType()</a>, <a class="el" href="_optional_8hpp_source.html#l00053">OptionalBase::has_value()</a>, <a class="el" href="_types_utils_8hpp_source.html#l00237">armnn::IsQuantized8BitType()</a>, and <a class="el" href="_optional_8hpp_source.html#l00146">OptionalReferenceSwitch&lt; std::is_reference&lt; T &gt;::value, T &gt;::value()</a>.</p>
971<div class="fragment"><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;{</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="comment">// Define supported types.</span></div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; std::array&lt;DataType,6&gt; supportedTypes =</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; {</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; };</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="stringliteral">&quot;Reference Convolution2d: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="stringliteral">&quot;Reference Convolution2d: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="stringliteral">&quot;Reference Convolution2d: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> inputType = input.GetDataType();</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespacearmnn.html#ad91bc7bfe29186f5d78c28386c6c5309">IsQuantized8BitType</a>(inputType))</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; {</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <a class="code" href="_deprecated_8hpp.html#ab66a241a0ed3ee89c866e777b035d0ed">ARMNN_NO_DEPRECATE_WARN_BEGIN</a></div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; std::array&lt;DataType, 4&gt; supportedWeightTypes =</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; {</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d">DataType::QuantizedSymm8PerAxis</a> <span class="comment">// deprecated</span></div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; };</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <a class="code" href="_deprecated_8hpp.html#ad762b11b48e5c1d1c1743f529485728a">ARMNN_NO_DEPRECATE_WARN_END</a></div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedWeightTypes), reasonIfUnsupported,</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="stringliteral">&quot;Reference Convolution2d: weights type not supported for quantized input.&quot;</span>);</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; }</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; {</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="stringliteral">&quot;Reference Convolution2d: weights is not a supported type.&quot;</span>);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, weights), reasonIfUnsupported,</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="stringliteral">&quot;Reference Convolution2d: input and weights types mismatched.&quot;</span>);</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">if</span> (biases.has_value())</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; {</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; std::array&lt;DataType,3&gt; biasesSupportedTypes =</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; {</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a></div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; };</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(biases.value(), biasesSupportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="stringliteral">&quot;Reference Convolution2d: biases is not a supported type.&quot;</span>);</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; }</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
972<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
973<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
974<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
975<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
976<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
977<div class="ttc" id="_deprecated_8hpp_html_ab66a241a0ed3ee89c866e777b035d0ed"><div class="ttname"><a href="_deprecated_8hpp.html#ab66a241a0ed3ee89c866e777b035d0ed">ARMNN_NO_DEPRECATE_WARN_BEGIN</a></div><div class="ttdeci">#define ARMNN_NO_DEPRECATE_WARN_BEGIN</div><div class="ttdef"><b>Definition:</b> <a href="_deprecated_8hpp_source.html#l00033">Deprecated.hpp:33</a></div></div>
978<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
979<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d">armnn::DataType::QuantizedSymm8PerAxis</a></div></div>
980<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
981<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">armnn::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.html#l00032">Types.hpp:32</a></div></div>
982<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
983<div class="ttc" id="namespacearmnn_html_ad91bc7bfe29186f5d78c28386c6c5309"><div class="ttname"><a href="namespacearmnn.html#ad91bc7bfe29186f5d78c28386c6c5309">armnn::IsQuantized8BitType</a></div><div class="ttdeci">constexpr bool IsQuantized8BitType(DataType dataType)</div><div class="ttdef"><b>Definition:</b> <a href="_types_utils_8hpp_source.html#l00237">TypesUtils.hpp:237</a></div></div>
984<div class="ttc" id="_deprecated_8hpp_html_ad762b11b48e5c1d1c1743f529485728a"><div class="ttname"><a href="_deprecated_8hpp.html#ad762b11b48e5c1d1c1743f529485728a">ARMNN_NO_DEPRECATE_WARN_END</a></div><div class="ttdeci">#define ARMNN_NO_DEPRECATE_WARN_END</div><div class="ttdef"><b>Definition:</b> <a href="_deprecated_8hpp_source.html#l00034">Deprecated.hpp:34</a></div></div>
985</div><!-- fragment -->
986</div>
987</div>
988<a id="a87a66c5e87a19534ce3e6c374c9b8f09"></a>
989<h2 class="memtitle"><span class="permalink"><a href="#a87a66c5e87a19534ce3e6c374c9b8f09">&#9670;&nbsp;</a></span>IsDebugSupported()</h2>
990
991<div class="memitem">
992<div class="memproto">
993<table class="mlabels">
994 <tr>
995 <td class="mlabels-left">
996 <table class="memname">
997 <tr>
998 <td class="memname">bool IsDebugSupported </td>
999 <td>(</td>
1000 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1001 <td class="paramname"><em>input</em>, </td>
1002 </tr>
1003 <tr>
1004 <td class="paramkey"></td>
1005 <td></td>
1006 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1007 <td class="paramname"><em>output</em>, </td>
1008 </tr>
1009 <tr>
1010 <td class="paramkey"></td>
1011 <td></td>
1012 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1013 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1014 </tr>
1015 <tr>
1016 <td></td>
1017 <td>)</td>
1018 <td></td><td> const</td>
1019 </tr>
1020 </table>
1021 </td>
1022 <td class="mlabels-right">
1023<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1024 </tr>
1025</table>
1026</div><div class="memdoc">
1027
1028<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a87a66c5e87a19534ce3e6c374c9b8f09">LayerSupportBase</a>.</p>
1029
1030<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00481">481</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1031
1032<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
1033<div class="fragment"><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;{</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; std::array&lt;DataType, 7&gt; supportedTypes =</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; {</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a>,</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a></div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; };</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="stringliteral">&quot;Reference for Debug layer: input type not supported&quot;</span>);</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="stringliteral">&quot;Reference for Debug layer: output type not supported&quot;</span>);</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="stringliteral">&quot;Reference for Debug layer: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
1034<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1035<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1036<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1037<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
1038<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1039<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
1040<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
1041<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1042</div><!-- fragment -->
1043</div>
1044</div>
1045<a id="a128fb9890897e08251a3f621e570cd23"></a>
1046<h2 class="memtitle"><span class="permalink"><a href="#a128fb9890897e08251a3f621e570cd23">&#9670;&nbsp;</a></span>IsDepthToSpaceSupported()</h2>
1047
1048<div class="memitem">
1049<div class="memproto">
1050<table class="mlabels">
1051 <tr>
1052 <td class="mlabels-left">
1053 <table class="memname">
1054 <tr>
1055 <td class="memname">bool IsDepthToSpaceSupported </td>
1056 <td>(</td>
1057 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1058 <td class="paramname"><em>input</em>, </td>
1059 </tr>
1060 <tr>
1061 <td class="paramkey"></td>
1062 <td></td>
1063 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1064 <td class="paramname"><em>output</em>, </td>
1065 </tr>
1066 <tr>
1067 <td class="paramkey"></td>
1068 <td></td>
1069 <td class="paramtype">const <a class="el" href="namespacearmnn.html#a3647f60510bc8ddaced01c51b0ee8714">DepthToSpaceDescriptor</a> &amp;&#160;</td>
1070 <td class="paramname"><em>descriptor</em>, </td>
1071 </tr>
1072 <tr>
1073 <td class="paramkey"></td>
1074 <td></td>
1075 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1076 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1077 </tr>
1078 <tr>
1079 <td></td>
1080 <td>)</td>
1081 <td></td><td> const</td>
1082 </tr>
1083 </table>
1084 </td>
1085 <td class="mlabels-right">
1086<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1087 </tr>
1088</table>
1089</div><div class="memdoc">
1090
1091<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a128fb9890897e08251a3f621e570cd23">LayerSupportBase</a>.</p>
1092
1093<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00510">510</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1094
1095<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
1096<div class="fragment"><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;{</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; std::array&lt;DataType,4&gt; supportedTypes =</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; {</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; };</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="stringliteral">&quot;Reference DepthToSpace: input type not supported&quot;</span>);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="stringliteral">&quot;Reference DepthToSpace: output type not supported&quot;</span>);</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="stringliteral">&quot;Reference DepthToSpace: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160;</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1097<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1098<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1099<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1100<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
1101<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1102</div><!-- fragment -->
1103</div>
1104</div>
1105<a id="adc84390751f227fe03a115b5fa10b0fc"></a>
1106<h2 class="memtitle"><span class="permalink"><a href="#adc84390751f227fe03a115b5fa10b0fc">&#9670;&nbsp;</a></span>IsDepthwiseConvolutionSupported()</h2>
1107
1108<div class="memitem">
1109<div class="memproto">
1110<table class="mlabels">
1111 <tr>
1112 <td class="mlabels-left">
1113 <table class="memname">
1114 <tr>
1115 <td class="memname">bool IsDepthwiseConvolutionSupported </td>
1116 <td>(</td>
1117 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1118 <td class="paramname"><em>input</em>, </td>
1119 </tr>
1120 <tr>
1121 <td class="paramkey"></td>
1122 <td></td>
1123 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1124 <td class="paramname"><em>output</em>, </td>
1125 </tr>
1126 <tr>
1127 <td class="paramkey"></td>
1128 <td></td>
1129 <td class="paramtype">const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html">DepthwiseConvolution2dDescriptor</a> &amp;&#160;</td>
1130 <td class="paramname"><em>descriptor</em>, </td>
1131 </tr>
1132 <tr>
1133 <td class="paramkey"></td>
1134 <td></td>
1135 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1136 <td class="paramname"><em>weights</em>, </td>
1137 </tr>
1138 <tr>
1139 <td class="paramkey"></td>
1140 <td></td>
1141 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &gt; &amp;&#160;</td>
1142 <td class="paramname"><em>biases</em>, </td>
1143 </tr>
1144 <tr>
1145 <td class="paramkey"></td>
1146 <td></td>
1147 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1148 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1149 </tr>
1150 <tr>
1151 <td></td>
1152 <td>)</td>
1153 <td></td><td> const</td>
1154 </tr>
1155 </table>
1156 </td>
1157 <td class="mlabels-right">
1158<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1159 </tr>
1160</table>
1161</div><div class="memdoc">
1162
1163<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#adc84390751f227fe03a115b5fa10b0fc">LayerSupportBase</a>.</p>
1164
1165<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00538">538</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1166
1167<p class="reference">References <a class="el" href="_deprecated_8hpp_source.html#l00033">ARMNN_NO_DEPRECATE_WARN_BEGIN</a>, <a class="el" href="_deprecated_8hpp_source.html#l00034">ARMNN_NO_DEPRECATE_WARN_END</a>, <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>, <a class="el" href="_tensor_8hpp_source.html#l00095">TensorInfo::GetDataType()</a>, <a class="el" href="_optional_8hpp_source.html#l00053">OptionalBase::has_value()</a>, <a class="el" href="_types_utils_8hpp_source.html#l00237">armnn::IsQuantized8BitType()</a>, and <a class="el" href="_optional_8hpp_source.html#l00146">OptionalReferenceSwitch&lt; std::is_reference&lt; T &gt;::value, T &gt;::value()</a>.</p>
1168<div class="fragment"><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;{</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160;</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="comment">// Define supported types.</span></div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; std::array&lt;DataType,6&gt; supportedTypes =</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; {</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; };</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="stringliteral">&quot;Reference DepthwiseConvolution2d: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160;</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="stringliteral">&quot;Reference DepthwiseConvolution2d: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160;</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="stringliteral">&quot;Reference DepthwiseConvolution2d: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <a class="code" href="_deprecated_8hpp.html#ab66a241a0ed3ee89c866e777b035d0ed">ARMNN_NO_DEPRECATE_WARN_BEGIN</a></div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; std::array&lt;DataType, 3&gt; supportedWeightTypes =</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d">DataType::QuantizedSymm8PerAxis</a> <span class="comment">// deprecated</span></div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; };</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <a class="code" href="_deprecated_8hpp.html#ad762b11b48e5c1d1c1743f529485728a">ARMNN_NO_DEPRECATE_WARN_END</a></div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160;</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> inputType = input.GetDataType();</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespacearmnn.html#ad91bc7bfe29186f5d78c28386c6c5309">IsQuantized8BitType</a>(inputType))</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; {</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedWeightTypes), reasonIfUnsupported,</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="stringliteral">&quot;Reference convolution2d: weights type not supported for quantized input.&quot;</span>);</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; }</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; {</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="stringliteral">&quot;Reference DepthwiseConvolution2d: weights is not a supported type.&quot;</span>);</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, weights), reasonIfUnsupported,</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="stringliteral">&quot;Reference DepthwiseConvolution2d: input and weights types mismatched.&quot;</span>);</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; }</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160;</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="keywordflow">if</span> (biases.has_value())</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; {</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; std::array&lt;DataType,3&gt; biasesSupportedTypes =</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; {</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a></div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; };</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(biases.value(), biasesSupportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="stringliteral">&quot;Reference DepthwiseConvolution2d: biases is not a supported type.&quot;</span>);</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; }</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
1169<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1170<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1171<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1172<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
1173<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1174<div class="ttc" id="_deprecated_8hpp_html_ab66a241a0ed3ee89c866e777b035d0ed"><div class="ttname"><a href="_deprecated_8hpp.html#ab66a241a0ed3ee89c866e777b035d0ed">ARMNN_NO_DEPRECATE_WARN_BEGIN</a></div><div class="ttdeci">#define ARMNN_NO_DEPRECATE_WARN_BEGIN</div><div class="ttdef"><b>Definition:</b> <a href="_deprecated_8hpp_source.html#l00033">Deprecated.hpp:33</a></div></div>
1175<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
1176<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d">armnn::DataType::QuantizedSymm8PerAxis</a></div></div>
1177<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
1178<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">armnn::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.html#l00032">Types.hpp:32</a></div></div>
1179<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1180<div class="ttc" id="namespacearmnn_html_ad91bc7bfe29186f5d78c28386c6c5309"><div class="ttname"><a href="namespacearmnn.html#ad91bc7bfe29186f5d78c28386c6c5309">armnn::IsQuantized8BitType</a></div><div class="ttdeci">constexpr bool IsQuantized8BitType(DataType dataType)</div><div class="ttdef"><b>Definition:</b> <a href="_types_utils_8hpp_source.html#l00237">TypesUtils.hpp:237</a></div></div>
1181<div class="ttc" id="_deprecated_8hpp_html_ad762b11b48e5c1d1c1743f529485728a"><div class="ttname"><a href="_deprecated_8hpp.html#ad762b11b48e5c1d1c1743f529485728a">ARMNN_NO_DEPRECATE_WARN_END</a></div><div class="ttdeci">#define ARMNN_NO_DEPRECATE_WARN_END</div><div class="ttdef"><b>Definition:</b> <a href="_deprecated_8hpp_source.html#l00034">Deprecated.hpp:34</a></div></div>
1182</div><!-- fragment -->
1183</div>
1184</div>
1185<a id="a2e89c72cf60df7c2d2d7e5d98822b672"></a>
1186<h2 class="memtitle"><span class="permalink"><a href="#a2e89c72cf60df7c2d2d7e5d98822b672">&#9670;&nbsp;</a></span>IsDequantizeSupported()</h2>
1187
1188<div class="memitem">
1189<div class="memproto">
1190<table class="mlabels">
1191 <tr>
1192 <td class="mlabels-left">
1193 <table class="memname">
1194 <tr>
1195 <td class="memname">bool IsDequantizeSupported </td>
1196 <td>(</td>
1197 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1198 <td class="paramname"><em>input</em>, </td>
1199 </tr>
1200 <tr>
1201 <td class="paramkey"></td>
1202 <td></td>
1203 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1204 <td class="paramname"><em>output</em>, </td>
1205 </tr>
1206 <tr>
1207 <td class="paramkey"></td>
1208 <td></td>
1209 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1210 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1211 </tr>
1212 <tr>
1213 <td></td>
1214 <td>)</td>
1215 <td></td><td> const</td>
1216 </tr>
1217 </table>
1218 </td>
1219 <td class="mlabels-right">
1220<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1221 </tr>
1222</table>
1223</div><div class="memdoc">
1224
1225<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a2e89c72cf60df7c2d2d7e5d98822b672">LayerSupportBase</a>.</p>
1226
1227<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00609">609</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1228
1229<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
1230<div class="fragment"><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160;{</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160;</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; std::array&lt;DataType,4&gt; supportedInputTypes = {</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; };</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedInputTypes), reasonIfUnsupported,</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="stringliteral">&quot;Reference for Dequantize layer: input type not supported.&quot;</span>);</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>( TypeNotPerAxisQuantized(input), reasonIfUnsupported,</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="stringliteral">&quot;Reference for Dequantize layer: per-axis quantized input not support .&quot;</span>);</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeNotPerAxisQuantized(input), reasonIfUnsupported,</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="stringliteral">&quot;Reference dequantize: per-axis quantized input not support .&quot;</span>);</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; std::array&lt;DataType,2&gt; supportedOutputTypes = {</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a></div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; };</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160;</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedOutputTypes), reasonIfUnsupported,</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="stringliteral">&quot;Reference for Dequantize layer: output type not supported.&quot;</span>);</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreSameTotalSize(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="stringliteral">&quot;Reference for Dequantize layer: input/output shapes have different num total &quot;</span></div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="stringliteral">&quot;elements.&quot;</span>);</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
1231<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1232<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1233<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1234<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
1235<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1236<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
1237<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1238</div><!-- fragment -->
1239</div>
1240</div>
1241<a id="a50af275d7755a5bb1be69736d7e4b02f"></a>
1242<h2 class="memtitle"><span class="permalink"><a href="#a50af275d7755a5bb1be69736d7e4b02f">&#9670;&nbsp;</a></span>IsDetectionPostProcessSupported()</h2>
1243
1244<div class="memitem">
1245<div class="memproto">
1246<table class="mlabels">
1247 <tr>
1248 <td class="mlabels-left">
1249 <table class="memname">
1250 <tr>
1251 <td class="memname">bool IsDetectionPostProcessSupported </td>
1252 <td>(</td>
1253 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1254 <td class="paramname"><em>boxEncodings</em>, </td>
1255 </tr>
1256 <tr>
1257 <td class="paramkey"></td>
1258 <td></td>
1259 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1260 <td class="paramname"><em>scores</em>, </td>
1261 </tr>
1262 <tr>
1263 <td class="paramkey"></td>
1264 <td></td>
1265 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1266 <td class="paramname"><em>anchors</em>, </td>
1267 </tr>
1268 <tr>
1269 <td class="paramkey"></td>
1270 <td></td>
1271 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1272 <td class="paramname"><em>detectionBoxes</em>, </td>
1273 </tr>
1274 <tr>
1275 <td class="paramkey"></td>
1276 <td></td>
1277 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1278 <td class="paramname"><em>detectionClasses</em>, </td>
1279 </tr>
1280 <tr>
1281 <td class="paramkey"></td>
1282 <td></td>
1283 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1284 <td class="paramname"><em>detectionScores</em>, </td>
1285 </tr>
1286 <tr>
1287 <td class="paramkey"></td>
1288 <td></td>
1289 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1290 <td class="paramname"><em>numDetections</em>, </td>
1291 </tr>
1292 <tr>
1293 <td class="paramkey"></td>
1294 <td></td>
1295 <td class="paramtype">const <a class="el" href="structarmnn_1_1_detection_post_process_descriptor.html">DetectionPostProcessDescriptor</a> &amp;&#160;</td>
1296 <td class="paramname"><em>descriptor</em>, </td>
1297 </tr>
1298 <tr>
1299 <td class="paramkey"></td>
1300 <td></td>
1301 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1302 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1303 </tr>
1304 <tr>
1305 <td></td>
1306 <td>)</td>
1307 <td></td><td> const</td>
1308 </tr>
1309 </table>
1310 </td>
1311 <td class="mlabels-right">
1312<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1313 </tr>
1314</table>
1315</div><div class="memdoc">
1316
1317<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a50af275d7755a5bb1be69736d7e4b02f">LayerSupportBase</a>.</p>
1318
1319<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00646">646</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1320
1321<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
1322<div class="fragment"><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;{</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; boost::ignore_unused(<a class="code" href="_neon_end_to_end_tests_8cpp.html#ac0981848e4ae57729f14f72bd4caa9f8">anchors</a>, detectionBoxes, detectionClasses, detectionScores, numDetections, descriptor);</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; std::array&lt;DataType,3&gt; supportedInputTypes =</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; {</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; };</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160;</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(<a class="code" href="_neon_end_to_end_tests_8cpp.html#ada422a73ac4e68bcb1b1b1f0b44028d9">boxEncodings</a>, supportedInputTypes), reasonIfUnsupported,</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="stringliteral">&quot;Reference DetectionPostProcess: input 0 is not a supported type.&quot;</span>);</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160;</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(<a class="code" href="_neon_end_to_end_tests_8cpp.html#a0348e6bb67ace72535bd105219bb6237">scores</a>, supportedInputTypes), reasonIfUnsupported,</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="stringliteral">&quot;Reference DetectionPostProcess: input 1 is not a supported type.&quot;</span>);</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1323<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1324<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1325<div class="ttc" id="_neon_end_to_end_tests_8cpp_html_a0348e6bb67ace72535bd105219bb6237"><div class="ttname"><a href="_neon_end_to_end_tests_8cpp.html#a0348e6bb67ace72535bd105219bb6237">scores</a></div><div class="ttdeci">std::vector&lt; float &gt; scores({ 0.0f, 0.9f, 0.8f, 0.0f, 0.75f, 0.72f, 0.0f, 0.6f, 0.5f, 0.0f, 0.93f, 0.95f, 0.0f, 0.5f, 0.4f, 0.0f, 0.3f, 0.2f })</div></div>
1326<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1327<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
1328<div class="ttc" id="_neon_end_to_end_tests_8cpp_html_ada422a73ac4e68bcb1b1b1f0b44028d9"><div class="ttname"><a href="_neon_end_to_end_tests_8cpp.html#ada422a73ac4e68bcb1b1b1f0b44028d9">boxEncodings</a></div><div class="ttdeci">std::vector&lt; float &gt; boxEncodings({ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f })</div></div>
1329<div class="ttc" id="_neon_end_to_end_tests_8cpp_html_ac0981848e4ae57729f14f72bd4caa9f8"><div class="ttname"><a href="_neon_end_to_end_tests_8cpp.html#ac0981848e4ae57729f14f72bd4caa9f8">anchors</a></div><div class="ttdeci">std::vector&lt; float &gt; anchors({ 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 0.5f, 1.0f, 1.0f, 0.5f, 10.5f, 1.0f, 1.0f, 0.5f, 10.5f, 1.0f, 1.0f, 0.5f, 100.5f, 1.0f, 1.0f })</div></div>
1330</div><!-- fragment -->
1331</div>
1332</div>
1333<a id="a55d91a97ff664f42cd5cd62b60c15f80"></a>
1334<h2 class="memtitle"><span class="permalink"><a href="#a55d91a97ff664f42cd5cd62b60c15f80">&#9670;&nbsp;</a></span>IsDilatedDepthwiseConvolutionSupported()</h2>
1335
1336<div class="memitem">
1337<div class="memproto">
1338<table class="mlabels">
1339 <tr>
1340 <td class="mlabels-left">
1341 <table class="memname">
1342 <tr>
1343 <td class="memname">bool IsDilatedDepthwiseConvolutionSupported </td>
1344 <td>(</td>
1345 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1346 <td class="paramname"><em>input</em>, </td>
1347 </tr>
1348 <tr>
1349 <td class="paramkey"></td>
1350 <td></td>
1351 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1352 <td class="paramname"><em>output</em>, </td>
1353 </tr>
1354 <tr>
1355 <td class="paramkey"></td>
1356 <td></td>
1357 <td class="paramtype">const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.html">DepthwiseConvolution2dDescriptor</a> &amp;&#160;</td>
1358 <td class="paramname"><em>descriptor</em>, </td>
1359 </tr>
1360 <tr>
1361 <td class="paramkey"></td>
1362 <td></td>
1363 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1364 <td class="paramname"><em>weights</em>, </td>
1365 </tr>
1366 <tr>
1367 <td class="paramkey"></td>
1368 <td></td>
1369 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &gt; &amp;&#160;</td>
1370 <td class="paramname"><em>biases</em>, </td>
1371 </tr>
1372 <tr>
1373 <td class="paramkey"></td>
1374 <td></td>
1375 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1376 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1377 </tr>
1378 <tr>
1379 <td></td>
1380 <td>)</td>
1381 <td></td><td> const</td>
1382 </tr>
1383 </table>
1384 </td>
1385 <td class="mlabels-right">
1386<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1387 </tr>
1388</table>
1389</div><div class="memdoc">
1390
1391<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a55d91a97ff664f42cd5cd62b60c15f80">LayerSupportBase</a>.</p>
1392
1393<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00676">676</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1394
1395<p class="reference">References <a class="el" href="_layer_support_8cpp_source.html#l00199">armnn::IsDepthwiseConvolutionSupported()</a>.</p>
1396<div class="fragment"><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;{</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_ref_layer_support.html#adc84390751f227fe03a115b5fa10b0fc">IsDepthwiseConvolutionSupported</a>(input, output, descriptor, weights, biases, reasonIfUnsupported);</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_ref_layer_support_html_adc84390751f227fe03a115b5fa10b0fc"><div class="ttname"><a href="classarmnn_1_1_ref_layer_support.html#adc84390751f227fe03a115b5fa10b0fc">armnn::RefLayerSupport::IsDepthwiseConvolutionSupported</a></div><div class="ttdeci">bool IsDepthwiseConvolutionSupported(const TensorInfo &amp;input, const TensorInfo &amp;output, const DepthwiseConvolution2dDescriptor &amp;descriptor, const TensorInfo &amp;weights, const Optional&lt; TensorInfo &gt; &amp;biases, Optional&lt; std::string &amp;&gt; reasonIfUnsupported=EmptyOptional()) const override</div><div class="ttdef"><b>Definition:</b> <a href="_ref_layer_support_8cpp_source.html#l00538">RefLayerSupport.cpp:538</a></div></div>
1397</div><!-- fragment -->
1398</div>
1399</div>
1400<a id="a08f55136b1f0907e7083d70d719f697f"></a>
1401<h2 class="memtitle"><span class="permalink"><a href="#a08f55136b1f0907e7083d70d719f697f">&#9670;&nbsp;</a></span>IsDivisionSupported()</h2>
1402
1403<div class="memitem">
1404<div class="memproto">
1405<table class="mlabels">
1406 <tr>
1407 <td class="mlabels-left">
1408 <table class="memname">
1409 <tr>
1410 <td class="memname">bool IsDivisionSupported </td>
1411 <td>(</td>
1412 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1413 <td class="paramname"><em>input0</em>, </td>
1414 </tr>
1415 <tr>
1416 <td class="paramkey"></td>
1417 <td></td>
1418 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1419 <td class="paramname"><em>input1</em>, </td>
1420 </tr>
1421 <tr>
1422 <td class="paramkey"></td>
1423 <td></td>
1424 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1425 <td class="paramname"><em>output</em>, </td>
1426 </tr>
1427 <tr>
1428 <td class="paramkey"></td>
1429 <td></td>
1430 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1431 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1432 </tr>
1433 <tr>
1434 <td></td>
1435 <td>)</td>
1436 <td></td><td> const</td>
1437 </tr>
1438 </table>
1439 </td>
1440 <td class="mlabels-right">
1441<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1442 </tr>
1443</table>
1444</div><div class="memdoc">
1445
1446<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a08f55136b1f0907e7083d70d719f697f">LayerSupportBase</a>.</p>
1447
1448<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00686">686</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1449
1450<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
1451<div class="fragment"><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;{</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160;</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; std::array&lt;DataType,4&gt; supportedTypes = {</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; };</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="stringliteral">&quot;Reference division: input 0 is not a supported type.&quot;</span>);</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input1, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="stringliteral">&quot;Reference division: input 1 is not a supported type.&quot;</span>);</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160;</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="stringliteral">&quot;Reference division: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, input1), reasonIfUnsupported,</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="stringliteral">&quot;Reference division: input 0 and Input 1 types are mismatched&quot;</span>);</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, output), reasonIfUnsupported,</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="stringliteral">&quot;Reference division: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreBroadcastCompatible(input0, input1, output), reasonIfUnsupported,</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="stringliteral">&quot;Reference division: shapes are not suitable for implicit broadcast.&quot;</span>);</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160;</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1452<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1453<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1454<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1455<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
1456<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1457</div><!-- fragment -->
1458</div>
1459</div>
1460<a id="a61c5b4e5dc224ef0c876e43353b34030"></a>
1461<h2 class="memtitle"><span class="permalink"><a href="#a61c5b4e5dc224ef0c876e43353b34030">&#9670;&nbsp;</a></span>IsElementwiseUnarySupported()</h2>
1462
1463<div class="memitem">
1464<div class="memproto">
1465<table class="mlabels">
1466 <tr>
1467 <td class="mlabels-left">
1468 <table class="memname">
1469 <tr>
1470 <td class="memname">bool IsElementwiseUnarySupported </td>
1471 <td>(</td>
1472 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1473 <td class="paramname"><em>input</em>, </td>
1474 </tr>
1475 <tr>
1476 <td class="paramkey"></td>
1477 <td></td>
1478 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1479 <td class="paramname"><em>output</em>, </td>
1480 </tr>
1481 <tr>
1482 <td class="paramkey"></td>
1483 <td></td>
1484 <td class="paramtype">const <a class="el" href="structarmnn_1_1_elementwise_unary_descriptor.html">ElementwiseUnaryDescriptor</a> &amp;&#160;</td>
1485 <td class="paramname"><em>descriptor</em>, </td>
1486 </tr>
1487 <tr>
1488 <td class="paramkey"></td>
1489 <td></td>
1490 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1491 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1492 </tr>
1493 <tr>
1494 <td></td>
1495 <td>)</td>
1496 <td></td><td> const</td>
1497 </tr>
1498 </table>
1499 </td>
1500 <td class="mlabels-right">
1501<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1502 </tr>
1503</table>
1504</div><div class="memdoc">
1505
1506<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a61c5b4e5dc224ef0c876e43353b34030">LayerSupportBase</a>.</p>
1507
1508<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00721">721</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1509
1510<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
1511<div class="fragment"><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160;{</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; boost::ignore_unused(descriptor);</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160;</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; std::array&lt;DataType, 4&gt; supportedTypes =</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; {</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; };</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160;</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160;</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <span class="stringliteral">&quot;Reference elementwise unary: input type not supported&quot;</span>);</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="stringliteral">&quot;Reference elementwise unary: output type not supported&quot;</span>);</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160;</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="stringliteral">&quot;Reference elementwise unary: input and output types not matching&quot;</span>);</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160;</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreSameTotalSize(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="stringliteral">&quot;Reference elementwise unary: input and output shapes&quot;</span></div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="stringliteral">&quot;have different number of total elements&quot;</span>);</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160;</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1512<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1513<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1514<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1515<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
1516<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1517</div><!-- fragment -->
1518</div>
1519</div>
1520<a id="afb6ad04c6ff234b193f3dfc0cfabcbd5"></a>
1521<h2 class="memtitle"><span class="permalink"><a href="#afb6ad04c6ff234b193f3dfc0cfabcbd5">&#9670;&nbsp;</a></span>IsEqualSupported()</h2>
1522
1523<div class="memitem">
1524<div class="memproto">
1525<table class="mlabels">
1526 <tr>
1527 <td class="mlabels-left">
1528 <table class="memname">
1529 <tr>
1530 <td class="memname">bool IsEqualSupported </td>
1531 <td>(</td>
1532 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1533 <td class="paramname"><em>input0</em>, </td>
1534 </tr>
1535 <tr>
1536 <td class="paramkey"></td>
1537 <td></td>
1538 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1539 <td class="paramname"><em>input1</em>, </td>
1540 </tr>
1541 <tr>
1542 <td class="paramkey"></td>
1543 <td></td>
1544 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1545 <td class="paramname"><em>output</em>, </td>
1546 </tr>
1547 <tr>
1548 <td class="paramkey"></td>
1549 <td></td>
1550 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1551 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1552 </tr>
1553 <tr>
1554 <td></td>
1555 <td>)</td>
1556 <td></td><td> const</td>
1557 </tr>
1558 </table>
1559 </td>
1560 <td class="mlabels-right">
1561<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1562 </tr>
1563</table>
1564</div><div class="memdoc">
1565
1566<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#afb6ad04c6ff234b193f3dfc0cfabcbd5">LayerSupportBase</a>.</p>
1567
1568<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00754">754</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1569<div class="fragment"><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160;{</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_ref_layer_support.html#a7c52726a684dd76258c61af124012537">IsComparisonSupported</a>(input0,</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; input1,</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; output,</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; ComparisonDescriptor(<a class="code" href="namespacearmnn.html#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">ComparisonOperation::Equal</a>),</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; reasonIfUnsupported);</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_ref_layer_support_html_a7c52726a684dd76258c61af124012537"><div class="ttname"><a href="classarmnn_1_1_ref_layer_support.html#a7c52726a684dd76258c61af124012537">armnn::RefLayerSupport::IsComparisonSupported</a></div><div class="ttdeci">bool IsComparisonSupported(const TensorInfo &amp;input0, const TensorInfo &amp;input1, const TensorInfo &amp;output, const ComparisonDescriptor &amp;descriptor, Optional&lt; std::string &amp;&gt; reasonIfUnsupported=EmptyOptional()) const override</div><div class="ttdef"><b>Definition:</b> <a href="_ref_layer_support_8cpp_source.html#l00292">RefLayerSupport.cpp:292</a></div></div>
1570<div class="ttc" id="namespacearmnn_html_a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5"><div class="ttname"><a href="namespacearmnn.html#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">armnn::ComparisonOperation::Equal</a></div></div>
1571</div><!-- fragment -->
1572</div>
1573</div>
1574<a id="aab7318aa8adc0a8a3b6a1780cfc1f90b"></a>
1575<h2 class="memtitle"><span class="permalink"><a href="#aab7318aa8adc0a8a3b6a1780cfc1f90b">&#9670;&nbsp;</a></span>IsFakeQuantizationSupported()</h2>
1576
1577<div class="memitem">
1578<div class="memproto">
1579<table class="mlabels">
1580 <tr>
1581 <td class="mlabels-left">
1582 <table class="memname">
1583 <tr>
1584 <td class="memname">bool IsFakeQuantizationSupported </td>
1585 <td>(</td>
1586 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1587 <td class="paramname"><em>input</em>, </td>
1588 </tr>
1589 <tr>
1590 <td class="paramkey"></td>
1591 <td></td>
1592 <td class="paramtype">const <a class="el" href="structarmnn_1_1_fake_quantization_descriptor.html">FakeQuantizationDescriptor</a> &amp;&#160;</td>
1593 <td class="paramname"><em>descriptor</em>, </td>
1594 </tr>
1595 <tr>
1596 <td class="paramkey"></td>
1597 <td></td>
1598 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1599 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1600 </tr>
1601 <tr>
1602 <td></td>
1603 <td>)</td>
1604 <td></td><td> const</td>
1605 </tr>
1606 </table>
1607 </td>
1608 <td class="mlabels-right">
1609<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1610 </tr>
1611</table>
1612</div><div class="memdoc">
1613
1614<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#aab7318aa8adc0a8a3b6a1780cfc1f90b">LayerSupportBase</a>.</p>
1615
1616<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00766">766</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1617
1618<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
1619<div class="fragment"><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;{</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; std::array&lt;DataType,1&gt; supportedTypes =</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; {</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a></div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; };</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160;</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="stringliteral">&quot;Reference fake quantization: input type not supported.&quot;</span>);</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1620<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1621<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
1622</div><!-- fragment -->
1623</div>
1624</div>
1625<a id="a53c7593d1aa26207eac5d5814a9d56dc"></a>
1626<h2 class="memtitle"><span class="permalink"><a href="#a53c7593d1aa26207eac5d5814a9d56dc">&#9670;&nbsp;</a></span>IsFloorSupported()</h2>
1627
1628<div class="memitem">
1629<div class="memproto">
1630<table class="mlabels">
1631 <tr>
1632 <td class="mlabels-left">
1633 <table class="memname">
1634 <tr>
1635 <td class="memname">bool IsFloorSupported </td>
1636 <td>(</td>
1637 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1638 <td class="paramname"><em>input</em>, </td>
1639 </tr>
1640 <tr>
1641 <td class="paramkey"></td>
1642 <td></td>
1643 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1644 <td class="paramname"><em>output</em>, </td>
1645 </tr>
1646 <tr>
1647 <td class="paramkey"></td>
1648 <td></td>
1649 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1650 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1651 </tr>
1652 <tr>
1653 <td></td>
1654 <td>)</td>
1655 <td></td><td> const</td>
1656 </tr>
1657 </table>
1658 </td>
1659 <td class="mlabels-right">
1660<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1661 </tr>
1662</table>
1663</div><div class="memdoc">
1664
1665<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a53c7593d1aa26207eac5d5814a9d56dc">LayerSupportBase</a>.</p>
1666
1667<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00784">784</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1668
1669<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
1670<div class="fragment"><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;{</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; ignore_unused(output);</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; std::array&lt;DataType,3&gt; supportedTypes =</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; {</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; };</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <span class="stringliteral">&quot;Reference Floor: input type not supported.&quot;</span>);</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160;</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <span class="stringliteral">&quot;Reference Floor: output type not supported.&quot;</span>);</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1671<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1672<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1673<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
1674<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1675</div><!-- fragment -->
1676</div>
1677</div>
1678<a id="aeaf971dd9dffd6f6bc7e5a1ae6b6af5c"></a>
1679<h2 class="memtitle"><span class="permalink"><a href="#aeaf971dd9dffd6f6bc7e5a1ae6b6af5c">&#9670;&nbsp;</a></span>IsFullyConnectedSupported()</h2>
1680
1681<div class="memitem">
1682<div class="memproto">
1683<table class="mlabels">
1684 <tr>
1685 <td class="mlabels-left">
1686 <table class="memname">
1687 <tr>
1688 <td class="memname">bool IsFullyConnectedSupported </td>
1689 <td>(</td>
1690 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1691 <td class="paramname"><em>input</em>, </td>
1692 </tr>
1693 <tr>
1694 <td class="paramkey"></td>
1695 <td></td>
1696 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1697 <td class="paramname"><em>output</em>, </td>
1698 </tr>
1699 <tr>
1700 <td class="paramkey"></td>
1701 <td></td>
1702 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1703 <td class="paramname"><em>weights</em>, </td>
1704 </tr>
1705 <tr>
1706 <td class="paramkey"></td>
1707 <td></td>
1708 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1709 <td class="paramname"><em>biases</em>, </td>
1710 </tr>
1711 <tr>
1712 <td class="paramkey"></td>
1713 <td></td>
1714 <td class="paramtype">const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.html">FullyConnectedDescriptor</a> &amp;&#160;</td>
1715 <td class="paramname"><em>descriptor</em>, </td>
1716 </tr>
1717 <tr>
1718 <td class="paramkey"></td>
1719 <td></td>
1720 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1721 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1722 </tr>
1723 <tr>
1724 <td></td>
1725 <td>)</td>
1726 <td></td><td> const</td>
1727 </tr>
1728 </table>
1729 </td>
1730 <td class="mlabels-right">
1731<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1732 </tr>
1733</table>
1734</div><div class="memdoc">
1735
1736<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#aeaf971dd9dffd6f6bc7e5a1ae6b6af5c">LayerSupportBase</a>.</p>
1737
1738<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00807">807</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1739
1740<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_descriptors_8hpp_source.html#l00386">FullyConnectedDescriptor::m_BiasEnabled</a>.</p>
1741<div class="fragment"><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160;{</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="comment">// Define supported types.</span></div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; std::array&lt;DataType,4&gt; supportedTypes =</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; {</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; };</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160;</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: input type not supported.&quot;</span>);</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160;</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: output type not supported.&quot;</span>);</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160;</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: weights type not supported.&quot;</span>);</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160;</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, weights), reasonIfUnsupported,</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: input and weight types mismatched.&quot;</span>);</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="keywordflow">if</span> (descriptor.m_BiasEnabled)</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; {</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; <span class="comment">// Defined supported types for bias</span></div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; std::array&lt;DataType, 3&gt;</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; supportedBiasTypes =</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; {</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a></div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; };</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160;</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(biases, supportedBiasTypes), reasonIfUnsupported,</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: bias type not supported.&quot;</span>);</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160;</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(BiasAndWeightsTypesMatch(biases, weights), reasonIfUnsupported,</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: bias and weight types mismatch.&quot;</span>);</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160;</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(BiasAndWeightsTypesCompatible(weights, supportedBiasTypes), reasonIfUnsupported,</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: bias type inferred from weights is incompatible.&quot;</span>);</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160;</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; }</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160;</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1742<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1743<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1744<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1745<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
1746<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
1747<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1748</div><!-- fragment -->
1749</div>
1750</div>
1751<a id="aef77aa4bb0e68e88dcf5ab8b5882a2d3"></a>
1752<h2 class="memtitle"><span class="permalink"><a href="#aef77aa4bb0e68e88dcf5ab8b5882a2d3">&#9670;&nbsp;</a></span>IsGatherSupported()</h2>
1753
1754<div class="memitem">
1755<div class="memproto">
1756<table class="mlabels">
1757 <tr>
1758 <td class="mlabels-left">
1759 <table class="memname">
1760 <tr>
1761 <td class="memname">bool IsGatherSupported </td>
1762 <td>(</td>
1763 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1764 <td class="paramname"><em>input0</em>, </td>
1765 </tr>
1766 <tr>
1767 <td class="paramkey"></td>
1768 <td></td>
1769 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1770 <td class="paramname"><em>input1</em>, </td>
1771 </tr>
1772 <tr>
1773 <td class="paramkey"></td>
1774 <td></td>
1775 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1776 <td class="paramname"><em>output</em>, </td>
1777 </tr>
1778 <tr>
1779 <td class="paramkey"></td>
1780 <td></td>
1781 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1782 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1783 </tr>
1784 <tr>
1785 <td></td>
1786 <td>)</td>
1787 <td></td><td> const</td>
1788 </tr>
1789 </table>
1790 </td>
1791 <td class="mlabels-right">
1792<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1793 </tr>
1794</table>
1795</div><div class="memdoc">
1796
1797<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#aef77aa4bb0e68e88dcf5ab8b5882a2d3">LayerSupportBase</a>.</p>
1798
1799<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00865">865</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1800
1801<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
1802<div class="fragment"><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160;{</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; std::array&lt;DataType,4&gt; supportedTypes =</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; {</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; };</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160;</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <span class="stringliteral">&quot;Reference Gather: input type not supported&quot;</span>);</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160;</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <span class="stringliteral">&quot;Reference Gather: output type not supported&quot;</span>);</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160;</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeIs(input1, <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a>), reasonIfUnsupported,</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <span class="stringliteral">&quot;Reference Gather: indices (input1) type not supported&quot;</span>);</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160;</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, output), reasonIfUnsupported,</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <span class="stringliteral">&quot;Reference Gather: input and output types not matching&quot;</span>);</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160;</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1803<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1804<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1805<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1806<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
1807<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
1808<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1809</div><!-- fragment -->
1810</div>
1811</div>
1812<a id="a14e45f3699e823d7859d5d352d89265c"></a>
1813<h2 class="memtitle"><span class="permalink"><a href="#a14e45f3699e823d7859d5d352d89265c">&#9670;&nbsp;</a></span>IsGreaterSupported()</h2>
1814
1815<div class="memitem">
1816<div class="memproto">
1817<table class="mlabels">
1818 <tr>
1819 <td class="mlabels-left">
1820 <table class="memname">
1821 <tr>
1822 <td class="memname">bool IsGreaterSupported </td>
1823 <td>(</td>
1824 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1825 <td class="paramname"><em>input0</em>, </td>
1826 </tr>
1827 <tr>
1828 <td class="paramkey"></td>
1829 <td></td>
1830 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1831 <td class="paramname"><em>input1</em>, </td>
1832 </tr>
1833 <tr>
1834 <td class="paramkey"></td>
1835 <td></td>
1836 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1837 <td class="paramname"><em>output</em>, </td>
1838 </tr>
1839 <tr>
1840 <td class="paramkey"></td>
1841 <td></td>
1842 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1843 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1844 </tr>
1845 <tr>
1846 <td></td>
1847 <td>)</td>
1848 <td></td><td> const</td>
1849 </tr>
1850 </table>
1851 </td>
1852 <td class="mlabels-right">
1853<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1854 </tr>
1855</table>
1856</div><div class="memdoc">
1857
1858<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a14e45f3699e823d7859d5d352d89265c">LayerSupportBase</a>.</p>
1859
1860<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00894">894</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1861<div class="fragment"><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;{</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_ref_layer_support.html#a7c52726a684dd76258c61af124012537">IsComparisonSupported</a>(input0,</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; input1,</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; output,</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; ComparisonDescriptor(<a class="code" href="namespacearmnn.html#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">ComparisonOperation::Greater</a>),</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; reasonIfUnsupported);</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_ref_layer_support_html_a7c52726a684dd76258c61af124012537"><div class="ttname"><a href="classarmnn_1_1_ref_layer_support.html#a7c52726a684dd76258c61af124012537">armnn::RefLayerSupport::IsComparisonSupported</a></div><div class="ttdeci">bool IsComparisonSupported(const TensorInfo &amp;input0, const TensorInfo &amp;input1, const TensorInfo &amp;output, const ComparisonDescriptor &amp;descriptor, Optional&lt; std::string &amp;&gt; reasonIfUnsupported=EmptyOptional()) const override</div><div class="ttdef"><b>Definition:</b> <a href="_ref_layer_support_8cpp_source.html#l00292">RefLayerSupport.cpp:292</a></div></div>
1862<div class="ttc" id="namespacearmnn_html_a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a"><div class="ttname"><a href="namespacearmnn.html#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">armnn::ComparisonOperation::Greater</a></div></div>
1863</div><!-- fragment -->
1864</div>
1865</div>
1866<a id="ad29d99ecd719c640ed22dcf5c688c6a5"></a>
1867<h2 class="memtitle"><span class="permalink"><a href="#ad29d99ecd719c640ed22dcf5c688c6a5">&#9670;&nbsp;</a></span>IsInputSupported()</h2>
1868
1869<div class="memitem">
1870<div class="memproto">
1871<table class="mlabels">
1872 <tr>
1873 <td class="mlabels-left">
1874 <table class="memname">
1875 <tr>
1876 <td class="memname">bool IsInputSupported </td>
1877 <td>(</td>
1878 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1879 <td class="paramname"><em>input</em>, </td>
1880 </tr>
1881 <tr>
1882 <td class="paramkey"></td>
1883 <td></td>
1884 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1885 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1886 </tr>
1887 <tr>
1888 <td></td>
1889 <td>)</td>
1890 <td></td><td> const</td>
1891 </tr>
1892 </table>
1893 </td>
1894 <td class="mlabels-right">
1895<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1896 </tr>
1897</table>
1898</div><div class="memdoc">
1899
1900<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#ad29d99ecd719c640ed22dcf5c688c6a5">LayerSupportBase</a>.</p>
1901
1902<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00906">906</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1903<div class="fragment"><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160;{</div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160;}</div></div><!-- fragment -->
1904</div>
1905</div>
1906<a id="a0813546a09bf2caba6794014d1960624"></a>
1907<h2 class="memtitle"><span class="permalink"><a href="#a0813546a09bf2caba6794014d1960624">&#9670;&nbsp;</a></span>IsInstanceNormalizationSupported()</h2>
1908
1909<div class="memitem">
1910<div class="memproto">
1911<table class="mlabels">
1912 <tr>
1913 <td class="mlabels-left">
1914 <table class="memname">
1915 <tr>
1916 <td class="memname">bool IsInstanceNormalizationSupported </td>
1917 <td>(</td>
1918 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1919 <td class="paramname"><em>input</em>, </td>
1920 </tr>
1921 <tr>
1922 <td class="paramkey"></td>
1923 <td></td>
1924 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1925 <td class="paramname"><em>output</em>, </td>
1926 </tr>
1927 <tr>
1928 <td class="paramkey"></td>
1929 <td></td>
1930 <td class="paramtype">const <a class="el" href="structarmnn_1_1_instance_normalization_descriptor.html">InstanceNormalizationDescriptor</a> &amp;&#160;</td>
1931 <td class="paramname"><em>descriptor</em>, </td>
1932 </tr>
1933 <tr>
1934 <td class="paramkey"></td>
1935 <td></td>
1936 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1937 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1938 </tr>
1939 <tr>
1940 <td></td>
1941 <td>)</td>
1942 <td></td><td> const</td>
1943 </tr>
1944 </table>
1945 </td>
1946 <td class="mlabels-right">
1947<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1948 </tr>
1949</table>
1950</div><div class="memdoc">
1951
1952<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a0813546a09bf2caba6794014d1960624">LayerSupportBase</a>.</p>
1953
1954<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00912">912</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
1955
1956<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
1957<div class="fragment"><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160;{</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; <span class="comment">// Define supported types</span></div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; std::array&lt;DataType, 4&gt; supportedTypes =</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; {</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a></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="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</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; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="stringliteral">&quot;Reference Instance Normalization: input type not supported.&quot;</span>);</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160;</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="stringliteral">&quot;Reference Instance Normalization: output type not supported.&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; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <span class="stringliteral">&quot;Reference Instance Normalization: input and output types mismatched.&quot;</span>);</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; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreSameTotalSize(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="stringliteral">&quot;Reference Instance Normalization: input and output shapes have different &quot;</span></div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <span class="stringliteral">&quot;num total elements.&quot;</span>);</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="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1958<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1959<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
1960<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1961</div><!-- fragment -->
1962</div>
1963</div>
1964<a id="aca4acda7ab553edfda828658d8f3882b"></a>
1965<h2 class="memtitle"><span class="permalink"><a href="#aca4acda7ab553edfda828658d8f3882b">&#9670;&nbsp;</a></span>IsL2NormalizationSupported()</h2>
1966
1967<div class="memitem">
1968<div class="memproto">
1969<table class="mlabels">
1970 <tr>
1971 <td class="mlabels-left">
1972 <table class="memname">
1973 <tr>
1974 <td class="memname">bool IsL2NormalizationSupported </td>
1975 <td>(</td>
1976 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1977 <td class="paramname"><em>input</em>, </td>
1978 </tr>
1979 <tr>
1980 <td class="paramkey"></td>
1981 <td></td>
1982 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
1983 <td class="paramname"><em>output</em>, </td>
1984 </tr>
1985 <tr>
1986 <td class="paramkey"></td>
1987 <td></td>
1988 <td class="paramtype">const <a class="el" href="structarmnn_1_1_l2_normalization_descriptor.html">L2NormalizationDescriptor</a> &amp;&#160;</td>
1989 <td class="paramname"><em>descriptor</em>, </td>
1990 </tr>
1991 <tr>
1992 <td class="paramkey"></td>
1993 <td></td>
1994 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1995 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
1996 </tr>
1997 <tr>
1998 <td></td>
1999 <td>)</td>
2000 <td></td><td> const</td>
2001 </tr>
2002 </table>
2003 </td>
2004 <td class="mlabels-right">
2005<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2006 </tr>
2007</table>
2008</div><div class="memdoc">
2009
2010<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#aca4acda7ab553edfda828658d8f3882b">LayerSupportBase</a>.</p>
2011
2012<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00943">943</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2013
2014<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
2015<div class="fragment"><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; ignore_unused(descriptor);</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; <span class="comment">// Define supported types</span></div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; std::array&lt;DataType, 4&gt; supportedTypes =</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; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></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; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</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; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <span class="stringliteral">&quot;Reference L2normalization: input type not supported.&quot;</span>);</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; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <span class="stringliteral">&quot;Reference L2normalization: output type not supported.&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; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <span class="stringliteral">&quot;Reference L2normalization: input and output types mismatched.&quot;</span>);</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; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreSameTotalSize(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; <span class="stringliteral">&quot;Reference L2normalization: input and output shapes have different &quot;</span></div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; <span class="stringliteral">&quot;num total elements.&quot;</span>);</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; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2016<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2017<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2018<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2019<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
2020<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2021</div><!-- fragment -->
2022</div>
2023</div>
2024<a id="a6d414f4983a5ca9596d84e340e6fd895"></a>
2025<h2 class="memtitle"><span class="permalink"><a href="#a6d414f4983a5ca9596d84e340e6fd895">&#9670;&nbsp;</a></span>IsLogSoftmaxSupported()</h2>
2026
2027<div class="memitem">
2028<div class="memproto">
2029<table class="mlabels">
2030 <tr>
2031 <td class="mlabels-left">
2032 <table class="memname">
2033 <tr>
2034 <td class="memname">bool IsLogSoftmaxSupported </td>
2035 <td>(</td>
2036 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2037 <td class="paramname"><em>input</em>, </td>
2038 </tr>
2039 <tr>
2040 <td class="paramkey"></td>
2041 <td></td>
2042 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2043 <td class="paramname"><em>output</em>, </td>
2044 </tr>
2045 <tr>
2046 <td class="paramkey"></td>
2047 <td></td>
2048 <td class="paramtype">const <a class="el" href="namespacearmnn.html#ac14705405cbcdd580df613de6766fe65">LogSoftmaxDescriptor</a> &amp;&#160;</td>
2049 <td class="paramname"><em>descriptor</em>, </td>
2050 </tr>
2051 <tr>
2052 <td class="paramkey"></td>
2053 <td></td>
2054 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2055 <td class="paramname"><em>reasonIfUnsupported</em>&#160;</td>
2056 </tr>
2057 <tr>
2058 <td></td>
2059 <td>)</td>
2060 <td></td><td> const</td>
2061 </tr>
2062 </table>
2063 </td>
2064 <td class="mlabels-right">
2065<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2066 </tr>
2067</table>
2068</div><div class="memdoc">
2069
2070<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#aa0380b797cb9932fb03067dbe2cdecfb">LayerSupportBase</a>.</p>
2071
2072<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l00976">976</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2073
2074<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
2075<div class="fragment"><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; ignore_unused(descriptor);</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160;</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; std::array&lt;DataType, 2&gt; supportedTypes =</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; {</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; };</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160;</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; <span class="stringliteral">&quot;Reference LogSoftmax: input type not supported&quot;</span>);</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; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; <span class="stringliteral">&quot;Reference LogSoftmax: output type not supported&quot;</span>);</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; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; <span class="stringliteral">&quot;Reference LogSoftmax: input and output types do not match&quot;</span>);</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160;</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2076<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2077<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
2078<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2079</div><!-- fragment -->
2080</div>
2081</div>
2082<a id="a862535721737220f62a49f14ff494dd5"></a>
2083<h2 class="memtitle"><span class="permalink"><a href="#a862535721737220f62a49f14ff494dd5">&#9670;&nbsp;</a></span>IsLstmSupported()</h2>
2084
2085<div class="memitem">
2086<div class="memproto">
2087<table class="mlabels">
2088 <tr>
2089 <td class="mlabels-left">
2090 <table class="memname">
2091 <tr>
2092 <td class="memname">bool IsLstmSupported </td>
2093 <td>(</td>
2094 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2095 <td class="paramname"><em>input</em>, </td>
2096 </tr>
2097 <tr>
2098 <td class="paramkey"></td>
2099 <td></td>
2100 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2101 <td class="paramname"><em>outputStateIn</em>, </td>
2102 </tr>
2103 <tr>
2104 <td class="paramkey"></td>
2105 <td></td>
2106 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2107 <td class="paramname"><em>cellStateIn</em>, </td>
2108 </tr>
2109 <tr>
2110 <td class="paramkey"></td>
2111 <td></td>
2112 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2113 <td class="paramname"><em>scratchBuffer</em>, </td>
2114 </tr>
2115 <tr>
2116 <td class="paramkey"></td>
2117 <td></td>
2118 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2119 <td class="paramname"><em>outputStateOut</em>, </td>
2120 </tr>
2121 <tr>
2122 <td class="paramkey"></td>
2123 <td></td>
2124 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2125 <td class="paramname"><em>cellStateOut</em>, </td>
2126 </tr>
2127 <tr>
2128 <td class="paramkey"></td>
2129 <td></td>
2130 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2131 <td class="paramname"><em>output</em>, </td>
2132 </tr>
2133 <tr>
2134 <td class="paramkey"></td>
2135 <td></td>
2136 <td class="paramtype">const <a class="el" href="structarmnn_1_1_lstm_descriptor.html">LstmDescriptor</a> &amp;&#160;</td>
2137 <td class="paramname"><em>descriptor</em>, </td>
2138 </tr>
2139 <tr>
2140 <td class="paramkey"></td>
2141 <td></td>
2142 <td class="paramtype">const <a class="el" href="structarmnn_1_1_lstm_input_params_info.html">LstmInputParamsInfo</a> &amp;&#160;</td>
2143 <td class="paramname"><em>paramsInfo</em>, </td>
2144 </tr>
2145 <tr>
2146 <td class="paramkey"></td>
2147 <td></td>
2148 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2149 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
2150 </tr>
2151 <tr>
2152 <td></td>
2153 <td>)</td>
2154 <td></td><td> const</td>
2155 </tr>
2156 </table>
2157 </td>
2158 <td class="mlabels-right">
2159<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2160 </tr>
2161</table>
2162</div><div class="memdoc">
2163
2164<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a862535721737220f62a49f14ff494dd5">LayerSupportBase</a>.</p>
2165
2166<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01002">1002</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2167
2168<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00173">LstmInputParamsInfo::GetCellBias()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00197">LstmInputParamsInfo::GetCellLayerNormWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00157">LstmInputParamsInfo::GetCellToForgetWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00153">LstmInputParamsInfo::GetCellToInputWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00161">LstmInputParamsInfo::GetCellToOutputWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00169">LstmInputParamsInfo::GetForgetGateBias()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00193">LstmInputParamsInfo::GetForgetLayerNormWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00165">LstmInputParamsInfo::GetInputGateBias()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00189">LstmInputParamsInfo::GetInputLayerNormWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00129">LstmInputParamsInfo::GetInputToCellWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00125">LstmInputParamsInfo::GetInputToForgetWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00121">LstmInputParamsInfo::GetInputToInputWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00133">LstmInputParamsInfo::GetInputToOutputWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00177">LstmInputParamsInfo::GetOutputGateBias()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00201">LstmInputParamsInfo::GetOutputLayerNormWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00185">LstmInputParamsInfo::GetProjectionBias()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00181">LstmInputParamsInfo::GetProjectionWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00145">LstmInputParamsInfo::GetRecurrentToCellWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00141">LstmInputParamsInfo::GetRecurrentToForgetWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00137">LstmInputParamsInfo::GetRecurrentToInputWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00149">LstmInputParamsInfo::GetRecurrentToOutputWeights()</a>, <a class="el" href="_descriptors_8hpp_source.html#l00867">LstmDescriptor::m_CifgEnabled</a>, <a class="el" href="_descriptors_8hpp_source.html#l00873">LstmDescriptor::m_LayerNormEnabled</a>, <a class="el" href="_descriptors_8hpp_source.html#l00869">LstmDescriptor::m_PeepholeEnabled</a>, <a class="el" href="_lstm_params_8hpp_source.html#l00105">LstmInputParamsInfo::m_ProjectionBias</a>, and <a class="el" href="_descriptors_8hpp_source.html#l00871">LstmDescriptor::m_ProjectionEnabled</a>.</p>
2169<div class="fragment"><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;{</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; ignore_unused(paramsInfo);</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; std::array&lt;DataType,2&gt; supportedTypes = {</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; };</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; <span class="comment">// check inputs and outputs</span></div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, outputStateIn), reasonIfUnsupported,</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and outputStateIn types are mismatched&quot;</span>);</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, cellStateIn), reasonIfUnsupported,</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and cellStateIn types are mismatched&quot;</span>);</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, scratchBuffer), reasonIfUnsupported,</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and scratchBuffer types are mismatched&quot;</span>);</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, outputStateOut), reasonIfUnsupported,</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and outputStateOut types are mismatched&quot;</span>);</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, cellStateOut), reasonIfUnsupported,</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and cellStateOut types are mismatched&quot;</span>);</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; <span class="comment">// check layer parameters</span></div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetInputToForgetWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and InputToForgetWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetInputToCellWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and InputToCellWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetInputToOutputWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and InputToOutputWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetRecurrentToForgetWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and RecurrentToForgetWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetRecurrentToCellWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and RecurrentToCellWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetRecurrentToOutputWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and RecurrentToOutputWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetForgetGateBias()), reasonIfUnsupported,</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and ForgetGateBias types are mismatched&quot;</span>);</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetCellBias()), reasonIfUnsupported,</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and CellBias types are mismatched&quot;</span>);</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetOutputGateBias()), reasonIfUnsupported,</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and OutputGateBias types are mismatched&quot;</span>);</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; <span class="keywordflow">if</span> (!descriptor.m_CifgEnabled)</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; {</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetInputToInputWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and InputToInputWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetRecurrentToInputWeights()),</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and RecurrentToInputWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetInputGateBias()), reasonIfUnsupported,</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and InputGateBias types are mismatched&quot;</span>);</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; <span class="keywordflow">if</span> (descriptor.m_PeepholeEnabled)</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; {</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetCellToInputWeights()),</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and CellToInputWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160; }</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; }</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160; <span class="keywordflow">if</span> (descriptor.m_PeepholeEnabled)</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; {</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetCellToForgetWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and CellToForgetWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetCellToOutputWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and CellToOutputWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; }</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; <span class="keywordflow">if</span> (descriptor.m_ProjectionEnabled)</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160; {</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetProjectionWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and mProjectionWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; <span class="keywordflow">if</span> (paramsInfo.m_ProjectionBias != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; {</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetProjectionBias()), reasonIfUnsupported,</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and ProjectionBias types are mismatched&quot;</span>);</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160; }</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160; }</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160; <span class="keywordflow">if</span> (descriptor.m_LayerNormEnabled)</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160; {</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; <span class="keywordflow">if</span> (!descriptor.m_CifgEnabled)</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; {</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetInputLayerNormWeights()),</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and InputLayerNormWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160; }</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetForgetLayerNormWeights()),</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and ForgetLayerNormWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetCellLayerNormWeights()),</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and CellLayerNormWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetOutputLayerNormWeights()),</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and OutputLayerNormWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; }</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2170<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2171<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2172<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
2173</div><!-- fragment -->
2174</div>
2175</div>
2176<a id="afef9436c86b37b973471f2ae546ac00a"></a>
2177<h2 class="memtitle"><span class="permalink"><a href="#afef9436c86b37b973471f2ae546ac00a">&#9670;&nbsp;</a></span>IsMaximumSupported()</h2>
2178
2179<div class="memitem">
2180<div class="memproto">
2181<table class="mlabels">
2182 <tr>
2183 <td class="mlabels-left">
2184 <table class="memname">
2185 <tr>
2186 <td class="memname">bool IsMaximumSupported </td>
2187 <td>(</td>
2188 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2189 <td class="paramname"><em>input0</em>, </td>
2190 </tr>
2191 <tr>
2192 <td class="paramkey"></td>
2193 <td></td>
2194 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2195 <td class="paramname"><em>input1</em>, </td>
2196 </tr>
2197 <tr>
2198 <td class="paramkey"></td>
2199 <td></td>
2200 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2201 <td class="paramname"><em>output</em>, </td>
2202 </tr>
2203 <tr>
2204 <td class="paramkey"></td>
2205 <td></td>
2206 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2207 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
2208 </tr>
2209 <tr>
2210 <td></td>
2211 <td>)</td>
2212 <td></td><td> const</td>
2213 </tr>
2214 </table>
2215 </td>
2216 <td class="mlabels-right">
2217<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2218 </tr>
2219</table>
2220</div><div class="memdoc">
2221
2222<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#afef9436c86b37b973471f2ae546ac00a">LayerSupportBase</a>.</p>
2223
2224<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01112">1112</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2225
2226<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
2227<div class="fragment"><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;{</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160; std::array&lt;DataType,5&gt; supportedTypes = {</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160; };</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160; <span class="stringliteral">&quot;Reference maximum: input 0 is not a supported type.&quot;</span>);</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input1, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160; <span class="stringliteral">&quot;Reference maximum: input 1 is not a supported type.&quot;</span>);</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160; <span class="stringliteral">&quot;Reference maximum: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, input1), reasonIfUnsupported,</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160; <span class="stringliteral">&quot;Reference maximum: input 0 and Input 1 types are mismatched&quot;</span>);</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, output), reasonIfUnsupported,</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160; <span class="stringliteral">&quot;Reference maximum: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreBroadcastCompatible(input0, input1, output), reasonIfUnsupported,</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160; <span class="stringliteral">&quot;Reference maximum: shapes are not suitable for implicit broadcast.&quot;</span>);</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2228<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2229<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2230<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
2231<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2232<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
2233<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2234</div><!-- fragment -->
2235</div>
2236</div>
2237<a id="ab268618580d4f53bf5e9b5a47dee3f6a"></a>
2238<h2 class="memtitle"><span class="permalink"><a href="#ab268618580d4f53bf5e9b5a47dee3f6a">&#9670;&nbsp;</a></span>IsMeanSupported()</h2>
2239
2240<div class="memitem">
2241<div class="memproto">
2242<table class="mlabels">
2243 <tr>
2244 <td class="mlabels-left">
2245 <table class="memname">
2246 <tr>
2247 <td class="memname">bool IsMeanSupported </td>
2248 <td>(</td>
2249 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2250 <td class="paramname"><em>input</em>, </td>
2251 </tr>
2252 <tr>
2253 <td class="paramkey"></td>
2254 <td></td>
2255 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2256 <td class="paramname"><em>output</em>, </td>
2257 </tr>
2258 <tr>
2259 <td class="paramkey"></td>
2260 <td></td>
2261 <td class="paramtype">const <a class="el" href="structarmnn_1_1_mean_descriptor.html">MeanDescriptor</a> &amp;&#160;</td>
2262 <td class="paramname"><em>descriptor</em>, </td>
2263 </tr>
2264 <tr>
2265 <td class="paramkey"></td>
2266 <td></td>
2267 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2268 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
2269 </tr>
2270 <tr>
2271 <td></td>
2272 <td>)</td>
2273 <td></td><td> const</td>
2274 </tr>
2275 </table>
2276 </td>
2277 <td class="mlabels-right">
2278<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2279 </tr>
2280</table>
2281</div><div class="memdoc">
2282
2283<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#ab268618580d4f53bf5e9b5a47dee3f6a">LayerSupportBase</a>.</p>
2284
2285<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01148">1148</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2286
2287<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>, <a class="el" href="_tensor_8hpp_source.html#l00092">TensorInfo::GetNumDimensions()</a>, <a class="el" href="_descriptors_8hpp_source.html#l00895">MeanDescriptor::m_Axis</a>, and <a class="el" href="_descriptors_8hpp_source.html#l00897">MeanDescriptor::m_KeepDims</a>.</p>
2288<div class="fragment"><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;{</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160; std::string meanLayerStr = <span class="stringliteral">&quot;Mean&quot;</span>;</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160; std::string outputTensorStr = <span class="stringliteral">&quot;output&quot;</span>;</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160; std::array&lt;DataType,4&gt; supportedTypes =</div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160; {</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160; };</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160; <span class="stringliteral">&quot;Reference Mean: input type not supported.&quot;</span>);</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;</div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160; <span class="stringliteral">&quot;Reference Mean: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160; <span class="keywordflow">if</span> (descriptor.m_KeepDims)</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160; {</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TensorNumDimensionsAreCorrect(output, input.GetNumDimensions()),</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160; CreateIncorrectDimensionsErrorMsg(input.GetNumDimensions(),</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160; output.GetNumDimensions(),</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160; meanLayerStr, outputTensorStr).data());</div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160; }</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (descriptor.m_Axis.empty())</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160; {</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TensorNumDimensionsAreCorrect(output, 1),</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160; CreateIncorrectDimensionsErrorMsg(1, output.GetNumDimensions(),</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160; meanLayerStr, outputTensorStr).data());</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160; }</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160; {</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160; <span class="keyword">auto</span> outputDim = input.GetNumDimensions() - boost::numeric_cast&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&gt;(descriptor.m_Axis.size());</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160; <span class="keywordflow">if</span> (outputDim &gt; 0)</div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160; {</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TensorNumDimensionsAreCorrect(output, outputDim),</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160; CreateIncorrectDimensionsErrorMsg(outputDim, output.GetNumDimensions(),</div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160; meanLayerStr, outputTensorStr).data());</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160; }</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160; {</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TensorNumDimensionsAreCorrect(output, 1),</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160; CreateIncorrectDimensionsErrorMsg(1, output.GetNumDimensions(),</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160; meanLayerStr, outputTensorStr).data());</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160; }</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160; }</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2289<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2290<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2291<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2292<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
2293<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2294</div><!-- fragment -->
2295</div>
2296</div>
2297<a id="a9d25fabf725313fda40a41400155bafe"></a>
2298<h2 class="memtitle"><span class="permalink"><a href="#a9d25fabf725313fda40a41400155bafe">&#9670;&nbsp;</a></span>IsMemCopySupported()</h2>
2299
2300<div class="memitem">
2301<div class="memproto">
2302<table class="mlabels">
2303 <tr>
2304 <td class="mlabels-left">
2305 <table class="memname">
2306 <tr>
2307 <td class="memname">bool IsMemCopySupported </td>
2308 <td>(</td>
2309 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2310 <td class="paramname"><em>input</em>, </td>
2311 </tr>
2312 <tr>
2313 <td class="paramkey"></td>
2314 <td></td>
2315 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2316 <td class="paramname"><em>output</em>, </td>
2317 </tr>
2318 <tr>
2319 <td class="paramkey"></td>
2320 <td></td>
2321 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2322 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
2323 </tr>
2324 <tr>
2325 <td></td>
2326 <td>)</td>
2327 <td></td><td> const</td>
2328 </tr>
2329 </table>
2330 </td>
2331 <td class="mlabels-right">
2332<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2333 </tr>
2334</table>
2335</div><div class="memdoc">
2336
2337<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a9d25fabf725313fda40a41400155bafe">LayerSupportBase</a>.</p>
2338
2339<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01217">1217</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2340
2341<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
2342<div class="fragment"><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;{</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160; std::array&lt;DataType,5&gt; supportedTypes =</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160; {</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a>,</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a27226c864bac7454a8504f8edb15d95b">DataType::Boolean</a></div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160; };</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160; <span class="stringliteral">&quot;Reference MemCopy: input type not supported&quot;</span>);</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160; <span class="stringliteral">&quot;Reference MemCopy: output type not supported&quot;</span>);</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160; <span class="stringliteral">&quot;Reference MemCopy: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;</div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2343<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a27226c864bac7454a8504f8edb15d95b"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a27226c864bac7454a8504f8edb15d95b">armnn::DataType::Boolean</a></div></div>
2344<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2345<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2346<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2347<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
2348<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2349</div><!-- fragment -->
2350</div>
2351</div>
2352<a id="aa9309ea64f9f7447efe3567f77417d29"></a>
2353<h2 class="memtitle"><span class="permalink"><a href="#aa9309ea64f9f7447efe3567f77417d29">&#9670;&nbsp;</a></span>IsMergerSupported()</h2>
2354
2355<div class="memitem">
2356<div class="memproto">
2357<table class="mlabels">
2358 <tr>
2359 <td class="mlabels-left">
2360 <table class="memname">
2361 <tr>
2362 <td class="memname">bool IsMergerSupported </td>
2363 <td>(</td>
2364 <td class="paramtype">const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> *&gt;&#160;</td>
2365 <td class="paramname"><em>inputs</em>, </td>
2366 </tr>
2367 <tr>
2368 <td class="paramkey"></td>
2369 <td></td>
2370 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2371 <td class="paramname"><em>output</em>, </td>
2372 </tr>
2373 <tr>
2374 <td class="paramkey"></td>
2375 <td></td>
2376 <td class="paramtype">const <a class="el" href="namespacearmnn.html#a003d213dd28b0b8c0f26fbf268ccb975">MergerDescriptor</a> &amp;&#160;</td>
2377 <td class="paramname"><em>descriptor</em>, </td>
2378 </tr>
2379 <tr>
2380 <td class="paramkey"></td>
2381 <td></td>
2382 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2383 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
2384 </tr>
2385 <tr>
2386 <td></td>
2387 <td>)</td>
2388 <td></td><td> const</td>
2389 </tr>
2390 </table>
2391 </td>
2392 <td class="mlabels-right">
2393<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2394 </tr>
2395</table>
2396</div><div class="memdoc">
2397
2398<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a77ae1b686e92a561de76388ac55cab06">LayerSupportBase</a>.</p>
2399
2400<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01209">1209</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2401
2402<p class="reference">References <a class="el" href="namespacearmnn.html#a757df85e956e425c1a082d35a98ca4a9">armnn::IsConcatSupported()</a>.</p>
2403<div class="fragment"><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160;{</div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_ref_layer_support.html#a3dca8ffbcb5f3afa1799aa7d354a3016">IsConcatSupported</a>(inputs, output, descriptor, reasonIfUnsupported);</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_ref_layer_support_html_a3dca8ffbcb5f3afa1799aa7d354a3016"><div class="ttname"><a href="classarmnn_1_1_ref_layer_support.html#a3dca8ffbcb5f3afa1799aa7d354a3016">armnn::RefLayerSupport::IsConcatSupported</a></div><div class="ttdeci">bool IsConcatSupported(const std::vector&lt; const TensorInfo *&gt; inputs, const TensorInfo &amp;output, const ConcatDescriptor &amp;descriptor, Optional&lt; std::string &amp;&gt; reasonIfUnsupported=EmptyOptional()) const override</div><div class="ttdef"><b>Definition:</b> <a href="_ref_layer_support_8cpp_source.html#l00321">RefLayerSupport.cpp:321</a></div></div>
2404</div><!-- fragment -->
2405</div>
2406</div>
2407<a id="a3d0eafb3de560b3482f857b56b2b2116"></a>
2408<h2 class="memtitle"><span class="permalink"><a href="#a3d0eafb3de560b3482f857b56b2b2116">&#9670;&nbsp;</a></span>IsMinimumSupported()</h2>
2409
2410<div class="memitem">
2411<div class="memproto">
2412<table class="mlabels">
2413 <tr>
2414 <td class="mlabels-left">
2415 <table class="memname">
2416 <tr>
2417 <td class="memname">bool IsMinimumSupported </td>
2418 <td>(</td>
2419 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2420 <td class="paramname"><em>input0</em>, </td>
2421 </tr>
2422 <tr>
2423 <td class="paramkey"></td>
2424 <td></td>
2425 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2426 <td class="paramname"><em>input1</em>, </td>
2427 </tr>
2428 <tr>
2429 <td class="paramkey"></td>
2430 <td></td>
2431 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2432 <td class="paramname"><em>output</em>, </td>
2433 </tr>
2434 <tr>
2435 <td class="paramkey"></td>
2436 <td></td>
2437 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2438 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
2439 </tr>
2440 <tr>
2441 <td></td>
2442 <td>)</td>
2443 <td></td><td> const</td>
2444 </tr>
2445 </table>
2446 </td>
2447 <td class="mlabels-right">
2448<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2449 </tr>
2450</table>
2451</div><div class="memdoc">
2452
2453<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a3d0eafb3de560b3482f857b56b2b2116">LayerSupportBase</a>.</p>
2454
2455<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01244">1244</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2456
2457<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
2458<div class="fragment"><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;{</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160;</div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160; std::array&lt;DataType,4&gt; supportedTypes = {</div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160; };</div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;</div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; <span class="stringliteral">&quot;Reference minimum: input 0 is not a supported type.&quot;</span>);</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input1, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160; <span class="stringliteral">&quot;Reference minimum: input 1 is not a supported type.&quot;</span>);</div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160; <span class="stringliteral">&quot;Reference minimum: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;</div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, input1), reasonIfUnsupported,</div><div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160; <span class="stringliteral">&quot;Reference minimum: input 0 and Input 1 types are mismatched&quot;</span>);</div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;</div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, output), reasonIfUnsupported,</div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; <span class="stringliteral">&quot;Reference minimum: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreBroadcastCompatible(input0, input1, output), reasonIfUnsupported,</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160; <span class="stringliteral">&quot;Reference minimum: shapes are not suitable for implicit broadcast.&quot;</span>);</div><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2459<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2460<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2461<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2462<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
2463<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2464</div><!-- fragment -->
2465</div>
2466</div>
2467<a id="a421e1f3865d99d52613003048342c49a"></a>
2468<h2 class="memtitle"><span class="permalink"><a href="#a421e1f3865d99d52613003048342c49a">&#9670;&nbsp;</a></span>IsMultiplicationSupported()</h2>
2469
2470<div class="memitem">
2471<div class="memproto">
2472<table class="mlabels">
2473 <tr>
2474 <td class="mlabels-left">
2475 <table class="memname">
2476 <tr>
2477 <td class="memname">bool IsMultiplicationSupported </td>
2478 <td>(</td>
2479 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2480 <td class="paramname"><em>input0</em>, </td>
2481 </tr>
2482 <tr>
2483 <td class="paramkey"></td>
2484 <td></td>
2485 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2486 <td class="paramname"><em>input1</em>, </td>
2487 </tr>
2488 <tr>
2489 <td class="paramkey"></td>
2490 <td></td>
2491 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2492 <td class="paramname"><em>output</em>, </td>
2493 </tr>
2494 <tr>
2495 <td class="paramkey"></td>
2496 <td></td>
2497 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2498 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
2499 </tr>
2500 <tr>
2501 <td></td>
2502 <td>)</td>
2503 <td></td><td> const</td>
2504 </tr>
2505 </table>
2506 </td>
2507 <td class="mlabels-right">
2508<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2509 </tr>
2510</table>
2511</div><div class="memdoc">
2512
2513<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a421e1f3865d99d52613003048342c49a">LayerSupportBase</a>.</p>
2514
2515<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01279">1279</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2516
2517<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
2518<div class="fragment"><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;{</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;</div><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160; std::array&lt;DataType,6&gt; supportedTypes = {</div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160; };</div><div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;</div><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160; <span class="stringliteral">&quot;Reference multiplication: input 0 is not a supported type.&quot;</span>);</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;</div><div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input1, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160; <span class="stringliteral">&quot;Reference multiplication: input 1 is not a supported type.&quot;</span>);</div><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;</div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160; <span class="stringliteral">&quot;Reference multiplication: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;</div><div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, input1), reasonIfUnsupported,</div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160; <span class="stringliteral">&quot;Reference multiplication: input 0 and Input 1 types are mismatched&quot;</span>);</div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, output), reasonIfUnsupported,</div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160; <span class="stringliteral">&quot;Reference multiplication: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;</div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreBroadcastCompatible(input0, input1, output), reasonIfUnsupported,</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160; <span class="stringliteral">&quot;Reference multiplication: shapes are not suitable for implicit broadcast.&quot;</span>);</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;</div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2519<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2520<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2521<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
2522<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2523<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
2524<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2525</div><!-- fragment -->
2526</div>
2527</div>
2528<a id="a994c2065561141bf37fcd2ff7bb4af4d"></a>
2529<h2 class="memtitle"><span class="permalink"><a href="#a994c2065561141bf37fcd2ff7bb4af4d">&#9670;&nbsp;</a></span>IsNormalizationSupported()</h2>
2530
2531<div class="memitem">
2532<div class="memproto">
2533<table class="mlabels">
2534 <tr>
2535 <td class="mlabels-left">
2536 <table class="memname">
2537 <tr>
2538 <td class="memname">bool IsNormalizationSupported </td>
2539 <td>(</td>
2540 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2541 <td class="paramname"><em>input</em>, </td>
2542 </tr>
2543 <tr>
2544 <td class="paramkey"></td>
2545 <td></td>
2546 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2547 <td class="paramname"><em>output</em>, </td>
2548 </tr>
2549 <tr>
2550 <td class="paramkey"></td>
2551 <td></td>
2552 <td class="paramtype">const <a class="el" href="structarmnn_1_1_normalization_descriptor.html">NormalizationDescriptor</a> &amp;&#160;</td>
2553 <td class="paramname"><em>descriptor</em>, </td>
2554 </tr>
2555 <tr>
2556 <td class="paramkey"></td>
2557 <td></td>
2558 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2559 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
2560 </tr>
2561 <tr>
2562 <td></td>
2563 <td>)</td>
2564 <td></td><td> const</td>
2565 </tr>
2566 </table>
2567 </td>
2568 <td class="mlabels-right">
2569<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2570 </tr>
2571</table>
2572</div><div class="memdoc">
2573
2574<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a994c2065561141bf37fcd2ff7bb4af4d">LayerSupportBase</a>.</p>
2575
2576<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01315">1315</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2577
2578<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
2579<div class="fragment"><div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160;{</div><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;</div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160; <span class="comment">// Define supported types</span></div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160; std::array&lt;DataType, 4&gt; supportedTypes =</div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; {</div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160; };</div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;</div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;</div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160; <span class="stringliteral">&quot;Reference normalization: input type not supported.&quot;</span>);</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; <span class="stringliteral">&quot;Reference normalization: output type not supported.&quot;</span>);</div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;</div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreSameTotalSize(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; <span class="stringliteral">&quot;Reference normalization: input and output shapes have different &quot;</span></div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; <span class="stringliteral">&quot;num total elements.&quot;</span>);</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2580<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2581<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2582<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2583<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
2584<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2585</div><!-- fragment -->
2586</div>
2587</div>
2588<a id="aef3244c0ef64c8f2f352d21ce0c06985"></a>
2589<h2 class="memtitle"><span class="permalink"><a href="#aef3244c0ef64c8f2f352d21ce0c06985">&#9670;&nbsp;</a></span>IsOutputSupported()</h2>
2590
2591<div class="memitem">
2592<div class="memproto">
2593<table class="mlabels">
2594 <tr>
2595 <td class="mlabels-left">
2596 <table class="memname">
2597 <tr>
2598 <td class="memname">bool IsOutputSupported </td>
2599 <td>(</td>
2600 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2601 <td class="paramname"><em>output</em>, </td>
2602 </tr>
2603 <tr>
2604 <td class="paramkey"></td>
2605 <td></td>
2606 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2607 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
2608 </tr>
2609 <tr>
2610 <td></td>
2611 <td>)</td>
2612 <td></td><td> const</td>
2613 </tr>
2614 </table>
2615 </td>
2616 <td class="mlabels-right">
2617<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2618 </tr>
2619</table>
2620</div><div class="memdoc">
2621
2622<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#aef3244c0ef64c8f2f352d21ce0c06985">LayerSupportBase</a>.</p>
2623
2624<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01346">1346</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2625<div class="fragment"><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160;{</div><div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;}</div></div><!-- fragment -->
2626</div>
2627</div>
2628<a id="a0534291adf9f3436ba331552eba29a43"></a>
2629<h2 class="memtitle"><span class="permalink"><a href="#a0534291adf9f3436ba331552eba29a43">&#9670;&nbsp;</a></span>IsPadSupported()</h2>
2630
2631<div class="memitem">
2632<div class="memproto">
2633<table class="mlabels">
2634 <tr>
2635 <td class="mlabels-left">
2636 <table class="memname">
2637 <tr>
2638 <td class="memname">bool IsPadSupported </td>
2639 <td>(</td>
2640 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2641 <td class="paramname"><em>input</em>, </td>
2642 </tr>
2643 <tr>
2644 <td class="paramkey"></td>
2645 <td></td>
2646 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2647 <td class="paramname"><em>output</em>, </td>
2648 </tr>
2649 <tr>
2650 <td class="paramkey"></td>
2651 <td></td>
2652 <td class="paramtype">const <a class="el" href="structarmnn_1_1_pad_descriptor.html">PadDescriptor</a> &amp;&#160;</td>
2653 <td class="paramname"><em>descriptor</em>, </td>
2654 </tr>
2655 <tr>
2656 <td class="paramkey"></td>
2657 <td></td>
2658 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2659 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
2660 </tr>
2661 <tr>
2662 <td></td>
2663 <td>)</td>
2664 <td></td><td> const</td>
2665 </tr>
2666 </table>
2667 </td>
2668 <td class="mlabels-right">
2669<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2670 </tr>
2671</table>
2672</div><div class="memdoc">
2673
2674<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a0534291adf9f3436ba331552eba29a43">LayerSupportBase</a>.</p>
2675
2676<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01352">1352</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2677
2678<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
2679<div class="fragment"><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;{</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;</div><div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160; <span class="comment">// Define supported output and inputs types.</span></div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160; std::array&lt;DataType,4&gt; supportedTypes =</div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160; {</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160; };</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160; <span class="stringliteral">&quot;Reference pad: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160;</div><div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160; <span class="stringliteral">&quot;Reference pad: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160;</div><div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160; <span class="stringliteral">&quot;Reference pad: input and output types are mismatched.&quot;</span>);</div><div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160;</div><div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2680<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2681<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2682<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2683<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
2684<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2685</div><!-- fragment -->
2686</div>
2687</div>
2688<a id="a9d553495d9a94fa55588ae159d8bda30"></a>
2689<h2 class="memtitle"><span class="permalink"><a href="#a9d553495d9a94fa55588ae159d8bda30">&#9670;&nbsp;</a></span>IsPermuteSupported()</h2>
2690
2691<div class="memitem">
2692<div class="memproto">
2693<table class="mlabels">
2694 <tr>
2695 <td class="mlabels-left">
2696 <table class="memname">
2697 <tr>
2698 <td class="memname">bool IsPermuteSupported </td>
2699 <td>(</td>
2700 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2701 <td class="paramname"><em>input</em>, </td>
2702 </tr>
2703 <tr>
2704 <td class="paramkey"></td>
2705 <td></td>
2706 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2707 <td class="paramname"><em>output</em>, </td>
2708 </tr>
2709 <tr>
2710 <td class="paramkey"></td>
2711 <td></td>
2712 <td class="paramtype">const <a class="el" href="structarmnn_1_1_permute_descriptor.html">PermuteDescriptor</a> &amp;&#160;</td>
2713 <td class="paramname"><em>descriptor</em>, </td>
2714 </tr>
2715 <tr>
2716 <td class="paramkey"></td>
2717 <td></td>
2718 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2719 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
2720 </tr>
2721 <tr>
2722 <td></td>
2723 <td>)</td>
2724 <td></td><td> const</td>
2725 </tr>
2726 </table>
2727 </td>
2728 <td class="mlabels-right">
2729<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2730 </tr>
2731</table>
2732</div><div class="memdoc">
2733
2734<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a9d553495d9a94fa55588ae159d8bda30">LayerSupportBase</a>.</p>
2735
2736<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01381">1381</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2737
2738<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
2739<div class="fragment"><div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;{</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160; <span class="comment">// Define supported output and inputs types.</span></div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160; std::array&lt;DataType,3&gt; supportedTypes =</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160; {</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160; };</div><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160;</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160; <span class="stringliteral">&quot;Reference permute: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160; <span class="stringliteral">&quot;Reference permute: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; <span class="stringliteral">&quot;Reference permute: input and output types are mismatched.&quot;</span>);</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160;</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2740<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2741<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2742<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2743<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
2744</div><!-- fragment -->
2745</div>
2746</div>
2747<a id="aa955675303d67b1d1fb51fb7f09d8c21"></a>
2748<h2 class="memtitle"><span class="permalink"><a href="#aa955675303d67b1d1fb51fb7f09d8c21">&#9670;&nbsp;</a></span>IsPooling2dSupported()</h2>
2749
2750<div class="memitem">
2751<div class="memproto">
2752<table class="mlabels">
2753 <tr>
2754 <td class="mlabels-left">
2755 <table class="memname">
2756 <tr>
2757 <td class="memname">bool IsPooling2dSupported </td>
2758 <td>(</td>
2759 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2760 <td class="paramname"><em>input</em>, </td>
2761 </tr>
2762 <tr>
2763 <td class="paramkey"></td>
2764 <td></td>
2765 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2766 <td class="paramname"><em>output</em>, </td>
2767 </tr>
2768 <tr>
2769 <td class="paramkey"></td>
2770 <td></td>
2771 <td class="paramtype">const <a class="el" href="structarmnn_1_1_pooling2d_descriptor.html">Pooling2dDescriptor</a> &amp;&#160;</td>
2772 <td class="paramname"><em>descriptor</em>, </td>
2773 </tr>
2774 <tr>
2775 <td class="paramkey"></td>
2776 <td></td>
2777 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2778 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
2779 </tr>
2780 <tr>
2781 <td></td>
2782 <td>)</td>
2783 <td></td><td> const</td>
2784 </tr>
2785 </table>
2786 </td>
2787 <td class="mlabels-right">
2788<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2789 </tr>
2790</table>
2791</div><div class="memdoc">
2792
2793<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#aa955675303d67b1d1fb51fb7f09d8c21">LayerSupportBase</a>.</p>
2794
2795<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01409">1409</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2796
2797<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
2798<div class="fragment"><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;{</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;</div><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160; <span class="comment">// Define supported output and inputs types.</span></div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160; std::array&lt;DataType,5&gt; supportedTypes =</div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160; {</div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160; };</div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;</div><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160; <span class="stringliteral">&quot;Reference poolind2d: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160;</div><div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160; <span class="stringliteral">&quot;Reference poolind2d: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160;</div><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160; <span class="stringliteral">&quot;Reference poolind2d: input and output types are mismatched.&quot;</span>);</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;</div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2799<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2800<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2801<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
2802<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2803<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
2804<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2805</div><!-- fragment -->
2806</div>
2807</div>
2808<a id="a4b36dcedd5edbd5142b3548967aadc2f"></a>
2809<h2 class="memtitle"><span class="permalink"><a href="#a4b36dcedd5edbd5142b3548967aadc2f">&#9670;&nbsp;</a></span>IsPreluSupported()</h2>
2810
2811<div class="memitem">
2812<div class="memproto">
2813<table class="mlabels">
2814 <tr>
2815 <td class="mlabels-left">
2816 <table class="memname">
2817 <tr>
2818 <td class="memname">bool IsPreluSupported </td>
2819 <td>(</td>
2820 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2821 <td class="paramname"><em>input</em>, </td>
2822 </tr>
2823 <tr>
2824 <td class="paramkey"></td>
2825 <td></td>
2826 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2827 <td class="paramname"><em>alpha</em>, </td>
2828 </tr>
2829 <tr>
2830 <td class="paramkey"></td>
2831 <td></td>
2832 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2833 <td class="paramname"><em>output</em>, </td>
2834 </tr>
2835 <tr>
2836 <td class="paramkey"></td>
2837 <td></td>
2838 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2839 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
2840 </tr>
2841 <tr>
2842 <td></td>
2843 <td>)</td>
2844 <td></td><td> const</td>
2845 </tr>
2846 </table>
2847 </td>
2848 <td class="mlabels-right">
2849<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2850 </tr>
2851</table>
2852</div><div class="memdoc">
2853
2854<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a93cf81b28c4275a338f41c536a451158">LayerSupportBase</a>.</p>
2855
2856<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01813">1813</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2857
2858<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
2859<div class="fragment"><div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160;{</div><div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160;</div><div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160; std::array&lt;DataType, 4&gt; supportedTypes</div><div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160; {</div><div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160; };</div><div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160;</div><div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160; <span class="stringliteral">&quot;PReLU: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160;</div><div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(alpha, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160; <span class="stringliteral">&quot;PReLU: alpha is not a supported type.&quot;</span>);</div><div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>&#160;</div><div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>&#160; <span class="stringliteral">&quot;PReLU: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>&#160;</div><div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, alpha, output), reasonIfUnsupported,</div><div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>&#160; <span class="stringliteral">&quot;PReLU: input, alpha and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>&#160;</div><div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreBroadcastCompatible(input, alpha, output), reasonIfUnsupported,</div><div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160; <span class="stringliteral">&quot;PReLU: shapes are not suitable for implicit broadcast&quot;</span>);</div><div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160;</div><div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2860<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2861<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2862<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2863<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
2864<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2865</div><!-- fragment -->
2866</div>
2867</div>
2868<a id="ad2c7be6b84b04444e514f52f593b3df7"></a>
2869<h2 class="memtitle"><span class="permalink"><a href="#ad2c7be6b84b04444e514f52f593b3df7">&#9670;&nbsp;</a></span>IsQuantizeSupported()</h2>
2870
2871<div class="memitem">
2872<div class="memproto">
2873<table class="mlabels">
2874 <tr>
2875 <td class="mlabels-left">
2876 <table class="memname">
2877 <tr>
2878 <td class="memname">bool IsQuantizeSupported </td>
2879 <td>(</td>
2880 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2881 <td class="paramname"><em>input</em>, </td>
2882 </tr>
2883 <tr>
2884 <td class="paramkey"></td>
2885 <td></td>
2886 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2887 <td class="paramname"><em>output</em>, </td>
2888 </tr>
2889 <tr>
2890 <td class="paramkey"></td>
2891 <td></td>
2892 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2893 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
2894 </tr>
2895 <tr>
2896 <td></td>
2897 <td>)</td>
2898 <td></td><td> const</td>
2899 </tr>
2900 </table>
2901 </td>
2902 <td class="mlabels-right">
2903<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2904 </tr>
2905</table>
2906</div><div class="memdoc">
2907
2908<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#ad2c7be6b84b04444e514f52f593b3df7">LayerSupportBase</a>.</p>
2909
2910<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01439">1439</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2911
2912<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
2913<div class="fragment"><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;{</div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;</div><div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160; <span class="comment">// Define supported input types.</span></div><div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160; std::array&lt;DataType,6&gt; supportedInputTypes = {</div><div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160; };</div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedInputTypes), reasonIfUnsupported,</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160; <span class="stringliteral">&quot;Reference quantize: input type not supported.&quot;</span>);</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160; <span class="comment">// Define supported output types.</span></div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; std::array&lt;DataType,4&gt; supportedOutputTypes = {</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160; DataType::QSymmS16</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160; };</div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedOutputTypes), reasonIfUnsupported,</div><div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160; <span class="stringliteral">&quot;Reference quantize: output type not supported.&quot;</span>);</div><div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160;</div><div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreSameTotalSize(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160; <span class="stringliteral">&quot;Reference quantize: input and output shapes have different num total elements.&quot;</span>);</div><div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;</div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
2914<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2915<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2916<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2917<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
2918<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2919<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
2920<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2921</div><!-- fragment -->
2922</div>
2923</div>
2924<a id="aa02f01bbcb48c67f5b2efc4132ec5e86"></a>
2925<h2 class="memtitle"><span class="permalink"><a href="#aa02f01bbcb48c67f5b2efc4132ec5e86">&#9670;&nbsp;</a></span>IsReshapeSupported()</h2>
2926
2927<div class="memitem">
2928<div class="memproto">
2929<table class="mlabels">
2930 <tr>
2931 <td class="mlabels-left">
2932 <table class="memname">
2933 <tr>
2934 <td class="memname">bool IsReshapeSupported </td>
2935 <td>(</td>
2936 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2937 <td class="paramname"><em>input</em>, </td>
2938 </tr>
2939 <tr>
2940 <td class="paramkey"></td>
2941 <td></td>
2942 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2943 <td class="paramname"><em>output</em>, </td>
2944 </tr>
2945 <tr>
2946 <td class="paramkey"></td>
2947 <td></td>
2948 <td class="paramtype">const <a class="el" href="structarmnn_1_1_reshape_descriptor.html">ReshapeDescriptor</a> &amp;&#160;</td>
2949 <td class="paramname"><em>descriptor</em>, </td>
2950 </tr>
2951 <tr>
2952 <td class="paramkey"></td>
2953 <td></td>
2954 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2955 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
2956 </tr>
2957 <tr>
2958 <td></td>
2959 <td>)</td>
2960 <td></td><td> const</td>
2961 </tr>
2962 </table>
2963 </td>
2964 <td class="mlabels-right">
2965<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2966 </tr>
2967</table>
2968</div><div class="memdoc">
2969
2970<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#aa02f01bbcb48c67f5b2efc4132ec5e86">LayerSupportBase</a>.</p>
2971
2972<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01474">1474</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
2973
2974<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
2975<div class="fragment"><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160;{</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160; ignore_unused(output);</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160; <span class="comment">// Define supported output types.</span></div><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160; std::array&lt;DataType,7&gt; supportedOutputTypes =</div><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160; {</div><div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a>,</div><div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160; };</div><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;</div><div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedOutputTypes), reasonIfUnsupported,</div><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160; <span class="stringliteral">&quot;Reference reshape: input type not supported.&quot;</span>);</div><div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2976<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2977<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
2978<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2979<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
2980<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
2981<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2982</div><!-- fragment -->
2983</div>
2984</div>
2985<a id="a0f29f31e1ba46a52eedcdecd34f4cc24"></a>
2986<h2 class="memtitle"><span class="permalink"><a href="#a0f29f31e1ba46a52eedcdecd34f4cc24">&#9670;&nbsp;</a></span>IsResizeBilinearSupported()</h2>
2987
2988<div class="memitem">
2989<div class="memproto">
2990<table class="mlabels">
2991 <tr>
2992 <td class="mlabels-left">
2993 <table class="memname">
2994 <tr>
2995 <td class="memname">bool IsResizeBilinearSupported </td>
2996 <td>(</td>
2997 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
2998 <td class="paramname"><em>input</em>, </td>
2999 </tr>
3000 <tr>
3001 <td class="paramkey"></td>
3002 <td></td>
3003 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3004 <td class="paramname"><em>output</em>, </td>
3005 </tr>
3006 <tr>
3007 <td class="paramkey"></td>
3008 <td></td>
3009 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3010 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
3011 </tr>
3012 <tr>
3013 <td></td>
3014 <td>)</td>
3015 <td></td><td> const</td>
3016 </tr>
3017 </table>
3018 </td>
3019 <td class="mlabels-right">
3020<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3021 </tr>
3022</table>
3023</div><div class="memdoc">
3024
3025<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a0f29f31e1ba46a52eedcdecd34f4cc24">LayerSupportBase</a>.</p>
3026
3027<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01496">1496</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
3028
3029<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
3030<div class="fragment"><div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160;{</div><div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160; std::array&lt;DataType,4&gt; supportedTypes =</div><div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160; {</div><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160; };</div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160;</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160; <span class="stringliteral">&quot;Reference ResizeBilinear: input type not supported&quot;</span>);</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;</div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160; <span class="stringliteral">&quot;Reference ResizeBilinear: output type not supported&quot;</span>);</div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160;</div><div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160; <span class="stringliteral">&quot;Reference ResizeBilinear: input and output types not matching&quot;</span>);</div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3031<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3032<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3033<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3034<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
3035<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3036</div><!-- fragment -->
3037</div>
3038</div>
3039<a id="a3d27a3fc6a7df0b68d80cb113aff8b6c"></a>
3040<h2 class="memtitle"><span class="permalink"><a href="#a3d27a3fc6a7df0b68d80cb113aff8b6c">&#9670;&nbsp;</a></span>IsResizeSupported()</h2>
3041
3042<div class="memitem">
3043<div class="memproto">
3044<table class="mlabels">
3045 <tr>
3046 <td class="mlabels-left">
3047 <table class="memname">
3048 <tr>
3049 <td class="memname">bool IsResizeSupported </td>
3050 <td>(</td>
3051 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3052 <td class="paramname"><em>input</em>, </td>
3053 </tr>
3054 <tr>
3055 <td class="paramkey"></td>
3056 <td></td>
3057 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3058 <td class="paramname"><em>output</em>, </td>
3059 </tr>
3060 <tr>
3061 <td class="paramkey"></td>
3062 <td></td>
3063 <td class="paramtype">const <a class="el" href="structarmnn_1_1_resize_descriptor.html">ResizeDescriptor</a> &amp;&#160;</td>
3064 <td class="paramname"><em>descriptor</em>, </td>
3065 </tr>
3066 <tr>
3067 <td class="paramkey"></td>
3068 <td></td>
3069 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3070 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
3071 </tr>
3072 <tr>
3073 <td></td>
3074 <td>)</td>
3075 <td></td><td> const</td>
3076 </tr>
3077 </table>
3078 </td>
3079 <td class="mlabels-right">
3080<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3081 </tr>
3082</table>
3083</div><div class="memdoc">
3084
3085<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a3d27a3fc6a7df0b68d80cb113aff8b6c">LayerSupportBase</a>.</p>
3086
3087<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01521">1521</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
3088
3089<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
3090<div class="fragment"><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;{</div><div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160; boost::ignore_unused(descriptor);</div><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160; std::array&lt;DataType,5&gt; supportedTypes =</div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160; {</div><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160; };</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160;</div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160; <span class="stringliteral">&quot;Reference Resize: input type not supported&quot;</span>);</div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;</div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160; <span class="stringliteral">&quot;Reference Resize: output type not supported&quot;</span>);</div><div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160;</div><div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160; <span class="stringliteral">&quot;Reference Resize: input and output types not matching&quot;</span>);</div><div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160;</div><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3091<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3092<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3093<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
3094<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3095<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
3096<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3097</div><!-- fragment -->
3098</div>
3099</div>
3100<a id="a10ae4d84b0d31580f6fcd5107322ebcf"></a>
3101<h2 class="memtitle"><span class="permalink"><a href="#a10ae4d84b0d31580f6fcd5107322ebcf">&#9670;&nbsp;</a></span>IsRsqrtSupported()</h2>
3102
3103<div class="memitem">
3104<div class="memproto">
3105<table class="mlabels">
3106 <tr>
3107 <td class="mlabels-left">
3108 <table class="memname">
3109 <tr>
3110 <td class="memname">bool IsRsqrtSupported </td>
3111 <td>(</td>
3112 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3113 <td class="paramname"><em>input</em>, </td>
3114 </tr>
3115 <tr>
3116 <td class="paramkey"></td>
3117 <td></td>
3118 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3119 <td class="paramname"><em>output</em>, </td>
3120 </tr>
3121 <tr>
3122 <td class="paramkey"></td>
3123 <td></td>
3124 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3125 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
3126 </tr>
3127 <tr>
3128 <td></td>
3129 <td>)</td>
3130 <td></td><td> const</td>
3131 </tr>
3132 </table>
3133 </td>
3134 <td class="mlabels-right">
3135<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3136 </tr>
3137</table>
3138</div><div class="memdoc">
3139
3140<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a10ae4d84b0d31580f6fcd5107322ebcf">LayerSupportBase</a>.</p>
3141
3142<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01549">1549</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
3143<div class="fragment"><div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160;{</div><div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_ref_layer_support.html#a61c5b4e5dc224ef0c876e43353b34030">IsElementwiseUnarySupported</a>(input,</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160; output,</div><div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160; ElementwiseUnaryDescriptor(<a class="code" href="namespacearmnn.html#a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4">UnaryOperation::Rsqrt</a>),</div><div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160; reasonIfUnsupported);</div><div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_ref_layer_support_html_a61c5b4e5dc224ef0c876e43353b34030"><div class="ttname"><a href="classarmnn_1_1_ref_layer_support.html#a61c5b4e5dc224ef0c876e43353b34030">armnn::RefLayerSupport::IsElementwiseUnarySupported</a></div><div class="ttdeci">bool IsElementwiseUnarySupported(const TensorInfo &amp;input, const TensorInfo &amp;output, const ElementwiseUnaryDescriptor &amp;descriptor, Optional&lt; std::string &amp;&gt; reasonIfUnsupported=EmptyOptional()) const override</div><div class="ttdef"><b>Definition:</b> <a href="_ref_layer_support_8cpp_source.html#l00721">RefLayerSupport.cpp:721</a></div></div>
3144<div class="ttc" id="namespacearmnn_html_a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4"><div class="ttname"><a href="namespacearmnn.html#a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4">armnn::UnaryOperation::Rsqrt</a></div></div>
3145</div><!-- fragment -->
3146</div>
3147</div>
3148<a id="a0e14dafa85cfcd4a6b6b752284b51e63"></a>
3149<h2 class="memtitle"><span class="permalink"><a href="#a0e14dafa85cfcd4a6b6b752284b51e63">&#9670;&nbsp;</a></span>IsSliceSupported()</h2>
3150
3151<div class="memitem">
3152<div class="memproto">
3153<table class="mlabels">
3154 <tr>
3155 <td class="mlabels-left">
3156 <table class="memname">
3157 <tr>
3158 <td class="memname">bool IsSliceSupported </td>
3159 <td>(</td>
3160 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3161 <td class="paramname"><em>input</em>, </td>
3162 </tr>
3163 <tr>
3164 <td class="paramkey"></td>
3165 <td></td>
3166 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3167 <td class="paramname"><em>output</em>, </td>
3168 </tr>
3169 <tr>
3170 <td class="paramkey"></td>
3171 <td></td>
3172 <td class="paramtype">const <a class="el" href="structarmnn_1_1_slice_descriptor.html">SliceDescriptor</a> &amp;&#160;</td>
3173 <td class="paramname"><em>descriptor</em>, </td>
3174 </tr>
3175 <tr>
3176 <td class="paramkey"></td>
3177 <td></td>
3178 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3179 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
3180 </tr>
3181 <tr>
3182 <td></td>
3183 <td>)</td>
3184 <td></td><td> const</td>
3185 </tr>
3186 </table>
3187 </td>
3188 <td class="mlabels-right">
3189<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3190 </tr>
3191</table>
3192</div><div class="memdoc">
3193
3194<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a0e14dafa85cfcd4a6b6b752284b51e63">LayerSupportBase</a>.</p>
3195
3196<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01559">1559</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
3197
3198<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
3199<div class="fragment"><div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160;{</div><div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160; boost::ignore_unused(descriptor);</div><div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160;</div><div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160; std::array&lt;DataType, 3&gt; supportedTypes =</div><div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160; {</div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160; };</div><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;</div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160; <span class="stringliteral">&quot;Reference Slice: input type not supported&quot;</span>);</div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;</div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160; <span class="stringliteral">&quot;Reference Slice: output type not supported&quot;</span>);</div><div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160;</div><div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160; <span class="stringliteral">&quot;Reference Slice: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;</div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3200<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3201<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3202<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3203<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
3204</div><!-- fragment -->
3205</div>
3206</div>
3207<a id="a8385cf8227907904a6a86fac318fc099"></a>
3208<h2 class="memtitle"><span class="permalink"><a href="#a8385cf8227907904a6a86fac318fc099">&#9670;&nbsp;</a></span>IsSoftmaxSupported()</h2>
3209
3210<div class="memitem">
3211<div class="memproto">
3212<table class="mlabels">
3213 <tr>
3214 <td class="mlabels-left">
3215 <table class="memname">
3216 <tr>
3217 <td class="memname">bool IsSoftmaxSupported </td>
3218 <td>(</td>
3219 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3220 <td class="paramname"><em>input</em>, </td>
3221 </tr>
3222 <tr>
3223 <td class="paramkey"></td>
3224 <td></td>
3225 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3226 <td class="paramname"><em>output</em>, </td>
3227 </tr>
3228 <tr>
3229 <td class="paramkey"></td>
3230 <td></td>
3231 <td class="paramtype">const <a class="el" href="structarmnn_1_1_softmax_descriptor.html">SoftmaxDescriptor</a> &amp;&#160;</td>
3232 <td class="paramname"><em>descriptor</em>, </td>
3233 </tr>
3234 <tr>
3235 <td class="paramkey"></td>
3236 <td></td>
3237 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3238 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
3239 </tr>
3240 <tr>
3241 <td></td>
3242 <td>)</td>
3243 <td></td><td> const</td>
3244 </tr>
3245 </table>
3246 </td>
3247 <td class="mlabels-right">
3248<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3249 </tr>
3250</table>
3251</div><div class="memdoc">
3252
3253<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a8385cf8227907904a6a86fac318fc099">LayerSupportBase</a>.</p>
3254
3255<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01586">1586</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
3256
3257<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
3258<div class="fragment"><div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160;{</div><div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160; boost::ignore_unused(descriptor);</div><div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160; std::array&lt;DataType,6&gt; supportedTypes =</div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160; {</div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160; };</div><div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160;</div><div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160; <span class="stringliteral">&quot;Reference Softmax: output type not supported&quot;</span>);</div><div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160;</div><div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160; <span class="stringliteral">&quot;Reference Softmax: input type not supported&quot;</span>);</div><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160;</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160; <span class="stringliteral">&quot;Reference Softmax: input type not supported&quot;</span>);</div><div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160;</div><div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
3259<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3260<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3261<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3262<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
3263<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3264<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
3265<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3266</div><!-- fragment -->
3267</div>
3268</div>
3269<a id="a3adfc31e079a970e028e537ec05fabf5"></a>
3270<h2 class="memtitle"><span class="permalink"><a href="#a3adfc31e079a970e028e537ec05fabf5">&#9670;&nbsp;</a></span>IsSpaceToBatchNdSupported()</h2>
3271
3272<div class="memitem">
3273<div class="memproto">
3274<table class="mlabels">
3275 <tr>
3276 <td class="mlabels-left">
3277 <table class="memname">
3278 <tr>
3279 <td class="memname">bool IsSpaceToBatchNdSupported </td>
3280 <td>(</td>
3281 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3282 <td class="paramname"><em>input</em>, </td>
3283 </tr>
3284 <tr>
3285 <td class="paramkey"></td>
3286 <td></td>
3287 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3288 <td class="paramname"><em>output</em>, </td>
3289 </tr>
3290 <tr>
3291 <td class="paramkey"></td>
3292 <td></td>
3293 <td class="paramtype">const <a class="el" href="structarmnn_1_1_space_to_batch_nd_descriptor.html">SpaceToBatchNdDescriptor</a> &amp;&#160;</td>
3294 <td class="paramname"><em>descriptor</em>, </td>
3295 </tr>
3296 <tr>
3297 <td class="paramkey"></td>
3298 <td></td>
3299 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3300 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
3301 </tr>
3302 <tr>
3303 <td></td>
3304 <td>)</td>
3305 <td></td><td> const</td>
3306 </tr>
3307 </table>
3308 </td>
3309 <td class="mlabels-right">
3310<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3311 </tr>
3312</table>
3313</div><div class="memdoc">
3314
3315<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a3adfc31e079a970e028e537ec05fabf5">LayerSupportBase</a>.</p>
3316
3317<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01615">1615</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
3318
3319<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
3320<div class="fragment"><div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160;{</div><div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160; boost::ignore_unused(descriptor);</div><div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160; std::array&lt;DataType,4&gt; supportedTypes =</div><div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160; {</div><div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160; };</div><div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160;</div><div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160; <span class="stringliteral">&quot;Reference SpaceToBatchNd: input type not supported&quot;</span>);</div><div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160;</div><div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160; <span class="stringliteral">&quot;Reference SpaceToBatchNd: output type not supported&quot;</span>);</div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;</div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160; <span class="stringliteral">&quot;Reference SpaceToBatchNd: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;</div><div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3321<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3322<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3323<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3324<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
3325<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3326</div><!-- fragment -->
3327</div>
3328</div>
3329<a id="ab2af1e7da9490d29e569d271e16b0d5c"></a>
3330<h2 class="memtitle"><span class="permalink"><a href="#ab2af1e7da9490d29e569d271e16b0d5c">&#9670;&nbsp;</a></span>IsSpaceToDepthSupported()</h2>
3331
3332<div class="memitem">
3333<div class="memproto">
3334<table class="mlabels">
3335 <tr>
3336 <td class="mlabels-left">
3337 <table class="memname">
3338 <tr>
3339 <td class="memname">bool IsSpaceToDepthSupported </td>
3340 <td>(</td>
3341 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3342 <td class="paramname"><em>input</em>, </td>
3343 </tr>
3344 <tr>
3345 <td class="paramkey"></td>
3346 <td></td>
3347 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3348 <td class="paramname"><em>output</em>, </td>
3349 </tr>
3350 <tr>
3351 <td class="paramkey"></td>
3352 <td></td>
3353 <td class="paramtype">const <a class="el" href="structarmnn_1_1_space_to_depth_descriptor.html">SpaceToDepthDescriptor</a> &amp;&#160;</td>
3354 <td class="paramname"><em>descriptor</em>, </td>
3355 </tr>
3356 <tr>
3357 <td class="paramkey"></td>
3358 <td></td>
3359 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3360 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
3361 </tr>
3362 <tr>
3363 <td></td>
3364 <td>)</td>
3365 <td></td><td> const</td>
3366 </tr>
3367 </table>
3368 </td>
3369 <td class="mlabels-right">
3370<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3371 </tr>
3372</table>
3373</div><div class="memdoc">
3374
3375<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#ab2af1e7da9490d29e569d271e16b0d5c">LayerSupportBase</a>.</p>
3376
3377<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01642">1642</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
3378
3379<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
3380<div class="fragment"><div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160;{</div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160;</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;</div><div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160; std::array&lt;DataType,4&gt; supportedTypes =</div><div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160; {</div><div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160; };</div><div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160;</div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160; <span class="stringliteral">&quot;Reference SpaceToDepth: input type not supported&quot;</span>);</div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160;</div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160; <span class="stringliteral">&quot;Reference SpaceToDepth: output type not supported&quot;</span>);</div><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160;</div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160; <span class="stringliteral">&quot;Reference SpaceToDepth: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160;</div><div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3381<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3382<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3383<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3384<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
3385<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3386</div><!-- fragment -->
3387</div>
3388</div>
3389<a id="a17dd12822d49a23d24198f425a6fb9c4"></a>
3390<h2 class="memtitle"><span class="permalink"><a href="#a17dd12822d49a23d24198f425a6fb9c4">&#9670;&nbsp;</a></span>IsSplitterSupported() <span class="overload">[1/2]</span></h2>
3391
3392<div class="memitem">
3393<div class="memproto">
3394<table class="mlabels">
3395 <tr>
3396 <td class="mlabels-left">
3397 <table class="memname">
3398 <tr>
3399 <td class="memname">bool IsSplitterSupported </td>
3400 <td>(</td>
3401 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3402 <td class="paramname"><em>input</em>, </td>
3403 </tr>
3404 <tr>
3405 <td class="paramkey"></td>
3406 <td></td>
3407 <td class="paramtype">const <a class="el" href="structarmnn_1_1_views_descriptor.html">ViewsDescriptor</a> &amp;&#160;</td>
3408 <td class="paramname"><em>descriptor</em>, </td>
3409 </tr>
3410 <tr>
3411 <td class="paramkey"></td>
3412 <td></td>
3413 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3414 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
3415 </tr>
3416 <tr>
3417 <td></td>
3418 <td>)</td>
3419 <td></td><td> const</td>
3420 </tr>
3421 </table>
3422 </td>
3423 <td class="mlabels-right">
3424<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3425 </tr>
3426</table>
3427</div><div class="memdoc">
3428
3429<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a17dd12822d49a23d24198f425a6fb9c4">LayerSupportBase</a>.</p>
3430
3431<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01671">1671</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
3432
3433<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
3434<div class="fragment"><div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160;{</div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160; std::array&lt;DataType,4&gt; supportedTypes =</div><div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160; {</div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160; };</div><div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160;</div><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; <span class="stringliteral">&quot;Reference splitter: input type not supported&quot;</span>);</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160;</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3435<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3436<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3437<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3438<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
3439<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3440</div><!-- fragment -->
3441</div>
3442</div>
3443<a id="aa746e752ce8874669ea549f8e50896da"></a>
3444<h2 class="memtitle"><span class="permalink"><a href="#aa746e752ce8874669ea549f8e50896da">&#9670;&nbsp;</a></span>IsSplitterSupported() <span class="overload">[2/2]</span></h2>
3445
3446<div class="memitem">
3447<div class="memproto">
3448<table class="mlabels">
3449 <tr>
3450 <td class="mlabels-left">
3451 <table class="memname">
3452 <tr>
3453 <td class="memname">bool IsSplitterSupported </td>
3454 <td>(</td>
3455 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3456 <td class="paramname"><em>input</em>, </td>
3457 </tr>
3458 <tr>
3459 <td class="paramkey"></td>
3460 <td></td>
3461 <td class="paramtype">const std::vector&lt; std::reference_wrapper&lt; <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &gt;&gt; &amp;&#160;</td>
3462 <td class="paramname"><em>outputs</em>, </td>
3463 </tr>
3464 <tr>
3465 <td class="paramkey"></td>
3466 <td></td>
3467 <td class="paramtype">const <a class="el" href="structarmnn_1_1_views_descriptor.html">ViewsDescriptor</a> &amp;&#160;</td>
3468 <td class="paramname"><em>descriptor</em>, </td>
3469 </tr>
3470 <tr>
3471 <td class="paramkey"></td>
3472 <td></td>
3473 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3474 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
3475 </tr>
3476 <tr>
3477 <td></td>
3478 <td>)</td>
3479 <td></td><td> const</td>
3480 </tr>
3481 </table>
3482 </td>
3483 <td class="mlabels-right">
3484<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3485 </tr>
3486</table>
3487</div><div class="memdoc">
3488
3489<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#aa746e752ce8874669ea549f8e50896da">LayerSupportBase</a>.</p>
3490
3491<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01691">1691</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
3492
3493<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
3494<div class="fragment"><div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160;{</div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160; std::array&lt;DataType,4&gt; supportedTypes =</div><div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160; {</div><div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160; };</div><div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160;</div><div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160; <span class="stringliteral">&quot;Reference splitter: output type not supported&quot;</span>);</div><div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> TensorInfo output : outputs)</div><div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160; {</div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; <span class="stringliteral">&quot;Reference splitter: input type not supported&quot;</span>);</div><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160;</div><div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160; <span class="stringliteral">&quot;Reference splitter: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160; }</div><div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;</div><div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3495<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3496<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3497<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3498<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
3499<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3500</div><!-- fragment -->
3501</div>
3502</div>
3503<a id="ab4609f1baf5fcd295951f3c8abdffd90"></a>
3504<h2 class="memtitle"><span class="permalink"><a href="#ab4609f1baf5fcd295951f3c8abdffd90">&#9670;&nbsp;</a></span>IsStackSupported()</h2>
3505
3506<div class="memitem">
3507<div class="memproto">
3508<table class="mlabels">
3509 <tr>
3510 <td class="mlabels-left">
3511 <table class="memname">
3512 <tr>
3513 <td class="memname">bool IsStackSupported </td>
3514 <td>(</td>
3515 <td class="paramtype">const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> *&gt; &amp;&#160;</td>
3516 <td class="paramname"><em>inputs</em>, </td>
3517 </tr>
3518 <tr>
3519 <td class="paramkey"></td>
3520 <td></td>
3521 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3522 <td class="paramname"><em>output</em>, </td>
3523 </tr>
3524 <tr>
3525 <td class="paramkey"></td>
3526 <td></td>
3527 <td class="paramtype">const <a class="el" href="structarmnn_1_1_stack_descriptor.html">StackDescriptor</a> &amp;&#160;</td>
3528 <td class="paramname"><em>descriptor</em>, </td>
3529 </tr>
3530 <tr>
3531 <td class="paramkey"></td>
3532 <td></td>
3533 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3534 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
3535 </tr>
3536 <tr>
3537 <td></td>
3538 <td>)</td>
3539 <td></td><td> const</td>
3540 </tr>
3541 </table>
3542 </td>
3543 <td class="mlabels-right">
3544<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3545 </tr>
3546</table>
3547</div><div class="memdoc">
3548
3549<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#ab4609f1baf5fcd295951f3c8abdffd90">LayerSupportBase</a>.</p>
3550
3551<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01720">1720</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
3552
3553<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
3554<div class="fragment"><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160;{</div><div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160;</div><div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160; std::array&lt;DataType,4&gt; supportedTypes =</div><div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160; {</div><div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160; };</div><div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160;</div><div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160; <span class="stringliteral">&quot;Reference stack: output type not supported&quot;</span>);</div><div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> TensorInfo* input : inputs)</div><div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160; {</div><div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160; BOOST_ASSERT(input != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(*input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160; <span class="stringliteral">&quot;Reference stack: input type not supported&quot;</span>);</div><div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160;</div><div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(*input, output), reasonIfUnsupported,</div><div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160; <span class="stringliteral">&quot;Reference stack: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160; }</div><div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160;</div><div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3555<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3556<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3557<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3558<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
3559<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3560</div><!-- fragment -->
3561</div>
3562</div>
3563<a id="ac054cb25099005eac854afb1511340f0"></a>
3564<h2 class="memtitle"><span class="permalink"><a href="#ac054cb25099005eac854afb1511340f0">&#9670;&nbsp;</a></span>IsStridedSliceSupported()</h2>
3565
3566<div class="memitem">
3567<div class="memproto">
3568<table class="mlabels">
3569 <tr>
3570 <td class="mlabels-left">
3571 <table class="memname">
3572 <tr>
3573 <td class="memname">bool IsStridedSliceSupported </td>
3574 <td>(</td>
3575 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3576 <td class="paramname"><em>input</em>, </td>
3577 </tr>
3578 <tr>
3579 <td class="paramkey"></td>
3580 <td></td>
3581 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3582 <td class="paramname"><em>output</em>, </td>
3583 </tr>
3584 <tr>
3585 <td class="paramkey"></td>
3586 <td></td>
3587 <td class="paramtype">const <a class="el" href="structarmnn_1_1_strided_slice_descriptor.html">StridedSliceDescriptor</a> &amp;&#160;</td>
3588 <td class="paramname"><em>descriptor</em>, </td>
3589 </tr>
3590 <tr>
3591 <td class="paramkey"></td>
3592 <td></td>
3593 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3594 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
3595 </tr>
3596 <tr>
3597 <td></td>
3598 <td>)</td>
3599 <td></td><td> const</td>
3600 </tr>
3601 </table>
3602 </td>
3603 <td class="mlabels-right">
3604<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3605 </tr>
3606</table>
3607</div><div class="memdoc">
3608
3609<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#ac054cb25099005eac854afb1511340f0">LayerSupportBase</a>.</p>
3610
3611<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01751">1751</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
3612
3613<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
3614<div class="fragment"><div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160;{</div><div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160; ignore_unused(descriptor);</div><div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160;</div><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160; std::array&lt;DataType,3&gt; supportedTypes =</div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160; {</div><div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160; };</div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160;</div><div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160; <span class="stringliteral">&quot;Reference StridedSlice: input type not supported&quot;</span>);</div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160;</div><div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160; <span class="stringliteral">&quot;Reference StridedSlice: output type not supported&quot;</span>);</div><div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160;</div><div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160; <span class="stringliteral">&quot;Reference StridedSlice: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160;</div><div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3615<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3616<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3617<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3618<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
3619</div><!-- fragment -->
3620</div>
3621</div>
3622<a id="af6c947e4d4b25bc49d92d18d4ff26736"></a>
3623<h2 class="memtitle"><span class="permalink"><a href="#af6c947e4d4b25bc49d92d18d4ff26736">&#9670;&nbsp;</a></span>IsSubtractionSupported()</h2>
3624
3625<div class="memitem">
3626<div class="memproto">
3627<table class="mlabels">
3628 <tr>
3629 <td class="mlabels-left">
3630 <table class="memname">
3631 <tr>
3632 <td class="memname">bool IsSubtractionSupported </td>
3633 <td>(</td>
3634 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3635 <td class="paramname"><em>input0</em>, </td>
3636 </tr>
3637 <tr>
3638 <td class="paramkey"></td>
3639 <td></td>
3640 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3641 <td class="paramname"><em>input1</em>, </td>
3642 </tr>
3643 <tr>
3644 <td class="paramkey"></td>
3645 <td></td>
3646 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3647 <td class="paramname"><em>output</em>, </td>
3648 </tr>
3649 <tr>
3650 <td class="paramkey"></td>
3651 <td></td>
3652 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3653 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
3654 </tr>
3655 <tr>
3656 <td></td>
3657 <td>)</td>
3658 <td></td><td> const</td>
3659 </tr>
3660 </table>
3661 </td>
3662 <td class="mlabels-right">
3663<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3664 </tr>
3665</table>
3666</div><div class="memdoc">
3667
3668<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#af6c947e4d4b25bc49d92d18d4ff26736">LayerSupportBase</a>.</p>
3669
3670<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01778">1778</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
3671
3672<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>.</p>
3673<div class="fragment"><div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160;{</div><div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160;</div><div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160; std::array&lt;DataType,4&gt; supportedTypes = {</div><div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160; };</div><div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160;</div><div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160; <span class="stringliteral">&quot;Reference subtraction: input 0 is not a supported type.&quot;</span>);</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160;</div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input1, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160; <span class="stringliteral">&quot;Reference subtraction: input 1 is not a supported type.&quot;</span>);</div><div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160;</div><div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160; <span class="stringliteral">&quot;Reference subtraction: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160;</div><div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, input1), reasonIfUnsupported,</div><div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160; <span class="stringliteral">&quot;Reference subtraction: input 0 and Input 1 types are mismatched&quot;</span>);</div><div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160;</div><div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, output), reasonIfUnsupported,</div><div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160; <span class="stringliteral">&quot;Reference subtraction: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160;</div><div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreBroadcastCompatible(input0, input1, output), reasonIfUnsupported,</div><div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160; <span class="stringliteral">&quot;Reference subtraction: shapes are not suitable for implicit broadcast.&quot;</span>);</div><div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160;</div><div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3674<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3675<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3676<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3677<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
3678<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3679</div><!-- fragment -->
3680</div>
3681</div>
3682<a id="a0c69484f19ed650ad48b716719114e51"></a>
3683<h2 class="memtitle"><span class="permalink"><a href="#a0c69484f19ed650ad48b716719114e51">&#9670;&nbsp;</a></span>IsTransposeConvolution2dSupported()</h2>
3684
3685<div class="memitem">
3686<div class="memproto">
3687<table class="mlabels">
3688 <tr>
3689 <td class="mlabels-left">
3690 <table class="memname">
3691 <tr>
3692 <td class="memname">bool IsTransposeConvolution2dSupported </td>
3693 <td>(</td>
3694 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3695 <td class="paramname"><em>input</em>, </td>
3696 </tr>
3697 <tr>
3698 <td class="paramkey"></td>
3699 <td></td>
3700 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3701 <td class="paramname"><em>output</em>, </td>
3702 </tr>
3703 <tr>
3704 <td class="paramkey"></td>
3705 <td></td>
3706 <td class="paramtype">const <a class="el" href="structarmnn_1_1_transpose_convolution2d_descriptor.html">TransposeConvolution2dDescriptor</a> &amp;&#160;</td>
3707 <td class="paramname"><em>descriptor</em>, </td>
3708 </tr>
3709 <tr>
3710 <td class="paramkey"></td>
3711 <td></td>
3712 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &amp;&#160;</td>
3713 <td class="paramname"><em>weights</em>, </td>
3714 </tr>
3715 <tr>
3716 <td class="paramkey"></td>
3717 <td></td>
3718 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.html">TensorInfo</a> &gt; &amp;&#160;</td>
3719 <td class="paramname"><em>biases</em>, </td>
3720 </tr>
3721 <tr>
3722 <td class="paramkey"></td>
3723 <td></td>
3724 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.html">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3725 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.html">EmptyOptional</a>()</code>&#160;</td>
3726 </tr>
3727 <tr>
3728 <td></td>
3729 <td>)</td>
3730 <td></td><td> const</td>
3731 </tr>
3732 </table>
3733 </td>
3734 <td class="mlabels-right">
3735<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3736 </tr>
3737</table>
3738</div><div class="memdoc">
3739
3740<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.html#a0c69484f19ed650ad48b716719114e51">LayerSupportBase</a>.</p>
3741
3742<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.html#l01846">1846</a> of file <a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a>.</p>
3743
3744<p class="reference">References <a class="el" href="_deprecated_8hpp_source.html#l00033">ARMNN_NO_DEPRECATE_WARN_BEGIN</a>, <a class="el" href="_deprecated_8hpp_source.html#l00034">ARMNN_NO_DEPRECATE_WARN_END</a>, <a class="el" href="_layer_support_rules_8hpp_source.html#l00037">armnn::CheckSupportRule()</a>, <a class="el" href="_tensor_8hpp_source.html#l00095">TensorInfo::GetDataType()</a>, <a class="el" href="_optional_8hpp_source.html#l00053">OptionalBase::has_value()</a>, and <a class="el" href="_optional_8hpp_source.html#l00146">OptionalReferenceSwitch&lt; std::is_reference&lt; T &gt;::value, T &gt;::value()</a>.</p>
3745<div class="fragment"><div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>&#160;{</div><div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160; boost::ignore_unused(descriptor);</div><div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160;</div><div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>&#160; std::array&lt;DataType,4&gt; supportedTypes =</div><div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160; {</div><div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160; };</div><div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160;</div><div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160; <span class="stringliteral">&quot;Reference TransposeConvolution2d: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160;</div><div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160; <span class="stringliteral">&quot;Reference TransposeConvolution2d: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160;</div><div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160; <span class="stringliteral">&quot;Reference TransposeConvolution2d: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160;</div><div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160;</div><div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> inputType = input.GetDataType();</div><div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160; <span class="keywordflow">if</span> (inputType == <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>)</div><div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160; {</div><div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160; <a class="code" href="_deprecated_8hpp.html#ab66a241a0ed3ee89c866e777b035d0ed">ARMNN_NO_DEPRECATE_WARN_BEGIN</a></div><div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160; std::array&lt;DataType, 3&gt; supportedWeightTypes =</div><div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160; {</div><div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d">DataType::QuantizedSymm8PerAxis</a> <span class="comment">//Deprecated</span></div><div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160; };</div><div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160; <a class="code" href="_deprecated_8hpp.html#ad762b11b48e5c1d1c1743f529485728a">ARMNN_NO_DEPRECATE_WARN_END</a></div><div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>&#160;</div><div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedWeightTypes), reasonIfUnsupported,</div><div class="line"><a name="l01887"></a><span class="lineno"> 1887</span>&#160; <span class="stringliteral">&quot;Reference TransposeConvolution2d: weights type not supported for &quot;</span></div><div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>&#160; <span class="stringliteral">&quot;quantized input.&quot;</span>);</div><div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>&#160; }</div><div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>&#160; {</div><div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>&#160; <span class="stringliteral">&quot;Reference TransposeConvolution2d: weights is not a supported type.&quot;</span>);</div><div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160;</div><div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, weights), reasonIfUnsupported,</div><div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160; <span class="stringliteral">&quot;Reference TransposeConvolution2d: input and weights types mismatched.&quot;</span>);</div><div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>&#160; }</div><div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160;</div><div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160; <span class="keywordflow">if</span> (biases.has_value())</div><div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160; {</div><div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160; std::array&lt;DataType,3&gt; biasesSupportedTypes =</div><div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160; {</div><div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160; <a class="code" href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a></div><div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160; };</div><div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(biases.value(), biasesSupportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160; <span class="stringliteral">&quot;Reference TransposeConvolution2d: biases is not a supported type.&quot;</span>);</div><div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>&#160; }</div><div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>&#160;</div><div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160;}</div><div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
3746<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3747<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3748<div class="ttc" id="namespacearmnn_html_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.html#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.html#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3749<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3750<div class="ttc" id="_deprecated_8hpp_html_ab66a241a0ed3ee89c866e777b035d0ed"><div class="ttname"><a href="_deprecated_8hpp.html#ab66a241a0ed3ee89c866e777b035d0ed">ARMNN_NO_DEPRECATE_WARN_BEGIN</a></div><div class="ttdeci">#define ARMNN_NO_DEPRECATE_WARN_BEGIN</div><div class="ttdef"><b>Definition:</b> <a href="_deprecated_8hpp_source.html#l00033">Deprecated.hpp:33</a></div></div>
3751<div class="ttc" id="namespacearmnn_html_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.html#acea2d8c53b441e24b6d60b090fda37c9">armnn::CheckSupportRule</a></div><div class="ttdeci">bool CheckSupportRule(F rule, Optional&lt; std::string &amp;&gt; reasonIfUnsupported, const char *reason)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_rules_8hpp_source.html#l00037">LayerSupportRules.hpp:37</a></div></div>
3752<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d">armnn::DataType::QuantizedSymm8PerAxis</a></div></div>
3753<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
3754<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6">armnn::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.html#l00032">Types.hpp:32</a></div></div>
3755<div class="ttc" id="namespacearmnn_html_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.html#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3756<div class="ttc" id="_deprecated_8hpp_html_ad762b11b48e5c1d1c1743f529485728a"><div class="ttname"><a href="_deprecated_8hpp.html#ad762b11b48e5c1d1c1743f529485728a">ARMNN_NO_DEPRECATE_WARN_END</a></div><div class="ttdeci">#define ARMNN_NO_DEPRECATE_WARN_END</div><div class="ttdef"><b>Definition:</b> <a href="_deprecated_8hpp_source.html#l00034">Deprecated.hpp:34</a></div></div>
3757</div><!-- fragment -->
3758</div>
3759</div>
3760<hr/>The documentation for this class was generated from the following files:<ul>
3761<li>src/backends/reference/<a class="el" href="_ref_layer_support_8hpp_source.html">RefLayerSupport.hpp</a></li>
3762<li>src/backends/reference/<a class="el" href="_ref_layer_support_8cpp_source.html">RefLayerSupport.cpp</a></li>
3763</ul>
3764</div><!-- contents -->
3765</div><!-- doc-content -->
3766<!-- start footer part -->
3767<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
3768 <ul>
3769 <li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_ref_layer_support.html">RefLayerSupport</a></li>
3770 <li class="footer">Generated on Fri Mar 13 2020 16:07:05 for ArmNN by
3771 <a href="http://www.doxygen.org/index.html">
3772 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
3773 </ul>
3774</div>
3775</body>
3776</html>