blob: 2a7774793edff0038e9d871b1f2f39446fd5313c [file] [log] [blame]
Ryan OSheade36e4a2020-03-13 16:26:19 +00001<!-- Copyright (c) 2020 ARM Limited. -->
2<!-- -->
3<!-- SPDX-License-Identifier: MIT -->
4<!-- -->
5<!-- HTML header for doxygen 1.8.13-->
6<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
7<html xmlns="http://www.w3.org/1999/xhtml">
8<head>
9<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
10<meta http-equiv="X-UA-Compatible" content="IE=9"/>
11<meta name="generator" content="Doxygen 1.8.13"/>
12<meta name="robots" content="NOINDEX, NOFOLLOW" />
13<meta name="viewport" content="width=device-width, initial-scale=1"/>
14<title>ArmNN: RefLayerSupport Class Reference</title>
15<link href="tabs.css" rel="stylesheet" type="text/css"/>
16<script type="text/javascript" src="jquery.js"></script>
17<script type="text/javascript" src="dynsections.js"></script>
18<link href="navtree.css" rel="stylesheet" type="text/css"/>
19<script type="text/javascript" src="resize.js"></script>
20<script type="text/javascript" src="navtreedata.js"></script>
21<script type="text/javascript" src="navtree.js"></script>
22<script type="text/javascript">
23 $(document).ready(initResizable);
24</script>
25<link href="search/search.css" rel="stylesheet" type="text/css"/>
26<script type="text/javascript" src="search/searchdata.js"></script>
27<script type="text/javascript" src="search/search.js"></script>
28<script type="text/x-mathjax-config">
29 MathJax.Hub.Config({
30 extensions: ["tex2jax.js"],
31 jax: ["input/TeX","output/HTML-CSS"],
32});
33</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
34<link href="doxygen.css" rel="stylesheet" type="text/css" />
35<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
36</head>
37<body>
38<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
39<div id="titlearea">
40<table cellspacing="0" cellpadding="0">
41 <tbody>
42 <tr style="height: 56px;">
43 <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
44 <td style="padding-left: 0.5em;">
45 <div id="projectname">
46 &#160;<span id="projectnumber">20.02</span>
47 </div>
48 </td>
49 </tr>
50 </tbody>
51</table>
52</div>
53<!-- end header part -->
54<!-- Generated by Doxygen 1.8.13 -->
55<script type="text/javascript">
56var searchBox = new SearchBox("searchBox", "search",false,'Search');
57</script>
58<script type="text/javascript" src="menudata.js"></script>
59<script type="text/javascript" src="menu.js"></script>
60<script type="text/javascript">
61$(function() {
62 initMenu('',true,false,'search.php','Search');
63 $(document).ready(function() { init_search(); });
64});
65</script>
66<div id="main-nav"></div>
67</div><!-- top -->
68<div id="side-nav" class="ui-resizable side-nav-resizable">
69 <div id="nav-tree">
70 <div id="nav-tree-contents">
71 <div id="nav-sync" class="sync"></div>
72 </div>
73 </div>
74 <div id="splitbar" style="-moz-user-select:none;"
75 class="ui-resizable-handle">
76 </div>
77</div>
78<script type="text/javascript">
79$(document).ready(function(){initNavTree('classarmnn_1_1_ref_layer_support.xhtml','');});
80</script>
81<div id="doc-content">
82<!-- window showing the filter options -->
83<div id="MSearchSelectWindow"
84 onmouseover="return searchBox.OnSearchSelectShow()"
85 onmouseout="return searchBox.OnSearchSelectHide()"
86 onkeydown="return searchBox.OnSearchSelectKey(event)">
87</div>
88
89<!-- iframe showing the search results (closed by default) -->
90<div id="MSearchResultsWindow">
91<iframe src="javascript:void(0)" frameborder="0"
92 name="MSearchResults" id="MSearchResults">
93</iframe>
94</div>
95
96<div class="header">
97 <div class="summary">
98<a href="#pub-methods">Public Member Functions</a> &#124;
99<a href="classarmnn_1_1_ref_layer_support-members.xhtml">List of all members</a> </div>
100 <div class="headertitle">
101<div class="title">RefLayerSupport Class Reference</div> </div>
102</div><!--header-->
103<div class="contents">
104
105<p><code>#include &lt;<a class="el" href="_ref_layer_support_8hpp_source.xhtml">RefLayerSupport.hpp</a>&gt;</code></p>
106<div class="dynheader">
107Inheritance diagram for RefLayerSupport:</div>
108<div class="dyncontent">
109 <div class="center">
110 <img src="classarmnn_1_1_ref_layer_support.png" usemap="#RefLayerSupport_map" alt=""/>
111 <map id="RefLayerSupport_map" name="RefLayerSupport_map">
112<area href="classarmnn_1_1_layer_support_base.xhtml" alt="LayerSupportBase" shape="rect" coords="0,56,117,80"/>
113<area href="classarmnn_1_1_i_layer_support.xhtml" alt="ILayerSupport" shape="rect" coords="0,0,117,24"/>
114</map>
115 </div></div>
116<table class="memberdecls">
117<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
118Public Member Functions</h2></td></tr>
119<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.xhtml#abd7fa8c2233f8a653e30ae2f3b839d92">IsAbsSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
120<tr class="separator:abd7fa8c2233f8a653e30ae2f3b839d92"><td class="memSeparator" colspan="2">&#160;</td></tr>
121<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.xhtml#ab3adb3a28736529682e4ff0ea976dcd3">IsActivationSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_activation_descriptor.xhtml">ActivationDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
122<tr class="separator:ab3adb3a28736529682e4ff0ea976dcd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
123<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.xhtml#a48177e22e47448adb3d83e145dadf735">IsAdditionSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
124<tr class="separator:a48177e22e47448adb3d83e145dadf735"><td class="memSeparator" colspan="2">&#160;</td></tr>
125<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.xhtml#a0f4841f89f21fd794786b4c03c2425fd">IsArgMinMaxSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_arg_min_max_descriptor.xhtml">ArgMinMaxDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
126<tr class="separator:a0f4841f89f21fd794786b4c03c2425fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
127<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.xhtml#a67c970dd054b991e14369de523ca3a5a">IsBatchNormalizationSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;mean, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;var, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;beta, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;gamma, const <a class="el" href="structarmnn_1_1_batch_normalization_descriptor.xhtml">BatchNormalizationDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
128<tr class="separator:a67c970dd054b991e14369de523ca3a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
129<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.xhtml#adc5695cc25f4055c7ed54bdc8604a098">IsBatchToSpaceNdSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_batch_to_space_nd_descriptor.xhtml">BatchToSpaceNdDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
130<tr class="separator:adc5695cc25f4055c7ed54bdc8604a098"><td class="memSeparator" colspan="2">&#160;</td></tr>
131<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.xhtml#a7c52726a684dd76258c61af124012537">IsComparisonSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_comparison_descriptor.xhtml">ComparisonDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
132<tr class="separator:a7c52726a684dd76258c61af124012537"><td class="memSeparator" colspan="2">&#160;</td></tr>
133<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.xhtml#a3dca8ffbcb5f3afa1799aa7d354a3016">IsConcatSupported</a> (const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> *&gt; inputs, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="namespacearmnn.xhtml#a7863c179ff92feec660c48ab7b95ae55">ConcatDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
134<tr class="separator:a3dca8ffbcb5f3afa1799aa7d354a3016"><td class="memSeparator" colspan="2">&#160;</td></tr>
135<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.xhtml#adf18c4fa8fc9e0cdae1967990aa90fe8">IsConstantSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
136<tr class="separator:adf18c4fa8fc9e0cdae1967990aa90fe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
137<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.xhtml#a1efcaf6f02892442fefca09f49ea3d7c">IsConvertFp16ToFp32Supported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
138<tr class="separator:a1efcaf6f02892442fefca09f49ea3d7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
139<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.xhtml#a91fb5f44d8b9427dc45443aa9ebfe13e">IsConvertFp32ToFp16Supported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
140<tr class="separator:a91fb5f44d8b9427dc45443aa9ebfe13e"><td class="memSeparator" colspan="2">&#160;</td></tr>
141<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.xhtml#af7ff06bd8115a6a9cc6d41e5c762798e">IsConvolution2dSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.xhtml">Convolution2dDescriptor</a> &amp;descriptor, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;weights, const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &gt; &amp;biases, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
142<tr class="separator:af7ff06bd8115a6a9cc6d41e5c762798e"><td class="memSeparator" colspan="2">&#160;</td></tr>
143<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.xhtml#a87a66c5e87a19534ce3e6c374c9b8f09">IsDebugSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
144<tr class="separator:a87a66c5e87a19534ce3e6c374c9b8f09"><td class="memSeparator" colspan="2">&#160;</td></tr>
145<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.xhtml#a128fb9890897e08251a3f621e570cd23">IsDepthToSpaceSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="namespacearmnn.xhtml#a3647f60510bc8ddaced01c51b0ee8714">DepthToSpaceDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
146<tr class="separator:a128fb9890897e08251a3f621e570cd23"><td class="memSeparator" colspan="2">&#160;</td></tr>
147<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.xhtml#adc84390751f227fe03a115b5fa10b0fc">IsDepthwiseConvolutionSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml">DepthwiseConvolution2dDescriptor</a> &amp;descriptor, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;weights, const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &gt; &amp;biases, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
148<tr class="separator:adc84390751f227fe03a115b5fa10b0fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
149<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.xhtml#a2e89c72cf60df7c2d2d7e5d98822b672">IsDequantizeSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
150<tr class="separator:a2e89c72cf60df7c2d2d7e5d98822b672"><td class="memSeparator" colspan="2">&#160;</td></tr>
151<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.xhtml#a50af275d7755a5bb1be69736d7e4b02f">IsDetectionPostProcessSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;<a class="el" href="_neon_end_to_end_tests_8cpp.xhtml#ada422a73ac4e68bcb1b1b1f0b44028d9">boxEncodings</a>, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;<a class="el" href="_neon_end_to_end_tests_8cpp.xhtml#a0348e6bb67ace72535bd105219bb6237">scores</a>, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;<a class="el" href="_neon_end_to_end_tests_8cpp.xhtml#ac0981848e4ae57729f14f72bd4caa9f8">anchors</a>, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;detectionBoxes, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;detectionClasses, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;detectionScores, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;numDetections, const <a class="el" href="structarmnn_1_1_detection_post_process_descriptor.xhtml">DetectionPostProcessDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
152<tr class="separator:a50af275d7755a5bb1be69736d7e4b02f"><td class="memSeparator" colspan="2">&#160;</td></tr>
153<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.xhtml#a55d91a97ff664f42cd5cd62b60c15f80">IsDilatedDepthwiseConvolutionSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml">DepthwiseConvolution2dDescriptor</a> &amp;descriptor, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;weights, const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &gt; &amp;biases, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
154<tr class="separator:a55d91a97ff664f42cd5cd62b60c15f80"><td class="memSeparator" colspan="2">&#160;</td></tr>
155<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.xhtml#a08f55136b1f0907e7083d70d719f697f">IsDivisionSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
156<tr class="separator:a08f55136b1f0907e7083d70d719f697f"><td class="memSeparator" colspan="2">&#160;</td></tr>
157<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.xhtml#a61c5b4e5dc224ef0c876e43353b34030">IsElementwiseUnarySupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_elementwise_unary_descriptor.xhtml">ElementwiseUnaryDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
158<tr class="separator:a61c5b4e5dc224ef0c876e43353b34030"><td class="memSeparator" colspan="2">&#160;</td></tr>
159<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.xhtml#afb6ad04c6ff234b193f3dfc0cfabcbd5">IsEqualSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
160<tr class="separator:afb6ad04c6ff234b193f3dfc0cfabcbd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
161<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.xhtml#aab7318aa8adc0a8a3b6a1780cfc1f90b">IsFakeQuantizationSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="structarmnn_1_1_fake_quantization_descriptor.xhtml">FakeQuantizationDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
162<tr class="separator:aab7318aa8adc0a8a3b6a1780cfc1f90b"><td class="memSeparator" colspan="2">&#160;</td></tr>
163<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.xhtml#a53c7593d1aa26207eac5d5814a9d56dc">IsFloorSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
164<tr class="separator:a53c7593d1aa26207eac5d5814a9d56dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
165<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.xhtml#aeaf971dd9dffd6f6bc7e5a1ae6b6af5c">IsFullyConnectedSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;weights, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;biases, const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.xhtml">FullyConnectedDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
166<tr class="separator:aeaf971dd9dffd6f6bc7e5a1ae6b6af5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
167<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.xhtml#aef77aa4bb0e68e88dcf5ab8b5882a2d3">IsGatherSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
168<tr class="separator:aef77aa4bb0e68e88dcf5ab8b5882a2d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
169<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.xhtml#a14e45f3699e823d7859d5d352d89265c">IsGreaterSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
170<tr class="separator:a14e45f3699e823d7859d5d352d89265c"><td class="memSeparator" colspan="2">&#160;</td></tr>
171<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.xhtml#ad29d99ecd719c640ed22dcf5c688c6a5">IsInputSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
172<tr class="separator:ad29d99ecd719c640ed22dcf5c688c6a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
173<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.xhtml#a0813546a09bf2caba6794014d1960624">IsInstanceNormalizationSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_instance_normalization_descriptor.xhtml">InstanceNormalizationDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
174<tr class="separator:a0813546a09bf2caba6794014d1960624"><td class="memSeparator" colspan="2">&#160;</td></tr>
175<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.xhtml#aca4acda7ab553edfda828658d8f3882b">IsL2NormalizationSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_l2_normalization_descriptor.xhtml">L2NormalizationDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
176<tr class="separator:aca4acda7ab553edfda828658d8f3882b"><td class="memSeparator" colspan="2">&#160;</td></tr>
177<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.xhtml#a6d414f4983a5ca9596d84e340e6fd895">IsLogSoftmaxSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="namespacearmnn.xhtml#ac14705405cbcdd580df613de6766fe65">LogSoftmaxDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported) const override</td></tr>
178<tr class="separator:a6d414f4983a5ca9596d84e340e6fd895"><td class="memSeparator" colspan="2">&#160;</td></tr>
179<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.xhtml#a862535721737220f62a49f14ff494dd5">IsLstmSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;outputStateIn, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;cellStateIn, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;scratchBuffer, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;outputStateOut, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;cellStateOut, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_lstm_descriptor.xhtml">LstmDescriptor</a> &amp;descriptor, const <a class="el" href="structarmnn_1_1_lstm_input_params_info.xhtml">LstmInputParamsInfo</a> &amp;paramsInfo, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
180<tr class="separator:a862535721737220f62a49f14ff494dd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
181<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.xhtml#afef9436c86b37b973471f2ae546ac00a">IsMaximumSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
182<tr class="separator:afef9436c86b37b973471f2ae546ac00a"><td class="memSeparator" colspan="2">&#160;</td></tr>
183<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.xhtml#ab268618580d4f53bf5e9b5a47dee3f6a">IsMeanSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_mean_descriptor.xhtml">MeanDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
184<tr class="separator:ab268618580d4f53bf5e9b5a47dee3f6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
185<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.xhtml#aa9309ea64f9f7447efe3567f77417d29">IsMergerSupported</a> (const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> *&gt; inputs, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="namespacearmnn.xhtml#a003d213dd28b0b8c0f26fbf268ccb975">MergerDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
186<tr class="separator:aa9309ea64f9f7447efe3567f77417d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
187<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.xhtml#a9d25fabf725313fda40a41400155bafe">IsMemCopySupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
188<tr class="separator:a9d25fabf725313fda40a41400155bafe"><td class="memSeparator" colspan="2">&#160;</td></tr>
189<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.xhtml#a3d0eafb3de560b3482f857b56b2b2116">IsMinimumSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
190<tr class="separator:a3d0eafb3de560b3482f857b56b2b2116"><td class="memSeparator" colspan="2">&#160;</td></tr>
191<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.xhtml#a421e1f3865d99d52613003048342c49a">IsMultiplicationSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
192<tr class="separator:a421e1f3865d99d52613003048342c49a"><td class="memSeparator" colspan="2">&#160;</td></tr>
193<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.xhtml#a994c2065561141bf37fcd2ff7bb4af4d">IsNormalizationSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_normalization_descriptor.xhtml">NormalizationDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
194<tr class="separator:a994c2065561141bf37fcd2ff7bb4af4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
195<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.xhtml#aef3244c0ef64c8f2f352d21ce0c06985">IsOutputSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
196<tr class="separator:aef3244c0ef64c8f2f352d21ce0c06985"><td class="memSeparator" colspan="2">&#160;</td></tr>
197<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.xhtml#a0534291adf9f3436ba331552eba29a43">IsPadSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_pad_descriptor.xhtml">PadDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
198<tr class="separator:a0534291adf9f3436ba331552eba29a43"><td class="memSeparator" colspan="2">&#160;</td></tr>
199<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.xhtml#a9d553495d9a94fa55588ae159d8bda30">IsPermuteSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_permute_descriptor.xhtml">PermuteDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
200<tr class="separator:a9d553495d9a94fa55588ae159d8bda30"><td class="memSeparator" colspan="2">&#160;</td></tr>
201<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.xhtml#aa955675303d67b1d1fb51fb7f09d8c21">IsPooling2dSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_pooling2d_descriptor.xhtml">Pooling2dDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
202<tr class="separator:aa955675303d67b1d1fb51fb7f09d8c21"><td class="memSeparator" colspan="2">&#160;</td></tr>
203<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.xhtml#ad2c7be6b84b04444e514f52f593b3df7">IsQuantizeSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
204<tr class="separator:ad2c7be6b84b04444e514f52f593b3df7"><td class="memSeparator" colspan="2">&#160;</td></tr>
205<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.xhtml#aa02f01bbcb48c67f5b2efc4132ec5e86">IsReshapeSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_reshape_descriptor.xhtml">ReshapeDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
206<tr class="separator:aa02f01bbcb48c67f5b2efc4132ec5e86"><td class="memSeparator" colspan="2">&#160;</td></tr>
207<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.xhtml#a0f29f31e1ba46a52eedcdecd34f4cc24">IsResizeBilinearSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
208<tr class="separator:a0f29f31e1ba46a52eedcdecd34f4cc24"><td class="memSeparator" colspan="2">&#160;</td></tr>
209<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.xhtml#a3d27a3fc6a7df0b68d80cb113aff8b6c">IsResizeSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_resize_descriptor.xhtml">ResizeDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
210<tr class="separator:a3d27a3fc6a7df0b68d80cb113aff8b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
211<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.xhtml#a10ae4d84b0d31580f6fcd5107322ebcf">IsRsqrtSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
212<tr class="separator:a10ae4d84b0d31580f6fcd5107322ebcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
213<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.xhtml#a0e14dafa85cfcd4a6b6b752284b51e63">IsSliceSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_slice_descriptor.xhtml">SliceDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
214<tr class="separator:a0e14dafa85cfcd4a6b6b752284b51e63"><td class="memSeparator" colspan="2">&#160;</td></tr>
215<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.xhtml#a8385cf8227907904a6a86fac318fc099">IsSoftmaxSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_softmax_descriptor.xhtml">SoftmaxDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
216<tr class="separator:a8385cf8227907904a6a86fac318fc099"><td class="memSeparator" colspan="2">&#160;</td></tr>
217<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.xhtml#a3adfc31e079a970e028e537ec05fabf5">IsSpaceToBatchNdSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_space_to_batch_nd_descriptor.xhtml">SpaceToBatchNdDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
218<tr class="separator:a3adfc31e079a970e028e537ec05fabf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
219<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.xhtml#ab2af1e7da9490d29e569d271e16b0d5c">IsSpaceToDepthSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_space_to_depth_descriptor.xhtml">SpaceToDepthDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
220<tr class="separator:ab2af1e7da9490d29e569d271e16b0d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
221<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.xhtml#a17dd12822d49a23d24198f425a6fb9c4">IsSplitterSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="structarmnn_1_1_views_descriptor.xhtml">ViewsDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
222<tr class="separator:a17dd12822d49a23d24198f425a6fb9c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
223<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.xhtml#aa746e752ce8874669ea549f8e50896da">IsSplitterSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const std::vector&lt; std::reference_wrapper&lt; <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &gt;&gt; &amp;outputs, const <a class="el" href="structarmnn_1_1_views_descriptor.xhtml">ViewsDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
224<tr class="separator:aa746e752ce8874669ea549f8e50896da"><td class="memSeparator" colspan="2">&#160;</td></tr>
225<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.xhtml#ab4609f1baf5fcd295951f3c8abdffd90">IsStackSupported</a> (const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> *&gt; &amp;inputs, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_stack_descriptor.xhtml">StackDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
226<tr class="separator:ab4609f1baf5fcd295951f3c8abdffd90"><td class="memSeparator" colspan="2">&#160;</td></tr>
227<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.xhtml#ac054cb25099005eac854afb1511340f0">IsStridedSliceSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_strided_slice_descriptor.xhtml">StridedSliceDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
228<tr class="separator:ac054cb25099005eac854afb1511340f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
229<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.xhtml#af6c947e4d4b25bc49d92d18d4ff26736">IsSubtractionSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
230<tr class="separator:af6c947e4d4b25bc49d92d18d4ff26736"><td class="memSeparator" colspan="2">&#160;</td></tr>
231<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.xhtml#a4b36dcedd5edbd5142b3548967aadc2f">IsPreluSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;alpha, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
232<tr class="separator:a4b36dcedd5edbd5142b3548967aadc2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
233<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.xhtml#a0c69484f19ed650ad48b716719114e51">IsTransposeConvolution2dSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_transpose_convolution2d_descriptor.xhtml">TransposeConvolution2dDescriptor</a> &amp;descriptor, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;weights, const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &gt; &amp;biases, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
234<tr class="separator:a0c69484f19ed650ad48b716719114e51"><td class="memSeparator" colspan="2">&#160;</td></tr>
235<tr class="memitem:a0189645f33641b280877a1b2f6ba9fee"><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.xhtml#a0189645f33641b280877a1b2f6ba9fee">IsTransposeSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_transpose_descriptor.xhtml">TransposeDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
236<tr class="separator:a0189645f33641b280877a1b2f6ba9fee"><td class="memSeparator" colspan="2">&#160;</td></tr>
237<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.xhtml">LayerSupportBase</a></td></tr>
238<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.xhtml#a334181d8098b943d03ccd820753ace75">IsMemImportSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
239<tr class="separator:a334181d8098b943d03ccd820753ace75 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
240<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.xhtml#aa9bbc383cac59d6f02d2ef7d2cc0076f">IsMergeSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
241<tr class="separator:aa9bbc383cac59d6f02d2ef7d2cc0076f inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
242<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.xhtml#adc1a598f2f572564818e3d343af93486">IsPreCompiledSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="structarmnn_1_1_pre_compiled_descriptor.xhtml">PreCompiledDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
243<tr class="separator:adc1a598f2f572564818e3d343af93486 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
244<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.xhtml#af1be52d9f968bfab069344756bf232c4">IsQuantizedLstmSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;previousCellStateIn, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;previousOutputIn, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;cellStateOut, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output, const <a class="el" href="structarmnn_1_1_quantized_lstm_input_params_info.xhtml">QuantizedLstmInputParamsInfo</a> &amp;paramsInfo, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
245<tr class="separator:af1be52d9f968bfab069344756bf232c4 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
246<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.xhtml#a68a4c180fc48e266995db8596f6279d3">IsStandInSupported</a> (const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> *&gt; &amp;inputs, const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> *&gt; &amp;outputs, const <a class="el" href="structarmnn_1_1_stand_in_descriptor.xhtml">StandInDescriptor</a> &amp;descriptor, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
247<tr class="separator:a68a4c180fc48e266995db8596f6279d3 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
248<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.xhtml#a8c12a49b0d261836c11a57916e01805d">IsSwitchSupported</a> (const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input0, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;input1, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output0, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;output1, <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt; reasonIfUnsupported=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
249<tr class="separator:a8c12a49b0d261836c11a57916e01805d inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
250</table><table class="memberdecls">
251<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
252Additional Inherited Members</h2></td></tr>
253<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.xhtml">ILayerSupport</a></td></tr>
254<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.xhtml#aab2a487bc88047443d8a0f87c3c40b8d">ILayerSupport</a> ()</td></tr>
255<tr class="separator:aab2a487bc88047443d8a0f87c3c40b8d inherit pro_methods_classarmnn_1_1_i_layer_support"><td class="memSeparator" colspan="2">&#160;</td></tr>
256<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.xhtml#a9e7f4f28576904804cd759e49173beeb">~ILayerSupport</a> ()</td></tr>
257<tr class="separator:a9e7f4f28576904804cd759e49173beeb inherit pro_methods_classarmnn_1_1_i_layer_support"><td class="memSeparator" colspan="2">&#160;</td></tr>
258</table>
259<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
260<div class="textblock">
261<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8hpp_source.xhtml#l00012">12</a> of file <a class="el" href="_ref_layer_support_8hpp_source.xhtml">RefLayerSupport.hpp</a>.</p>
262</div><h2 class="groupheader">Member Function Documentation</h2>
263<a id="abd7fa8c2233f8a653e30ae2f3b839d92"></a>
264<h2 class="memtitle"><span class="permalink"><a href="#abd7fa8c2233f8a653e30ae2f3b839d92">&#9670;&nbsp;</a></span>IsAbsSupported()</h2>
265
266<div class="memitem">
267<div class="memproto">
268<table class="mlabels">
269 <tr>
270 <td class="mlabels-left">
271 <table class="memname">
272 <tr>
273 <td class="memname">bool IsAbsSupported </td>
274 <td>(</td>
275 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
276 <td class="paramname"><em>input</em>, </td>
277 </tr>
278 <tr>
279 <td class="paramkey"></td>
280 <td></td>
281 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
282 <td class="paramname"><em>output</em>, </td>
283 </tr>
284 <tr>
285 <td class="paramkey"></td>
286 <td></td>
287 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
288 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
289 </tr>
290 <tr>
291 <td></td>
292 <td>)</td>
293 <td></td><td> const</td>
294 </tr>
295 </table>
296 </td>
297 <td class="mlabels-right">
298<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
299 </tr>
300</table>
301</div><div class="memdoc">
302
303<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#abd7fa8c2233f8a653e30ae2f3b839d92">LayerSupportBase</a>.</p>
304
305<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00064">64</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
306<div class="fragment"><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;{</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_ref_layer_support.xhtml#a61c5b4e5dc224ef0c876e43353b34030">IsElementwiseUnarySupported</a>(input,</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; output,</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; ElementwiseUnaryDescriptor(<a class="code" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">UnaryOperation::Abs</a>),</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; reasonIfUnsupported);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">armnn::ActivationFunction::Abs</a></div></div>
307<div class="ttc" id="classarmnn_1_1_ref_layer_support_xhtml_a61c5b4e5dc224ef0c876e43353b34030"><div class="ttname"><a href="classarmnn_1_1_ref_layer_support.xhtml#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.xhtml#l00739">RefLayerSupport.cpp:739</a></div></div>
308</div><!-- fragment -->
309</div>
310</div>
311<a id="ab3adb3a28736529682e4ff0ea976dcd3"></a>
312<h2 class="memtitle"><span class="permalink"><a href="#ab3adb3a28736529682e4ff0ea976dcd3">&#9670;&nbsp;</a></span>IsActivationSupported()</h2>
313
314<div class="memitem">
315<div class="memproto">
316<table class="mlabels">
317 <tr>
318 <td class="mlabels-left">
319 <table class="memname">
320 <tr>
321 <td class="memname">bool IsActivationSupported </td>
322 <td>(</td>
323 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
324 <td class="paramname"><em>input</em>, </td>
325 </tr>
326 <tr>
327 <td class="paramkey"></td>
328 <td></td>
329 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
330 <td class="paramname"><em>output</em>, </td>
331 </tr>
332 <tr>
333 <td class="paramkey"></td>
334 <td></td>
335 <td class="paramtype">const <a class="el" href="structarmnn_1_1_activation_descriptor.xhtml">ActivationDescriptor</a> &amp;&#160;</td>
336 <td class="paramname"><em>descriptor</em>, </td>
337 </tr>
338 <tr>
339 <td class="paramkey"></td>
340 <td></td>
341 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
342 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
343 </tr>
344 <tr>
345 <td></td>
346 <td>)</td>
347 <td></td><td> const</td>
348 </tr>
349 </table>
350 </td>
351 <td class="mlabels-right">
352<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
353 </tr>
354</table>
355</div><div class="memdoc">
356
357<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#ab3adb3a28736529682e4ff0ea976dcd3">LayerSupportBase</a>.</p>
358
359<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00073">73</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
360
361<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_descriptors_8hpp_source.xhtml#l00035">ActivationDescriptor::m_Function</a>.</p>
362<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;{</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">// Define supported types.</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; std::array&lt;DataType,6&gt; supportedTypes = {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="namespacearmnn.xhtml#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.xhtml#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.xhtml#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.xhtml#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.xhtml#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.xhtml#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.xhtml#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.xhtml#a56297e0f7b215eea46c818cb7528d9eaaed67cf7d54c570e4c4891800f085f41d">ActivationFunction::Elu</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.xhtml#a56297e0f7b215eea46c818cb7528d9eaa0877e5b3fbe9d7569df6399609ed0186">ActivationFunction::HardSwish</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.xhtml#a56297e0f7b215eea46c818cb7528d9eaacb7667f5ec2f6e8a5943b781ba6c2735">ActivationFunction::LeakyReLu</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.xhtml#a56297e0f7b215eea46c818cb7528d9eaa32a843da6ea40ab3b17a3421ccdf671b">ActivationFunction::Linear</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.xhtml#a56297e0f7b215eea46c818cb7528d9eaa3d90c0a5ab3fcf8e6f6608cb3d3a1559">ActivationFunction::ReLu</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.xhtml#a56297e0f7b215eea46c818cb7528d9eaa21eebb164e4b8b9bcf64fdb4d8d5dff4">ActivationFunction::Sigmoid</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.xhtml#a56297e0f7b215eea46c818cb7528d9eaa6bba7052636d1740303b1b2ef3b53fef">ActivationFunction::SoftReLu</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.xhtml#a56297e0f7b215eea46c818cb7528d9eaaae77f3ad25595e35b327334d89410054">ActivationFunction::Sqrt</a>:</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaaceb46ca115d05c51aa5a16a8867c3304">ActivationFunction::Square</a>:</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">case</span> <a class="code" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa23b68da1de2b77d74da9da2635722a3e">ActivationFunction::TanH</a>:</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; m_Res = <span class="keyword">true</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">break</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; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; m_Res = <span class="keyword">false</span>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">break</span>;</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; };</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="comment">// Function is supported</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ActivationFunctionSupported(descriptor), reasonIfUnsupported,</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="stringliteral">&quot;Reference activation: function not supported.&quot;</span>);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaa3d90c0a5ab3fcf8e6f6608cb3d3a1559"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa3d90c0a5ab3fcf8e6f6608cb3d3a1559">armnn::ActivationFunction::ReLu</a></div></div>
363<div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaaae77f3ad25595e35b327334d89410054"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaaae77f3ad25595e35b327334d89410054">armnn::ActivationFunction::Sqrt</a></div></div>
364<div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
365<div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaacb7667f5ec2f6e8a5943b781ba6c2735"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaacb7667f5ec2f6e8a5943b781ba6c2735">armnn::ActivationFunction::LeakyReLu</a></div></div>
366<div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">armnn::ActivationFunction::Abs</a></div></div>
367<div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaa21eebb164e4b8b9bcf64fdb4d8d5dff4"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa21eebb164e4b8b9bcf64fdb4d8d5dff4">armnn::ActivationFunction::Sigmoid</a></div></div>
368<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
369<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
370<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
371<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
372<div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaa6bba7052636d1740303b1b2ef3b53fef"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa6bba7052636d1740303b1b2ef3b53fef">armnn::ActivationFunction::SoftReLu</a></div></div>
373<div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaabc5a0f0d6e7cf7fca73299dcd46c0f0d"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaabc5a0f0d6e7cf7fca73299dcd46c0f0d">armnn::ActivationFunction::BoundedReLu</a></div><div class="ttdoc">min(a, max(b, input)) ReLu1 &amp; ReLu6. </div></div>
374<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
375<div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaaed67cf7d54c570e4c4891800f085f41d"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaaed67cf7d54c570e4c4891800f085f41d">armnn::ActivationFunction::Elu</a></div></div>
376<div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaaceb46ca115d05c51aa5a16a8867c3304"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaaceb46ca115d05c51aa5a16a8867c3304">armnn::ActivationFunction::Square</a></div></div>
377<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
378<div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaa32a843da6ea40ab3b17a3421ccdf671b"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa32a843da6ea40ab3b17a3421ccdf671b">armnn::ActivationFunction::Linear</a></div></div>
379<div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaa0877e5b3fbe9d7569df6399609ed0186"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa0877e5b3fbe9d7569df6399609ed0186">armnn::ActivationFunction::HardSwish</a></div></div>
380<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
381<div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaa23b68da1de2b77d74da9da2635722a3e"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa23b68da1de2b77d74da9da2635722a3e">armnn::ActivationFunction::TanH</a></div></div>
382</div><!-- fragment -->
383</div>
384</div>
385<a id="a48177e22e47448adb3d83e145dadf735"></a>
386<h2 class="memtitle"><span class="permalink"><a href="#a48177e22e47448adb3d83e145dadf735">&#9670;&nbsp;</a></span>IsAdditionSupported()</h2>
387
388<div class="memitem">
389<div class="memproto">
390<table class="mlabels">
391 <tr>
392 <td class="mlabels-left">
393 <table class="memname">
394 <tr>
395 <td class="memname">bool IsAdditionSupported </td>
396 <td>(</td>
397 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
398 <td class="paramname"><em>input0</em>, </td>
399 </tr>
400 <tr>
401 <td class="paramkey"></td>
402 <td></td>
403 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
404 <td class="paramname"><em>input1</em>, </td>
405 </tr>
406 <tr>
407 <td class="paramkey"></td>
408 <td></td>
409 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
410 <td class="paramname"><em>output</em>, </td>
411 </tr>
412 <tr>
413 <td class="paramkey"></td>
414 <td></td>
415 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
416 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
417 </tr>
418 <tr>
419 <td></td>
420 <td>)</td>
421 <td></td><td> const</td>
422 </tr>
423 </table>
424 </td>
425 <td class="mlabels-right">
426<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
427 </tr>
428</table>
429</div><div class="memdoc">
430
431<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a48177e22e47448adb3d83e145dadf735">LayerSupportBase</a>.</p>
432
433<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00141">141</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
434
435<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>.</p>
436
437<p class="reference">Referenced by <a class="el" href="_ref_layer_support_tests_8cpp_source.xhtml#l00037">BOOST_AUTO_TEST_CASE()</a>.</p>
438<div class="fragment"><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; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; std::array&lt;DataType,6&gt; supportedTypes = {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; };</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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="stringliteral">&quot;Reference addition: input 0 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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input1, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="stringliteral">&quot;Reference addition: input 1 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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="stringliteral">&quot;Reference addition: output is not a supported type.&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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, input1), reasonIfUnsupported,</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="stringliteral">&quot;Reference addition: input 0 and Input 1 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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, output), reasonIfUnsupported,</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="stringliteral">&quot;Reference addition: input and output types are mismatched&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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreBroadcastCompatible(input0, input1, output), reasonIfUnsupported,</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="stringliteral">&quot;Reference addition: shapes are not suitable for implicit broadcast.&quot;</span>);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
439<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
440<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
441<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
442<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
443<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
444<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
445<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
446</div><!-- fragment -->
447</div>
448</div>
449<a id="a0f4841f89f21fd794786b4c03c2425fd"></a>
450<h2 class="memtitle"><span class="permalink"><a href="#a0f4841f89f21fd794786b4c03c2425fd">&#9670;&nbsp;</a></span>IsArgMinMaxSupported()</h2>
451
452<div class="memitem">
453<div class="memproto">
454<table class="mlabels">
455 <tr>
456 <td class="mlabels-left">
457 <table class="memname">
458 <tr>
459 <td class="memname">bool IsArgMinMaxSupported </td>
460 <td>(</td>
461 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
462 <td class="paramname"><em>input</em>, </td>
463 </tr>
464 <tr>
465 <td class="paramkey"></td>
466 <td></td>
467 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
468 <td class="paramname"><em>output</em>, </td>
469 </tr>
470 <tr>
471 <td class="paramkey"></td>
472 <td></td>
473 <td class="paramtype">const <a class="el" href="structarmnn_1_1_arg_min_max_descriptor.xhtml">ArgMinMaxDescriptor</a> &amp;&#160;</td>
474 <td class="paramname"><em>descriptor</em>, </td>
475 </tr>
476 <tr>
477 <td class="paramkey"></td>
478 <td></td>
479 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
480 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
481 </tr>
482 <tr>
483 <td></td>
484 <td>)</td>
485 <td></td><td> const</td>
486 </tr>
487 </table>
488 </td>
489 <td class="mlabels-right">
490<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
491 </tr>
492</table>
493</div><div class="memdoc">
494
495<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a0f4841f89f21fd794786b4c03c2425fd">LayerSupportBase</a>.</p>
496
497<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00178">178</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
498
499<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
500<div class="fragment"><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;{</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; std::array&lt;DataType, 5&gt; supportedTypes =</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; {</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a>,</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a></div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; };</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="stringliteral">&quot;Reference ArgMinMax: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeIs(output, DataType::Signed32), reasonIfUnsupported,</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="stringliteral">&quot;Reference ArgMinMax: output type not supported&quot;</span>);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
501<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
502<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
503<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
504<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
505<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
506<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
507<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
508</div><!-- fragment -->
509</div>
510</div>
511<a id="a67c970dd054b991e14369de523ca3a5a"></a>
512<h2 class="memtitle"><span class="permalink"><a href="#a67c970dd054b991e14369de523ca3a5a">&#9670;&nbsp;</a></span>IsBatchNormalizationSupported()</h2>
513
514<div class="memitem">
515<div class="memproto">
516<table class="mlabels">
517 <tr>
518 <td class="mlabels-left">
519 <table class="memname">
520 <tr>
521 <td class="memname">bool IsBatchNormalizationSupported </td>
522 <td>(</td>
523 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
524 <td class="paramname"><em>input</em>, </td>
525 </tr>
526 <tr>
527 <td class="paramkey"></td>
528 <td></td>
529 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
530 <td class="paramname"><em>output</em>, </td>
531 </tr>
532 <tr>
533 <td class="paramkey"></td>
534 <td></td>
535 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
536 <td class="paramname"><em>mean</em>, </td>
537 </tr>
538 <tr>
539 <td class="paramkey"></td>
540 <td></td>
541 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
542 <td class="paramname"><em>var</em>, </td>
543 </tr>
544 <tr>
545 <td class="paramkey"></td>
546 <td></td>
547 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
548 <td class="paramname"><em>beta</em>, </td>
549 </tr>
550 <tr>
551 <td class="paramkey"></td>
552 <td></td>
553 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
554 <td class="paramname"><em>gamma</em>, </td>
555 </tr>
556 <tr>
557 <td class="paramkey"></td>
558 <td></td>
559 <td class="paramtype">const <a class="el" href="structarmnn_1_1_batch_normalization_descriptor.xhtml">BatchNormalizationDescriptor</a> &amp;&#160;</td>
560 <td class="paramname"><em>descriptor</em>, </td>
561 </tr>
562 <tr>
563 <td class="paramkey"></td>
564 <td></td>
565 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
566 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
567 </tr>
568 <tr>
569 <td></td>
570 <td>)</td>
571 <td></td><td> const</td>
572 </tr>
573 </table>
574 </td>
575 <td class="mlabels-right">
576<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
577 </tr>
578</table>
579</div><div class="memdoc">
580
581<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a67c970dd054b991e14369de523ca3a5a">LayerSupportBase</a>.</p>
582
583<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00203">203</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
584
585<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
586<div class="fragment"><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.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; std::array&lt;DataType, 5&gt; supportedTypes =</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; };</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; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="stringliteral">&quot;Reference batch normalization: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="stringliteral">&quot;Reference batch normalization: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="stringliteral">&quot;Reference batch normalization: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(mean, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="stringliteral">&quot;Reference batch normalization: mean is not a supported type.&quot;</span>);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(variance, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="stringliteral">&quot;Reference batch normalization: variance is not a supported type.&quot;</span>);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(beta, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="stringliteral">&quot;Reference batch normalization: beta is not a supported type.&quot;</span>);</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(gamma, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="stringliteral">&quot;Reference batch normalization: gamma is not a supported type.&quot;</span>);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
587<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
588<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
589<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
590<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
591<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
592<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
593<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
594</div><!-- fragment -->
595</div>
596</div>
597<a id="adc5695cc25f4055c7ed54bdc8604a098"></a>
598<h2 class="memtitle"><span class="permalink"><a href="#adc5695cc25f4055c7ed54bdc8604a098">&#9670;&nbsp;</a></span>IsBatchToSpaceNdSupported()</h2>
599
600<div class="memitem">
601<div class="memproto">
602<table class="mlabels">
603 <tr>
604 <td class="mlabels-left">
605 <table class="memname">
606 <tr>
607 <td class="memname">bool IsBatchToSpaceNdSupported </td>
608 <td>(</td>
609 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
610 <td class="paramname"><em>input</em>, </td>
611 </tr>
612 <tr>
613 <td class="paramkey"></td>
614 <td></td>
615 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
616 <td class="paramname"><em>output</em>, </td>
617 </tr>
618 <tr>
619 <td class="paramkey"></td>
620 <td></td>
621 <td class="paramtype">const <a class="el" href="structarmnn_1_1_batch_to_space_nd_descriptor.xhtml">BatchToSpaceNdDescriptor</a> &amp;&#160;</td>
622 <td class="paramname"><em>descriptor</em>, </td>
623 </tr>
624 <tr>
625 <td class="paramkey"></td>
626 <td></td>
627 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
628 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
629 </tr>
630 <tr>
631 <td></td>
632 <td>)</td>
633 <td></td><td> const</td>
634 </tr>
635 </table>
636 </td>
637 <td class="mlabels-right">
638<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
639 </tr>
640</table>
641</div><div class="memdoc">
642
643<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#adc5695cc25f4055c7ed54bdc8604a098">LayerSupportBase</a>.</p>
644
645<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00249">249</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
646
647<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00092">TensorInfo::GetNumDimensions()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
648<div class="fragment"><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;{</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; std::string batchToSpaceNdLayerStr = <span class="stringliteral">&quot;batchToSpaceNd&quot;</span>;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; std::string inputTensorStr = <span class="stringliteral">&quot;input&quot;</span>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; std::string outputTensorStr = <span class="stringliteral">&quot;output&quot;</span>;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="comment">// Define supported types.</span></div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; std::array&lt;DataType,5&gt; supportedTypes =</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; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; };</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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="stringliteral">&quot;Reference BatchToSpaceNd: input type not supported.&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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="stringliteral">&quot;Reference BatchToSpaceNd: output type not supported.&quot;</span>);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="stringliteral">&quot;Reference BatchToSpaceNd: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TensorNumDimensionsAreCorrect(output, 4),</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; CreateIncorrectDimensionsErrorMsg(4,</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; output.GetNumDimensions(),</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; batchToSpaceNdLayerStr,</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; outputTensorStr).data());</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TensorNumDimensionsAreCorrect(input, 4),</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; CreateIncorrectDimensionsErrorMsg(4,</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; input.GetNumDimensions(),</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; batchToSpaceNdLayerStr,</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; inputTensorStr).data());</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
649<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
650<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
651<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
652<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
653<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
654<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
655<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
656</div><!-- fragment -->
657</div>
658</div>
659<a id="a7c52726a684dd76258c61af124012537"></a>
660<h2 class="memtitle"><span class="permalink"><a href="#a7c52726a684dd76258c61af124012537">&#9670;&nbsp;</a></span>IsComparisonSupported()</h2>
661
662<div class="memitem">
663<div class="memproto">
664<table class="mlabels">
665 <tr>
666 <td class="mlabels-left">
667 <table class="memname">
668 <tr>
669 <td class="memname">bool IsComparisonSupported </td>
670 <td>(</td>
671 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
672 <td class="paramname"><em>input0</em>, </td>
673 </tr>
674 <tr>
675 <td class="paramkey"></td>
676 <td></td>
677 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
678 <td class="paramname"><em>input1</em>, </td>
679 </tr>
680 <tr>
681 <td class="paramkey"></td>
682 <td></td>
683 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
684 <td class="paramname"><em>output</em>, </td>
685 </tr>
686 <tr>
687 <td class="paramkey"></td>
688 <td></td>
689 <td class="paramtype">const <a class="el" href="structarmnn_1_1_comparison_descriptor.xhtml">ComparisonDescriptor</a> &amp;&#160;</td>
690 <td class="paramname"><em>descriptor</em>, </td>
691 </tr>
692 <tr>
693 <td class="paramkey"></td>
694 <td></td>
695 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
696 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
697 </tr>
698 <tr>
699 <td></td>
700 <td>)</td>
701 <td></td><td> const</td>
702 </tr>
703 </table>
704 </td>
705 <td class="mlabels-right">
706<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
707 </tr>
708</table>
709</div><div class="memdoc">
710
711<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a7c52726a684dd76258c61af124012537">LayerSupportBase</a>.</p>
712
713<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00298">298</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
714
715<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
716<div class="fragment"><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;{</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; std::array&lt;DataType, 5&gt; supportedInputTypes =</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; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; };</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; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedInputTypes), reasonIfUnsupported,</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="stringliteral">&quot;Reference comparison: input 0 is not a supported type&quot;</span>);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, input1), reasonIfUnsupported,</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="stringliteral">&quot;Reference comparison: input 0 and Input 1 types are mismatched&quot;</span>);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeIs(output, <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a27226c864bac7454a8504f8edb15d95b">DataType::Boolean</a>), reasonIfUnsupported,</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="stringliteral">&quot;Reference comparison: output is not of type Boolean&quot;</span>);</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a27226c864bac7454a8504f8edb15d95b"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a27226c864bac7454a8504f8edb15d95b">armnn::DataType::Boolean</a></div></div>
717<div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
718<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
719<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
720<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
721<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
722<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
723<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
724<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
725</div><!-- fragment -->
726</div>
727</div>
728<a id="a3dca8ffbcb5f3afa1799aa7d354a3016"></a>
729<h2 class="memtitle"><span class="permalink"><a href="#a3dca8ffbcb5f3afa1799aa7d354a3016">&#9670;&nbsp;</a></span>IsConcatSupported()</h2>
730
731<div class="memitem">
732<div class="memproto">
733<table class="mlabels">
734 <tr>
735 <td class="mlabels-left">
736 <table class="memname">
737 <tr>
738 <td class="memname">bool IsConcatSupported </td>
739 <td>(</td>
740 <td class="paramtype">const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> *&gt;&#160;</td>
741 <td class="paramname"><em>inputs</em>, </td>
742 </tr>
743 <tr>
744 <td class="paramkey"></td>
745 <td></td>
746 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
747 <td class="paramname"><em>output</em>, </td>
748 </tr>
749 <tr>
750 <td class="paramkey"></td>
751 <td></td>
752 <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#a7863c179ff92feec660c48ab7b95ae55">ConcatDescriptor</a> &amp;&#160;</td>
753 <td class="paramname"><em>descriptor</em>, </td>
754 </tr>
755 <tr>
756 <td class="paramkey"></td>
757 <td></td>
758 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
759 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
760 </tr>
761 <tr>
762 <td></td>
763 <td>)</td>
764 <td></td><td> const</td>
765 </tr>
766 </table>
767 </td>
768 <td class="mlabels-right">
769<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
770 </tr>
771</table>
772</div><div class="memdoc">
773
774<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a1542179a03961e3635bb5bef993c8e0e">LayerSupportBase</a>.</p>
775
776<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00328">328</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
777
778<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
779<div class="fragment"><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;{</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; std::array&lt;DataType,6&gt; supportedTypes =</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; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; };</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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="stringliteral">&quot;Reference concatenation: output type not supported&quot;</span>);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> TensorInfo* input : inputs)</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; BOOST_ASSERT(input != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(*input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="stringliteral">&quot;Reference concatenation: input type not supported&quot;</span>);</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(*input, output), reasonIfUnsupported,</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="stringliteral">&quot;Reference concatenation: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; }</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; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
780<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
781<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
782<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
783<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
784<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
785<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
786<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
787<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
788</div><!-- fragment -->
789</div>
790</div>
791<a id="adf18c4fa8fc9e0cdae1967990aa90fe8"></a>
792<h2 class="memtitle"><span class="permalink"><a href="#adf18c4fa8fc9e0cdae1967990aa90fe8">&#9670;&nbsp;</a></span>IsConstantSupported()</h2>
793
794<div class="memitem">
795<div class="memproto">
796<table class="mlabels">
797 <tr>
798 <td class="mlabels-left">
799 <table class="memname">
800 <tr>
801 <td class="memname">bool IsConstantSupported </td>
802 <td>(</td>
803 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
804 <td class="paramname"><em>output</em>, </td>
805 </tr>
806 <tr>
807 <td class="paramkey"></td>
808 <td></td>
809 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
810 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
811 </tr>
812 <tr>
813 <td></td>
814 <td>)</td>
815 <td></td><td> const</td>
816 </tr>
817 </table>
818 </td>
819 <td class="mlabels-right">
820<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
821 </tr>
822</table>
823</div><div class="memdoc">
824
825<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#adf18c4fa8fc9e0cdae1967990aa90fe8">LayerSupportBase</a>.</p>
826
827<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00361">361</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
828
829<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>.</p>
830<div class="fragment"><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;{</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; std::array&lt;DataType,7&gt; supportedTypes =</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; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a>,</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><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;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="stringliteral">&quot;Reference constant: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
831<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
832<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
833<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
834<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
835<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
836<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
837<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
838</div><!-- fragment -->
839</div>
840</div>
841<a id="a1efcaf6f02892442fefca09f49ea3d7c"></a>
842<h2 class="memtitle"><span class="permalink"><a href="#a1efcaf6f02892442fefca09f49ea3d7c">&#9670;&nbsp;</a></span>IsConvertFp16ToFp32Supported()</h2>
843
844<div class="memitem">
845<div class="memproto">
846<table class="mlabels">
847 <tr>
848 <td class="mlabels-left">
849 <table class="memname">
850 <tr>
851 <td class="memname">bool IsConvertFp16ToFp32Supported </td>
852 <td>(</td>
853 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
854 <td class="paramname"><em>input</em>, </td>
855 </tr>
856 <tr>
857 <td class="paramkey"></td>
858 <td></td>
859 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
860 <td class="paramname"><em>output</em>, </td>
861 </tr>
862 <tr>
863 <td class="paramkey"></td>
864 <td></td>
865 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
866 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
867 </tr>
868 <tr>
869 <td></td>
870 <td>)</td>
871 <td></td><td> const</td>
872 </tr>
873 </table>
874 </td>
875 <td class="mlabels-right">
876<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
877 </tr>
878</table>
879</div><div class="memdoc">
880
881<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a1efcaf6f02892442fefca09f49ea3d7c">LayerSupportBase</a>.</p>
882
883<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00379">379</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
884
885<p class="reference">References <a class="el" href="_tensor_8hpp_source.xhtml#l00095">TensorInfo::GetDataType()</a>, and <a class="el" href="_layer_support_common_8hpp_source.xhtml#l00027">armnn::IsSupportedForDataTypeGeneric()</a>.</p>
886<div class="fragment"><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;{</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="namespacearmnn.xhtml#af6dbe371ec651a8e0063624fdf32afc0">IsSupportedForDataTypeGeneric</a>(reasonIfUnsupported,</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; input.GetDataType(),</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; &amp;TrueFunc&lt;&gt;,</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; &amp;FalseInputFuncF32&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; &amp;FalseFuncI32&lt;&gt;,</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; &amp;FalseFuncU8&lt;&gt;) &amp;&amp;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <a class="code" href="namespacearmnn.xhtml#af6dbe371ec651a8e0063624fdf32afc0">IsSupportedForDataTypeGeneric</a>(reasonIfUnsupported,</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; output.GetDataType(),</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; &amp;FalseOutputFuncF16&lt;&gt;,</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; &amp;TrueFunc&lt;&gt;,</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; &amp;FalseFuncU8&lt;&gt;,</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; &amp;FalseFuncI32&lt;&gt;,</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; &amp;FalseFuncU8&lt;&gt;));</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_af6dbe371ec651a8e0063624fdf32afc0"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00027">LayerSupportCommon.hpp:27</a></div></div>
887</div><!-- fragment -->
888</div>
889</div>
890<a id="a91fb5f44d8b9427dc45443aa9ebfe13e"></a>
891<h2 class="memtitle"><span class="permalink"><a href="#a91fb5f44d8b9427dc45443aa9ebfe13e">&#9670;&nbsp;</a></span>IsConvertFp32ToFp16Supported()</h2>
892
893<div class="memitem">
894<div class="memproto">
895<table class="mlabels">
896 <tr>
897 <td class="mlabels-left">
898 <table class="memname">
899 <tr>
900 <td class="memname">bool IsConvertFp32ToFp16Supported </td>
901 <td>(</td>
902 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
903 <td class="paramname"><em>input</em>, </td>
904 </tr>
905 <tr>
906 <td class="paramkey"></td>
907 <td></td>
908 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
909 <td class="paramname"><em>output</em>, </td>
910 </tr>
911 <tr>
912 <td class="paramkey"></td>
913 <td></td>
914 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
915 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
916 </tr>
917 <tr>
918 <td></td>
919 <td>)</td>
920 <td></td><td> const</td>
921 </tr>
922 </table>
923 </td>
924 <td class="mlabels-right">
925<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
926 </tr>
927</table>
928</div><div class="memdoc">
929
930<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a91fb5f44d8b9427dc45443aa9ebfe13e">LayerSupportBase</a>.</p>
931
932<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00399">399</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
933
934<p class="reference">References <a class="el" href="_tensor_8hpp_source.xhtml#l00095">TensorInfo::GetDataType()</a>, and <a class="el" href="_layer_support_common_8hpp_source.xhtml#l00027">armnn::IsSupportedForDataTypeGeneric()</a>.</p>
935<div class="fragment"><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;{</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="namespacearmnn.xhtml#af6dbe371ec651a8e0063624fdf32afc0">IsSupportedForDataTypeGeneric</a>(reasonIfUnsupported,</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; input.GetDataType(),</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; &amp;FalseInputFuncF16&lt;&gt;,</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; &amp;TrueFunc&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; &amp;FalseFuncI32&lt;&gt;,</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; &amp;FalseFuncU8&lt;&gt;) &amp;&amp;</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <a class="code" href="namespacearmnn.xhtml#af6dbe371ec651a8e0063624fdf32afc0">IsSupportedForDataTypeGeneric</a>(reasonIfUnsupported,</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; output.GetDataType(),</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; &amp;TrueFunc&lt;&gt;,</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; &amp;FalseOutputFuncF32&lt;&gt;,</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; &amp;FalseFuncU8&lt;&gt;,</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; &amp;FalseFuncI32&lt;&gt;,</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; &amp;FalseFuncU8&lt;&gt;));</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_af6dbe371ec651a8e0063624fdf32afc0"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00027">LayerSupportCommon.hpp:27</a></div></div>
936</div><!-- fragment -->
937</div>
938</div>
939<a id="af7ff06bd8115a6a9cc6d41e5c762798e"></a>
940<h2 class="memtitle"><span class="permalink"><a href="#af7ff06bd8115a6a9cc6d41e5c762798e">&#9670;&nbsp;</a></span>IsConvolution2dSupported()</h2>
941
942<div class="memitem">
943<div class="memproto">
944<table class="mlabels">
945 <tr>
946 <td class="mlabels-left">
947 <table class="memname">
948 <tr>
949 <td class="memname">bool IsConvolution2dSupported </td>
950 <td>(</td>
951 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
952 <td class="paramname"><em>input</em>, </td>
953 </tr>
954 <tr>
955 <td class="paramkey"></td>
956 <td></td>
957 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
958 <td class="paramname"><em>output</em>, </td>
959 </tr>
960 <tr>
961 <td class="paramkey"></td>
962 <td></td>
963 <td class="paramtype">const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.xhtml">Convolution2dDescriptor</a> &amp;&#160;</td>
964 <td class="paramname"><em>descriptor</em>, </td>
965 </tr>
966 <tr>
967 <td class="paramkey"></td>
968 <td></td>
969 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
970 <td class="paramname"><em>weights</em>, </td>
971 </tr>
972 <tr>
973 <td class="paramkey"></td>
974 <td></td>
975 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &gt; &amp;&#160;</td>
976 <td class="paramname"><em>biases</em>, </td>
977 </tr>
978 <tr>
979 <td class="paramkey"></td>
980 <td></td>
981 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
982 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
983 </tr>
984 <tr>
985 <td></td>
986 <td>)</td>
987 <td></td><td> const</td>
988 </tr>
989 </table>
990 </td>
991 <td class="mlabels-right">
992<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
993 </tr>
994</table>
995</div><div class="memdoc">
996
997<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#af7ff06bd8115a6a9cc6d41e5c762798e">LayerSupportBase</a>.</p>
998
999<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00419">419</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1000
1001<p class="reference">References <a class="el" href="_deprecated_8hpp_source.xhtml#l00033">ARMNN_NO_DEPRECATE_WARN_BEGIN</a>, <a class="el" href="_deprecated_8hpp_source.xhtml#l00034">ARMNN_NO_DEPRECATE_WARN_END</a>, <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00095">TensorInfo::GetDataType()</a>, <a class="el" href="_optional_8hpp_source.xhtml#l00053">OptionalBase::has_value()</a>, <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>, <a class="el" href="_types_utils_8hpp_source.xhtml#l00241">armnn::IsQuantized8BitType()</a>, and <a class="el" href="_optional_8hpp_source.xhtml#l00146">OptionalReferenceSwitch&lt; std::is_reference&lt; T &gt;::value, T &gt;::value()</a>.</p>
1002<div class="fragment"><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;{</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="comment">// Define supported types.</span></div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; std::array&lt;DataType,7&gt; supportedTypes =</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; {</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></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;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="stringliteral">&quot;Reference Convolution2d: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="stringliteral">&quot;Reference Convolution2d: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="stringliteral">&quot;Reference Convolution2d: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> inputType = input.GetDataType();</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespacearmnn.xhtml#ad91bc7bfe29186f5d78c28386c6c5309">IsQuantized8BitType</a>(inputType))</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; <a class="code" href="_deprecated_8hpp.xhtml#ab66a241a0ed3ee89c866e777b035d0ed">ARMNN_NO_DEPRECATE_WARN_BEGIN</a></div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; std::array&lt;DataType, 4&gt; supportedWeightTypes =</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; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d">DataType::QuantizedSymm8PerAxis</a> <span class="comment">// deprecated</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; <a class="code" href="_deprecated_8hpp.xhtml#ad762b11b48e5c1d1c1743f529485728a">ARMNN_NO_DEPRECATE_WARN_END</a></div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedWeightTypes), reasonIfUnsupported,</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="stringliteral">&quot;Reference Convolution2d: weights type not supported for quantized input.&quot;</span>);</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; }</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; {</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <span class="stringliteral">&quot;Reference Convolution2d: weights is not a supported type.&quot;</span>);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, weights), reasonIfUnsupported,</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="stringliteral">&quot;Reference Convolution2d: input and weights types mismatched.&quot;</span>);</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;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">if</span> (biases.has_value())</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; std::array&lt;DataType,4&gt; biasesSupportedTypes =</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; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a></div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; };</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(biases.value(), biasesSupportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="stringliteral">&quot;Reference Convolution2d: biases is not a supported type.&quot;</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; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</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; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;}</div><div class="ttc" id="_deprecated_8hpp_xhtml_ab66a241a0ed3ee89c866e777b035d0ed"><div class="ttname"><a href="_deprecated_8hpp.xhtml#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.xhtml#l00033">Deprecated.hpp:33</a></div></div>
1003<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d">armnn::DataType::QuantizedSymm8PerAxis</a></div></div>
1004<div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1005<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
1006<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
1007<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1008<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1009<div class="ttc" id="namespacearmnn_xhtml_ad91bc7bfe29186f5d78c28386c6c5309"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00241">TypesUtils.hpp:241</a></div></div>
1010<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">armnn::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.xhtml#l00032">Types.hpp:32</a></div></div>
1011<div class="ttc" id="_deprecated_8hpp_xhtml_ad762b11b48e5c1d1c1743f529485728a"><div class="ttname"><a href="_deprecated_8hpp.xhtml#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.xhtml#l00034">Deprecated.hpp:34</a></div></div>
1012<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1013<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1014<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
1015<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1016<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
1017<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
1018</div><!-- fragment -->
1019</div>
1020</div>
1021<a id="a87a66c5e87a19534ce3e6c374c9b8f09"></a>
1022<h2 class="memtitle"><span class="permalink"><a href="#a87a66c5e87a19534ce3e6c374c9b8f09">&#9670;&nbsp;</a></span>IsDebugSupported()</h2>
1023
1024<div class="memitem">
1025<div class="memproto">
1026<table class="mlabels">
1027 <tr>
1028 <td class="mlabels-left">
1029 <table class="memname">
1030 <tr>
1031 <td class="memname">bool IsDebugSupported </td>
1032 <td>(</td>
1033 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1034 <td class="paramname"><em>input</em>, </td>
1035 </tr>
1036 <tr>
1037 <td class="paramkey"></td>
1038 <td></td>
1039 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1040 <td class="paramname"><em>output</em>, </td>
1041 </tr>
1042 <tr>
1043 <td class="paramkey"></td>
1044 <td></td>
1045 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1046 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1047 </tr>
1048 <tr>
1049 <td></td>
1050 <td>)</td>
1051 <td></td><td> const</td>
1052 </tr>
1053 </table>
1054 </td>
1055 <td class="mlabels-right">
1056<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1057 </tr>
1058</table>
1059</div><div class="memdoc">
1060
1061<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a87a66c5e87a19534ce3e6c374c9b8f09">LayerSupportBase</a>.</p>
1062
1063<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00492">492</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1064
1065<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>.</p>
1066<div class="fragment"><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;{</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</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; std::array&lt;DataType, 8&gt; supportedTypes =</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; {</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a>,</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a></div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; };</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="stringliteral">&quot;Reference for Debug layer: input type not supported&quot;</span>);</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="stringliteral">&quot;Reference for Debug layer: output type not supported&quot;</span>);</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="stringliteral">&quot;Reference for Debug layer: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1067<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
1068<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
1069<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1070<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1071<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1072<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
1073<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1074<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
1075<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
1076</div><!-- fragment -->
1077</div>
1078</div>
1079<a id="a128fb9890897e08251a3f621e570cd23"></a>
1080<h2 class="memtitle"><span class="permalink"><a href="#a128fb9890897e08251a3f621e570cd23">&#9670;&nbsp;</a></span>IsDepthToSpaceSupported()</h2>
1081
1082<div class="memitem">
1083<div class="memproto">
1084<table class="mlabels">
1085 <tr>
1086 <td class="mlabels-left">
1087 <table class="memname">
1088 <tr>
1089 <td class="memname">bool IsDepthToSpaceSupported </td>
1090 <td>(</td>
1091 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1092 <td class="paramname"><em>input</em>, </td>
1093 </tr>
1094 <tr>
1095 <td class="paramkey"></td>
1096 <td></td>
1097 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1098 <td class="paramname"><em>output</em>, </td>
1099 </tr>
1100 <tr>
1101 <td class="paramkey"></td>
1102 <td></td>
1103 <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#a3647f60510bc8ddaced01c51b0ee8714">DepthToSpaceDescriptor</a> &amp;&#160;</td>
1104 <td class="paramname"><em>descriptor</em>, </td>
1105 </tr>
1106 <tr>
1107 <td class="paramkey"></td>
1108 <td></td>
1109 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1110 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1111 </tr>
1112 <tr>
1113 <td></td>
1114 <td>)</td>
1115 <td></td><td> const</td>
1116 </tr>
1117 </table>
1118 </td>
1119 <td class="mlabels-right">
1120<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1121 </tr>
1122</table>
1123</div><div class="memdoc">
1124
1125<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a128fb9890897e08251a3f621e570cd23">LayerSupportBase</a>.</p>
1126
1127<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00522">522</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1128
1129<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1130<div class="fragment"><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;{</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; std::array&lt;DataType,5&gt; supportedTypes =</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; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; };</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160;</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="stringliteral">&quot;Reference DepthToSpace: input type not supported&quot;</span>);</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="stringliteral">&quot;Reference DepthToSpace: output type not supported&quot;</span>);</div><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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="stringliteral">&quot;Reference DepthToSpace: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1131<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1132<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1133<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1134<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1135<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
1136<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1137<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
1138</div><!-- fragment -->
1139</div>
1140</div>
1141<a id="adc84390751f227fe03a115b5fa10b0fc"></a>
1142<h2 class="memtitle"><span class="permalink"><a href="#adc84390751f227fe03a115b5fa10b0fc">&#9670;&nbsp;</a></span>IsDepthwiseConvolutionSupported()</h2>
1143
1144<div class="memitem">
1145<div class="memproto">
1146<table class="mlabels">
1147 <tr>
1148 <td class="mlabels-left">
1149 <table class="memname">
1150 <tr>
1151 <td class="memname">bool IsDepthwiseConvolutionSupported </td>
1152 <td>(</td>
1153 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1154 <td class="paramname"><em>input</em>, </td>
1155 </tr>
1156 <tr>
1157 <td class="paramkey"></td>
1158 <td></td>
1159 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1160 <td class="paramname"><em>output</em>, </td>
1161 </tr>
1162 <tr>
1163 <td class="paramkey"></td>
1164 <td></td>
1165 <td class="paramtype">const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml">DepthwiseConvolution2dDescriptor</a> &amp;&#160;</td>
1166 <td class="paramname"><em>descriptor</em>, </td>
1167 </tr>
1168 <tr>
1169 <td class="paramkey"></td>
1170 <td></td>
1171 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1172 <td class="paramname"><em>weights</em>, </td>
1173 </tr>
1174 <tr>
1175 <td class="paramkey"></td>
1176 <td></td>
1177 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &gt; &amp;&#160;</td>
1178 <td class="paramname"><em>biases</em>, </td>
1179 </tr>
1180 <tr>
1181 <td class="paramkey"></td>
1182 <td></td>
1183 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1184 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1185 </tr>
1186 <tr>
1187 <td></td>
1188 <td>)</td>
1189 <td></td><td> const</td>
1190 </tr>
1191 </table>
1192 </td>
1193 <td class="mlabels-right">
1194<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1195 </tr>
1196</table>
1197</div><div class="memdoc">
1198
1199<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#adc84390751f227fe03a115b5fa10b0fc">LayerSupportBase</a>.</p>
1200
1201<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00551">551</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1202
1203<p class="reference">References <a class="el" href="_deprecated_8hpp_source.xhtml#l00033">ARMNN_NO_DEPRECATE_WARN_BEGIN</a>, <a class="el" href="_deprecated_8hpp_source.xhtml#l00034">ARMNN_NO_DEPRECATE_WARN_END</a>, <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00095">TensorInfo::GetDataType()</a>, <a class="el" href="_optional_8hpp_source.xhtml#l00053">OptionalBase::has_value()</a>, <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>, <a class="el" href="_types_utils_8hpp_source.xhtml#l00241">armnn::IsQuantized8BitType()</a>, and <a class="el" href="_optional_8hpp_source.xhtml#l00146">OptionalReferenceSwitch&lt; std::is_reference&lt; T &gt;::value, T &gt;::value()</a>.</p>
1204<div class="fragment"><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; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="comment">// Define supported types.</span></div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; std::array&lt;DataType,7&gt; supportedTypes =</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; {</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; };</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160;</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="stringliteral">&quot;Reference DepthwiseConvolution2d: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160;</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="stringliteral">&quot;Reference DepthwiseConvolution2d: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160;</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="stringliteral">&quot;Reference DepthwiseConvolution2d: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <a class="code" href="_deprecated_8hpp.xhtml#ab66a241a0ed3ee89c866e777b035d0ed">ARMNN_NO_DEPRECATE_WARN_BEGIN</a></div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; std::array&lt;DataType, 3&gt; supportedWeightTypes =</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; {</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d">DataType::QuantizedSymm8PerAxis</a> <span class="comment">// deprecated</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; <a class="code" href="_deprecated_8hpp.xhtml#ad762b11b48e5c1d1c1743f529485728a">ARMNN_NO_DEPRECATE_WARN_END</a></div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> inputType = input.GetDataType();</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespacearmnn.xhtml#ad91bc7bfe29186f5d78c28386c6c5309">IsQuantized8BitType</a>(inputType))</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; {</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedWeightTypes), reasonIfUnsupported,</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="stringliteral">&quot;Reference convolution2d: weights type not supported for quantized input.&quot;</span>);</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; }</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; {</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="stringliteral">&quot;Reference DepthwiseConvolution2d: weights is not a supported type.&quot;</span>);</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, weights), reasonIfUnsupported,</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="stringliteral">&quot;Reference DepthwiseConvolution2d: input and weights types mismatched.&quot;</span>);</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;</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">if</span> (biases.has_value())</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; {</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; std::array&lt;DataType,4&gt; biasesSupportedTypes =</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; {</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a></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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(biases.value(), biasesSupportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="stringliteral">&quot;Reference DepthwiseConvolution2d: biases is not a supported type.&quot;</span>);</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; }</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160;</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</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;}</div><div class="ttc" id="_deprecated_8hpp_xhtml_ab66a241a0ed3ee89c866e777b035d0ed"><div class="ttname"><a href="_deprecated_8hpp.xhtml#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.xhtml#l00033">Deprecated.hpp:33</a></div></div>
1205<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d">armnn::DataType::QuantizedSymm8PerAxis</a></div></div>
1206<div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1207<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
1208<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
1209<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1210<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1211<div class="ttc" id="namespacearmnn_xhtml_ad91bc7bfe29186f5d78c28386c6c5309"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00241">TypesUtils.hpp:241</a></div></div>
1212<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">armnn::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.xhtml#l00032">Types.hpp:32</a></div></div>
1213<div class="ttc" id="_deprecated_8hpp_xhtml_ad762b11b48e5c1d1c1743f529485728a"><div class="ttname"><a href="_deprecated_8hpp.xhtml#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.xhtml#l00034">Deprecated.hpp:34</a></div></div>
1214<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1215<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1216<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
1217<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1218<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
1219<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
1220</div><!-- fragment -->
1221</div>
1222</div>
1223<a id="a2e89c72cf60df7c2d2d7e5d98822b672"></a>
1224<h2 class="memtitle"><span class="permalink"><a href="#a2e89c72cf60df7c2d2d7e5d98822b672">&#9670;&nbsp;</a></span>IsDequantizeSupported()</h2>
1225
1226<div class="memitem">
1227<div class="memproto">
1228<table class="mlabels">
1229 <tr>
1230 <td class="mlabels-left">
1231 <table class="memname">
1232 <tr>
1233 <td class="memname">bool IsDequantizeSupported </td>
1234 <td>(</td>
1235 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1236 <td class="paramname"><em>input</em>, </td>
1237 </tr>
1238 <tr>
1239 <td class="paramkey"></td>
1240 <td></td>
1241 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1242 <td class="paramname"><em>output</em>, </td>
1243 </tr>
1244 <tr>
1245 <td class="paramkey"></td>
1246 <td></td>
1247 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1248 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1249 </tr>
1250 <tr>
1251 <td></td>
1252 <td>)</td>
1253 <td></td><td> const</td>
1254 </tr>
1255 </table>
1256 </td>
1257 <td class="mlabels-right">
1258<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1259 </tr>
1260</table>
1261</div><div class="memdoc">
1262
1263<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a2e89c72cf60df7c2d2d7e5d98822b672">LayerSupportBase</a>.</p>
1264
1265<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00624">624</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1266
1267<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>.</p>
1268<div class="fragment"><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; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; std::array&lt;DataType,4&gt; supportedInputTypes = {</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></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;</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedInputTypes), reasonIfUnsupported,</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="stringliteral">&quot;Reference for Dequantize layer: input type not supported.&quot;</span>);</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160;</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>( TypeNotPerAxisQuantized(input), reasonIfUnsupported,</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="stringliteral">&quot;Reference for Dequantize layer: per-axis quantized input not support .&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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeNotPerAxisQuantized(input), reasonIfUnsupported,</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="stringliteral">&quot;Reference dequantize: per-axis quantized input not support .&quot;</span>);</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160;</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; std::array&lt;DataType,3&gt; supportedOutputTypes = {</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a></div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; };</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedOutputTypes), reasonIfUnsupported,</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="stringliteral">&quot;Reference for Dequantize layer: output type not supported.&quot;</span>);</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreSameTotalSize(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</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="l00657"></a><span class="lineno"> 657</span>&#160; <span class="stringliteral">&quot;elements.&quot;</span>);</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1269<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
1270<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1271<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1272<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1273<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
1274<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1275<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
1276<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
1277</div><!-- fragment -->
1278</div>
1279</div>
1280<a id="a50af275d7755a5bb1be69736d7e4b02f"></a>
1281<h2 class="memtitle"><span class="permalink"><a href="#a50af275d7755a5bb1be69736d7e4b02f">&#9670;&nbsp;</a></span>IsDetectionPostProcessSupported()</h2>
1282
1283<div class="memitem">
1284<div class="memproto">
1285<table class="mlabels">
1286 <tr>
1287 <td class="mlabels-left">
1288 <table class="memname">
1289 <tr>
1290 <td class="memname">bool IsDetectionPostProcessSupported </td>
1291 <td>(</td>
1292 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1293 <td class="paramname"><em>boxEncodings</em>, </td>
1294 </tr>
1295 <tr>
1296 <td class="paramkey"></td>
1297 <td></td>
1298 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1299 <td class="paramname"><em>scores</em>, </td>
1300 </tr>
1301 <tr>
1302 <td class="paramkey"></td>
1303 <td></td>
1304 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1305 <td class="paramname"><em>anchors</em>, </td>
1306 </tr>
1307 <tr>
1308 <td class="paramkey"></td>
1309 <td></td>
1310 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1311 <td class="paramname"><em>detectionBoxes</em>, </td>
1312 </tr>
1313 <tr>
1314 <td class="paramkey"></td>
1315 <td></td>
1316 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1317 <td class="paramname"><em>detectionClasses</em>, </td>
1318 </tr>
1319 <tr>
1320 <td class="paramkey"></td>
1321 <td></td>
1322 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1323 <td class="paramname"><em>detectionScores</em>, </td>
1324 </tr>
1325 <tr>
1326 <td class="paramkey"></td>
1327 <td></td>
1328 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1329 <td class="paramname"><em>numDetections</em>, </td>
1330 </tr>
1331 <tr>
1332 <td class="paramkey"></td>
1333 <td></td>
1334 <td class="paramtype">const <a class="el" href="structarmnn_1_1_detection_post_process_descriptor.xhtml">DetectionPostProcessDescriptor</a> &amp;&#160;</td>
1335 <td class="paramname"><em>descriptor</em>, </td>
1336 </tr>
1337 <tr>
1338 <td class="paramkey"></td>
1339 <td></td>
1340 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1341 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1342 </tr>
1343 <tr>
1344 <td></td>
1345 <td>)</td>
1346 <td></td><td> const</td>
1347 </tr>
1348 </table>
1349 </td>
1350 <td class="mlabels-right">
1351<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1352 </tr>
1353</table>
1354</div><div class="memdoc">
1355
1356<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a50af275d7755a5bb1be69736d7e4b02f">LayerSupportBase</a>.</p>
1357
1358<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00662">662</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1359
1360<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1361<div class="fragment"><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;{</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(<a class="code" href="_neon_end_to_end_tests_8cpp.xhtml#ac0981848e4ae57729f14f72bd4caa9f8">anchors</a>, detectionBoxes, detectionClasses, detectionScores, numDetections, descriptor);</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; std::array&lt;DataType,4&gt; supportedInputTypes =</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; {</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><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;</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(<a class="code" href="_neon_end_to_end_tests_8cpp.xhtml#ada422a73ac4e68bcb1b1b1f0b44028d9">boxEncodings</a>, supportedInputTypes), reasonIfUnsupported,</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="stringliteral">&quot;Reference DetectionPostProcess: input 0 is not a supported type.&quot;</span>);</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(<a class="code" href="_neon_end_to_end_tests_8cpp.xhtml#a0348e6bb67ace72535bd105219bb6237">scores</a>, supportedInputTypes), reasonIfUnsupported,</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="stringliteral">&quot;Reference DetectionPostProcess: input 1 is not a supported type.&quot;</span>);</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160;</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1362<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1363<div class="ttc" id="_neon_end_to_end_tests_8cpp_xhtml_ada422a73ac4e68bcb1b1b1f0b44028d9"><div class="ttname"><a href="_neon_end_to_end_tests_8cpp.xhtml#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>
1364<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1365<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1366<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
1367<div class="ttc" id="_neon_end_to_end_tests_8cpp_xhtml_a0348e6bb67ace72535bd105219bb6237"><div class="ttname"><a href="_neon_end_to_end_tests_8cpp.xhtml#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>
1368<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1369<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
1370<div class="ttc" id="_neon_end_to_end_tests_8cpp_xhtml_ac0981848e4ae57729f14f72bd4caa9f8"><div class="ttname"><a href="_neon_end_to_end_tests_8cpp.xhtml#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>
1371</div><!-- fragment -->
1372</div>
1373</div>
1374<a id="a55d91a97ff664f42cd5cd62b60c15f80"></a>
1375<h2 class="memtitle"><span class="permalink"><a href="#a55d91a97ff664f42cd5cd62b60c15f80">&#9670;&nbsp;</a></span>IsDilatedDepthwiseConvolutionSupported()</h2>
1376
1377<div class="memitem">
1378<div class="memproto">
1379<table class="mlabels">
1380 <tr>
1381 <td class="mlabels-left">
1382 <table class="memname">
1383 <tr>
1384 <td class="memname">bool IsDilatedDepthwiseConvolutionSupported </td>
1385 <td>(</td>
1386 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1387 <td class="paramname"><em>input</em>, </td>
1388 </tr>
1389 <tr>
1390 <td class="paramkey"></td>
1391 <td></td>
1392 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1393 <td class="paramname"><em>output</em>, </td>
1394 </tr>
1395 <tr>
1396 <td class="paramkey"></td>
1397 <td></td>
1398 <td class="paramtype">const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml">DepthwiseConvolution2dDescriptor</a> &amp;&#160;</td>
1399 <td class="paramname"><em>descriptor</em>, </td>
1400 </tr>
1401 <tr>
1402 <td class="paramkey"></td>
1403 <td></td>
1404 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1405 <td class="paramname"><em>weights</em>, </td>
1406 </tr>
1407 <tr>
1408 <td class="paramkey"></td>
1409 <td></td>
1410 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &gt; &amp;&#160;</td>
1411 <td class="paramname"><em>biases</em>, </td>
1412 </tr>
1413 <tr>
1414 <td class="paramkey"></td>
1415 <td></td>
1416 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1417 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1418 </tr>
1419 <tr>
1420 <td></td>
1421 <td>)</td>
1422 <td></td><td> const</td>
1423 </tr>
1424 </table>
1425 </td>
1426 <td class="mlabels-right">
1427<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1428 </tr>
1429</table>
1430</div><div class="memdoc">
1431
1432<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a55d91a97ff664f42cd5cd62b60c15f80">LayerSupportBase</a>.</p>
1433
1434<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00693">693</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1435
1436<p class="reference">References <a class="el" href="_layer_support_8cpp_source.xhtml#l00199">armnn::IsDepthwiseConvolutionSupported()</a>.</p>
1437<div class="fragment"><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; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_ref_layer_support.xhtml#adc84390751f227fe03a115b5fa10b0fc">IsDepthwiseConvolutionSupported</a>(input, output, descriptor, weights, biases, reasonIfUnsupported);</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_ref_layer_support_xhtml_adc84390751f227fe03a115b5fa10b0fc"><div class="ttname"><a href="classarmnn_1_1_ref_layer_support.xhtml#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.xhtml#l00551">RefLayerSupport.cpp:551</a></div></div>
1438</div><!-- fragment -->
1439</div>
1440</div>
1441<a id="a08f55136b1f0907e7083d70d719f697f"></a>
1442<h2 class="memtitle"><span class="permalink"><a href="#a08f55136b1f0907e7083d70d719f697f">&#9670;&nbsp;</a></span>IsDivisionSupported()</h2>
1443
1444<div class="memitem">
1445<div class="memproto">
1446<table class="mlabels">
1447 <tr>
1448 <td class="mlabels-left">
1449 <table class="memname">
1450 <tr>
1451 <td class="memname">bool IsDivisionSupported </td>
1452 <td>(</td>
1453 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1454 <td class="paramname"><em>input0</em>, </td>
1455 </tr>
1456 <tr>
1457 <td class="paramkey"></td>
1458 <td></td>
1459 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1460 <td class="paramname"><em>input1</em>, </td>
1461 </tr>
1462 <tr>
1463 <td class="paramkey"></td>
1464 <td></td>
1465 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1466 <td class="paramname"><em>output</em>, </td>
1467 </tr>
1468 <tr>
1469 <td class="paramkey"></td>
1470 <td></td>
1471 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1472 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1473 </tr>
1474 <tr>
1475 <td></td>
1476 <td>)</td>
1477 <td></td><td> const</td>
1478 </tr>
1479 </table>
1480 </td>
1481 <td class="mlabels-right">
1482<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1483 </tr>
1484</table>
1485</div><div class="memdoc">
1486
1487<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a08f55136b1f0907e7083d70d719f697f">LayerSupportBase</a>.</p>
1488
1489<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00703">703</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1490
1491<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>.</p>
1492<div class="fragment"><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160;{</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160;</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; std::array&lt;DataType,5&gt; supportedTypes = {</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; };</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="stringliteral">&quot;Reference division: input 0 is not a supported type.&quot;</span>);</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160;</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input1, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <span class="stringliteral">&quot;Reference division: input 1 is not a supported type.&quot;</span>);</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160;</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="stringliteral">&quot;Reference division: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, input1), reasonIfUnsupported,</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="stringliteral">&quot;Reference division: input 0 and Input 1 types are mismatched&quot;</span>);</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, output), reasonIfUnsupported,</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="stringliteral">&quot;Reference division: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160;</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreBroadcastCompatible(input0, input1, output), reasonIfUnsupported,</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="stringliteral">&quot;Reference division: shapes are not suitable for implicit broadcast.&quot;</span>);</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="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1493<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1494<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1495<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1496<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
1497<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1498<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
1499</div><!-- fragment -->
1500</div>
1501</div>
1502<a id="a61c5b4e5dc224ef0c876e43353b34030"></a>
1503<h2 class="memtitle"><span class="permalink"><a href="#a61c5b4e5dc224ef0c876e43353b34030">&#9670;&nbsp;</a></span>IsElementwiseUnarySupported()</h2>
1504
1505<div class="memitem">
1506<div class="memproto">
1507<table class="mlabels">
1508 <tr>
1509 <td class="mlabels-left">
1510 <table class="memname">
1511 <tr>
1512 <td class="memname">bool IsElementwiseUnarySupported </td>
1513 <td>(</td>
1514 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1515 <td class="paramname"><em>input</em>, </td>
1516 </tr>
1517 <tr>
1518 <td class="paramkey"></td>
1519 <td></td>
1520 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1521 <td class="paramname"><em>output</em>, </td>
1522 </tr>
1523 <tr>
1524 <td class="paramkey"></td>
1525 <td></td>
1526 <td class="paramtype">const <a class="el" href="structarmnn_1_1_elementwise_unary_descriptor.xhtml">ElementwiseUnaryDescriptor</a> &amp;&#160;</td>
1527 <td class="paramname"><em>descriptor</em>, </td>
1528 </tr>
1529 <tr>
1530 <td class="paramkey"></td>
1531 <td></td>
1532 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1533 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1534 </tr>
1535 <tr>
1536 <td></td>
1537 <td>)</td>
1538 <td></td><td> const</td>
1539 </tr>
1540 </table>
1541 </td>
1542 <td class="mlabels-right">
1543<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1544 </tr>
1545</table>
1546</div><div class="memdoc">
1547
1548<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a61c5b4e5dc224ef0c876e43353b34030">LayerSupportBase</a>.</p>
1549
1550<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00739">739</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1551
1552<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1553<div class="fragment"><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; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160;</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; std::array&lt;DataType, 5&gt; supportedTypes =</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; {</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; };</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="stringliteral">&quot;Reference elementwise unary: input type not supported&quot;</span>);</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="stringliteral">&quot;Reference elementwise unary: output type not supported&quot;</span>);</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160;</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="stringliteral">&quot;Reference elementwise unary: input and output types not matching&quot;</span>);</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160;</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreSameTotalSize(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="stringliteral">&quot;Reference elementwise unary: input and output shapes&quot;</span></div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="stringliteral">&quot;have different number of total elements&quot;</span>);</div><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; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1554<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1555<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1556<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1557<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1558<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
1559<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1560<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
1561</div><!-- fragment -->
1562</div>
1563</div>
1564<a id="afb6ad04c6ff234b193f3dfc0cfabcbd5"></a>
1565<h2 class="memtitle"><span class="permalink"><a href="#afb6ad04c6ff234b193f3dfc0cfabcbd5">&#9670;&nbsp;</a></span>IsEqualSupported()</h2>
1566
1567<div class="memitem">
1568<div class="memproto">
1569<table class="mlabels">
1570 <tr>
1571 <td class="mlabels-left">
1572 <table class="memname">
1573 <tr>
1574 <td class="memname">bool IsEqualSupported </td>
1575 <td>(</td>
1576 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1577 <td class="paramname"><em>input0</em>, </td>
1578 </tr>
1579 <tr>
1580 <td class="paramkey"></td>
1581 <td></td>
1582 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1583 <td class="paramname"><em>input1</em>, </td>
1584 </tr>
1585 <tr>
1586 <td class="paramkey"></td>
1587 <td></td>
1588 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1589 <td class="paramname"><em>output</em>, </td>
1590 </tr>
1591 <tr>
1592 <td class="paramkey"></td>
1593 <td></td>
1594 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1595 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1596 </tr>
1597 <tr>
1598 <td></td>
1599 <td>)</td>
1600 <td></td><td> const</td>
1601 </tr>
1602 </table>
1603 </td>
1604 <td class="mlabels-right">
1605<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1606 </tr>
1607</table>
1608</div><div class="memdoc">
1609
1610<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#afb6ad04c6ff234b193f3dfc0cfabcbd5">LayerSupportBase</a>.</p>
1611
1612<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00773">773</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1613<div class="fragment"><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; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_ref_layer_support.xhtml#a7c52726a684dd76258c61af124012537">IsComparisonSupported</a>(input0,</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; input1,</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; output,</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; ComparisonDescriptor(<a class="code" href="namespacearmnn.xhtml#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">ComparisonOperation::Equal</a>),</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; reasonIfUnsupported);</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_ref_layer_support_xhtml_a7c52726a684dd76258c61af124012537"><div class="ttname"><a href="classarmnn_1_1_ref_layer_support.xhtml#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.xhtml#l00298">RefLayerSupport.cpp:298</a></div></div>
1614<div class="ttc" id="namespacearmnn_xhtml_a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5"><div class="ttname"><a href="namespacearmnn.xhtml#a2d299363c9fc33334c571fa29ca4f58caf5f286e73bda105e538310b3190f75c5">armnn::ComparisonOperation::Equal</a></div></div>
1615</div><!-- fragment -->
1616</div>
1617</div>
1618<a id="aab7318aa8adc0a8a3b6a1780cfc1f90b"></a>
1619<h2 class="memtitle"><span class="permalink"><a href="#aab7318aa8adc0a8a3b6a1780cfc1f90b">&#9670;&nbsp;</a></span>IsFakeQuantizationSupported()</h2>
1620
1621<div class="memitem">
1622<div class="memproto">
1623<table class="mlabels">
1624 <tr>
1625 <td class="mlabels-left">
1626 <table class="memname">
1627 <tr>
1628 <td class="memname">bool IsFakeQuantizationSupported </td>
1629 <td>(</td>
1630 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1631 <td class="paramname"><em>input</em>, </td>
1632 </tr>
1633 <tr>
1634 <td class="paramkey"></td>
1635 <td></td>
1636 <td class="paramtype">const <a class="el" href="structarmnn_1_1_fake_quantization_descriptor.xhtml">FakeQuantizationDescriptor</a> &amp;&#160;</td>
1637 <td class="paramname"><em>descriptor</em>, </td>
1638 </tr>
1639 <tr>
1640 <td class="paramkey"></td>
1641 <td></td>
1642 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1643 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1644 </tr>
1645 <tr>
1646 <td></td>
1647 <td>)</td>
1648 <td></td><td> const</td>
1649 </tr>
1650 </table>
1651 </td>
1652 <td class="mlabels-right">
1653<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1654 </tr>
1655</table>
1656</div><div class="memdoc">
1657
1658<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#aab7318aa8adc0a8a3b6a1780cfc1f90b">LayerSupportBase</a>.</p>
1659
1660<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00785">785</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1661
1662<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1663<div class="fragment"><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;{</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160;</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; std::array&lt;DataType,1&gt; supportedTypes =</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; {</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a></div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; };</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="stringliteral">&quot;Reference fake quantization: input type not supported.&quot;</span>);</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1664<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1665<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1666<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
1667</div><!-- fragment -->
1668</div>
1669</div>
1670<a id="a53c7593d1aa26207eac5d5814a9d56dc"></a>
1671<h2 class="memtitle"><span class="permalink"><a href="#a53c7593d1aa26207eac5d5814a9d56dc">&#9670;&nbsp;</a></span>IsFloorSupported()</h2>
1672
1673<div class="memitem">
1674<div class="memproto">
1675<table class="mlabels">
1676 <tr>
1677 <td class="mlabels-left">
1678 <table class="memname">
1679 <tr>
1680 <td class="memname">bool IsFloorSupported </td>
1681 <td>(</td>
1682 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1683 <td class="paramname"><em>input</em>, </td>
1684 </tr>
1685 <tr>
1686 <td class="paramkey"></td>
1687 <td></td>
1688 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1689 <td class="paramname"><em>output</em>, </td>
1690 </tr>
1691 <tr>
1692 <td class="paramkey"></td>
1693 <td></td>
1694 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1695 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1696 </tr>
1697 <tr>
1698 <td></td>
1699 <td>)</td>
1700 <td></td><td> const</td>
1701 </tr>
1702 </table>
1703 </td>
1704 <td class="mlabels-right">
1705<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1706 </tr>
1707</table>
1708</div><div class="memdoc">
1709
1710<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a53c7593d1aa26207eac5d5814a9d56dc">LayerSupportBase</a>.</p>
1711
1712<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00803">803</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1713
1714<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
1715<div class="fragment"><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;{</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(output);</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160;</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; std::array&lt;DataType,4&gt; supportedTypes =</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; {</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; };</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160;</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="stringliteral">&quot;Reference Floor: input type not supported.&quot;</span>);</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160;</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="stringliteral">&quot;Reference Floor: output type not supported.&quot;</span>);</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; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1716<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1717<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
1718<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1719<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
1720<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1721<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
1722</div><!-- fragment -->
1723</div>
1724</div>
1725<a id="aeaf971dd9dffd6f6bc7e5a1ae6b6af5c"></a>
1726<h2 class="memtitle"><span class="permalink"><a href="#aeaf971dd9dffd6f6bc7e5a1ae6b6af5c">&#9670;&nbsp;</a></span>IsFullyConnectedSupported()</h2>
1727
1728<div class="memitem">
1729<div class="memproto">
1730<table class="mlabels">
1731 <tr>
1732 <td class="mlabels-left">
1733 <table class="memname">
1734 <tr>
1735 <td class="memname">bool IsFullyConnectedSupported </td>
1736 <td>(</td>
1737 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1738 <td class="paramname"><em>input</em>, </td>
1739 </tr>
1740 <tr>
1741 <td class="paramkey"></td>
1742 <td></td>
1743 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1744 <td class="paramname"><em>output</em>, </td>
1745 </tr>
1746 <tr>
1747 <td class="paramkey"></td>
1748 <td></td>
1749 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1750 <td class="paramname"><em>weights</em>, </td>
1751 </tr>
1752 <tr>
1753 <td class="paramkey"></td>
1754 <td></td>
1755 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1756 <td class="paramname"><em>biases</em>, </td>
1757 </tr>
1758 <tr>
1759 <td class="paramkey"></td>
1760 <td></td>
1761 <td class="paramtype">const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.xhtml">FullyConnectedDescriptor</a> &amp;&#160;</td>
1762 <td class="paramname"><em>descriptor</em>, </td>
1763 </tr>
1764 <tr>
1765 <td class="paramkey"></td>
1766 <td></td>
1767 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1768 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1769 </tr>
1770 <tr>
1771 <td></td>
1772 <td>)</td>
1773 <td></td><td> const</td>
1774 </tr>
1775 </table>
1776 </td>
1777 <td class="mlabels-right">
1778<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1779 </tr>
1780</table>
1781</div><div class="memdoc">
1782
1783<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#aeaf971dd9dffd6f6bc7e5a1ae6b6af5c">LayerSupportBase</a>.</p>
1784
1785<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00827">827</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1786
1787<p class="reference">References <a class="el" href="_deprecated_8hpp_source.xhtml#l00033">ARMNN_NO_DEPRECATE_WARN_BEGIN</a>, <a class="el" href="_deprecated_8hpp_source.xhtml#l00034">ARMNN_NO_DEPRECATE_WARN_END</a>, <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00095">TensorInfo::GetDataType()</a>, <a class="el" href="_types_utils_8hpp_source.xhtml#l00241">armnn::IsQuantized8BitType()</a>, and <a class="el" href="_descriptors_8hpp_source.xhtml#l00386">FullyConnectedDescriptor::m_BiasEnabled</a>.</p>
1788<div class="fragment"><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; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160;</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; <span class="comment">// Define supported types.</span></div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; std::array&lt;DataType,6&gt; supportedTypes =</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; {</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></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;</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: input type not supported.&quot;</span>);</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: output type not supported.&quot;</span>);</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160;</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160;</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: weights type not supported.&quot;</span>);</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160;</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <a class="code" href="_deprecated_8hpp.xhtml#ab66a241a0ed3ee89c866e777b035d0ed">ARMNN_NO_DEPRECATE_WARN_BEGIN</a></div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; std::array&lt;DataType, 3&gt; supportedWeightTypes =</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; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d">DataType::QuantizedSymm8PerAxis</a> <span class="comment">// deprecated</span></div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; };</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <a class="code" href="_deprecated_8hpp.xhtml#ad762b11b48e5c1d1c1743f529485728a">ARMNN_NO_DEPRECATE_WARN_END</a></div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160;</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespacearmnn.xhtml#ad91bc7bfe29186f5d78c28386c6c5309">IsQuantized8BitType</a>(input.GetDataType()))</div><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;</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedWeightTypes), reasonIfUnsupported,</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: weights type not supported for quantized input.&quot;</span>);</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; }</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; {</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: weights is not a supported type.&quot;</span>);</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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, weights), reasonIfUnsupported,</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: input and weights types mismatched.&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;</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <span class="keywordflow">if</span> (descriptor.m_BiasEnabled)</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; <span class="comment">// Defined supported types for bias</span></div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; std::array&lt;DataType, 4&gt;</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; supportedBiasTypes =</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; {</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a></div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; };</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160;</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(biases, supportedBiasTypes), reasonIfUnsupported,</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: bias type not supported.&quot;</span>);</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160;</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(BiasAndWeightsTypesMatch(biases, weights), reasonIfUnsupported,</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: bias and weight types mismatch.&quot;</span>);</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160;</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(BiasAndWeightsTypesCompatible(weights, supportedBiasTypes), reasonIfUnsupported,</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <span class="stringliteral">&quot;Reference Fully Connected: bias type inferred from weights is incompatible.&quot;</span>);</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160;</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; }</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160;</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160;}</div><div class="ttc" id="_deprecated_8hpp_xhtml_ab66a241a0ed3ee89c866e777b035d0ed"><div class="ttname"><a href="_deprecated_8hpp.xhtml#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.xhtml#l00033">Deprecated.hpp:33</a></div></div>
1789<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d">armnn::DataType::QuantizedSymm8PerAxis</a></div></div>
1790<div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1791<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
1792<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
1793<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1794<div class="ttc" id="namespacearmnn_xhtml_ad91bc7bfe29186f5d78c28386c6c5309"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00241">TypesUtils.hpp:241</a></div></div>
1795<div class="ttc" id="_deprecated_8hpp_xhtml_ad762b11b48e5c1d1c1743f529485728a"><div class="ttname"><a href="_deprecated_8hpp.xhtml#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.xhtml#l00034">Deprecated.hpp:34</a></div></div>
1796<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1797<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1798<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
1799<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1800<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
1801<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
1802</div><!-- fragment -->
1803</div>
1804</div>
1805<a id="aef77aa4bb0e68e88dcf5ab8b5882a2d3"></a>
1806<h2 class="memtitle"><span class="permalink"><a href="#aef77aa4bb0e68e88dcf5ab8b5882a2d3">&#9670;&nbsp;</a></span>IsGatherSupported()</h2>
1807
1808<div class="memitem">
1809<div class="memproto">
1810<table class="mlabels">
1811 <tr>
1812 <td class="mlabels-left">
1813 <table class="memname">
1814 <tr>
1815 <td class="memname">bool IsGatherSupported </td>
1816 <td>(</td>
1817 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1818 <td class="paramname"><em>input0</em>, </td>
1819 </tr>
1820 <tr>
1821 <td class="paramkey"></td>
1822 <td></td>
1823 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1824 <td class="paramname"><em>input1</em>, </td>
1825 </tr>
1826 <tr>
1827 <td class="paramkey"></td>
1828 <td></td>
1829 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1830 <td class="paramname"><em>output</em>, </td>
1831 </tr>
1832 <tr>
1833 <td class="paramkey"></td>
1834 <td></td>
1835 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1836 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1837 </tr>
1838 <tr>
1839 <td></td>
1840 <td>)</td>
1841 <td></td><td> const</td>
1842 </tr>
1843 </table>
1844 </td>
1845 <td class="mlabels-right">
1846<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1847 </tr>
1848</table>
1849</div><div class="memdoc">
1850
1851<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#aef77aa4bb0e68e88dcf5ab8b5882a2d3">LayerSupportBase</a>.</p>
1852
1853<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00909">909</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1854
1855<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>.</p>
1856<div class="fragment"><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160;{</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; std::array&lt;DataType,5&gt; supportedTypes =</div><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; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; };</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <span class="stringliteral">&quot;Reference Gather: input type not supported&quot;</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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="stringliteral">&quot;Reference Gather: output 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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeIs(input1, <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a>), reasonIfUnsupported,</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="stringliteral">&quot;Reference Gather: indices (input1) 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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, output), reasonIfUnsupported,</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <span class="stringliteral">&quot;Reference Gather: input and output types not matching&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; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
1857<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
1858<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
1859<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
1860<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
1861<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
1862<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
1863<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
1864</div><!-- fragment -->
1865</div>
1866</div>
1867<a id="a14e45f3699e823d7859d5d352d89265c"></a>
1868<h2 class="memtitle"><span class="permalink"><a href="#a14e45f3699e823d7859d5d352d89265c">&#9670;&nbsp;</a></span>IsGreaterSupported()</h2>
1869
1870<div class="memitem">
1871<div class="memproto">
1872<table class="mlabels">
1873 <tr>
1874 <td class="mlabels-left">
1875 <table class="memname">
1876 <tr>
1877 <td class="memname">bool IsGreaterSupported </td>
1878 <td>(</td>
1879 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1880 <td class="paramname"><em>input0</em>, </td>
1881 </tr>
1882 <tr>
1883 <td class="paramkey"></td>
1884 <td></td>
1885 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1886 <td class="paramname"><em>input1</em>, </td>
1887 </tr>
1888 <tr>
1889 <td class="paramkey"></td>
1890 <td></td>
1891 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1892 <td class="paramname"><em>output</em>, </td>
1893 </tr>
1894 <tr>
1895 <td class="paramkey"></td>
1896 <td></td>
1897 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1898 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1899 </tr>
1900 <tr>
1901 <td></td>
1902 <td>)</td>
1903 <td></td><td> const</td>
1904 </tr>
1905 </table>
1906 </td>
1907 <td class="mlabels-right">
1908<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1909 </tr>
1910</table>
1911</div><div class="memdoc">
1912
1913<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a14e45f3699e823d7859d5d352d89265c">LayerSupportBase</a>.</p>
1914
1915<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00939">939</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1916<div class="fragment"><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160;{</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_ref_layer_support.xhtml#a7c52726a684dd76258c61af124012537">IsComparisonSupported</a>(input0,</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; input1,</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; output,</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; ComparisonDescriptor(<a class="code" href="namespacearmnn.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">ComparisonOperation::Greater</a>),</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; reasonIfUnsupported);</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a"><div class="ttname"><a href="namespacearmnn.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">armnn::ComparisonOperation::Greater</a></div></div>
1917<div class="ttc" id="classarmnn_1_1_ref_layer_support_xhtml_a7c52726a684dd76258c61af124012537"><div class="ttname"><a href="classarmnn_1_1_ref_layer_support.xhtml#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.xhtml#l00298">RefLayerSupport.cpp:298</a></div></div>
1918</div><!-- fragment -->
1919</div>
1920</div>
1921<a id="ad29d99ecd719c640ed22dcf5c688c6a5"></a>
1922<h2 class="memtitle"><span class="permalink"><a href="#ad29d99ecd719c640ed22dcf5c688c6a5">&#9670;&nbsp;</a></span>IsInputSupported()</h2>
1923
1924<div class="memitem">
1925<div class="memproto">
1926<table class="mlabels">
1927 <tr>
1928 <td class="mlabels-left">
1929 <table class="memname">
1930 <tr>
1931 <td class="memname">bool IsInputSupported </td>
1932 <td>(</td>
1933 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1934 <td class="paramname"><em>input</em>, </td>
1935 </tr>
1936 <tr>
1937 <td class="paramkey"></td>
1938 <td></td>
1939 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1940 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1941 </tr>
1942 <tr>
1943 <td></td>
1944 <td>)</td>
1945 <td></td><td> const</td>
1946 </tr>
1947 </table>
1948 </td>
1949 <td class="mlabels-right">
1950<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1951 </tr>
1952</table>
1953</div><div class="memdoc">
1954
1955<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#ad29d99ecd719c640ed22dcf5c688c6a5">LayerSupportBase</a>.</p>
1956
1957<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00951">951</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
1958<div class="fragment"><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160;{</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160;}</div></div><!-- fragment -->
1959</div>
1960</div>
1961<a id="a0813546a09bf2caba6794014d1960624"></a>
1962<h2 class="memtitle"><span class="permalink"><a href="#a0813546a09bf2caba6794014d1960624">&#9670;&nbsp;</a></span>IsInstanceNormalizationSupported()</h2>
1963
1964<div class="memitem">
1965<div class="memproto">
1966<table class="mlabels">
1967 <tr>
1968 <td class="mlabels-left">
1969 <table class="memname">
1970 <tr>
1971 <td class="memname">bool IsInstanceNormalizationSupported </td>
1972 <td>(</td>
1973 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1974 <td class="paramname"><em>input</em>, </td>
1975 </tr>
1976 <tr>
1977 <td class="paramkey"></td>
1978 <td></td>
1979 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1980 <td class="paramname"><em>output</em>, </td>
1981 </tr>
1982 <tr>
1983 <td class="paramkey"></td>
1984 <td></td>
1985 <td class="paramtype">const <a class="el" href="structarmnn_1_1_instance_normalization_descriptor.xhtml">InstanceNormalizationDescriptor</a> &amp;&#160;</td>
1986 <td class="paramname"><em>descriptor</em>, </td>
1987 </tr>
1988 <tr>
1989 <td class="paramkey"></td>
1990 <td></td>
1991 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1992 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1993 </tr>
1994 <tr>
1995 <td></td>
1996 <td>)</td>
1997 <td></td><td> const</td>
1998 </tr>
1999 </table>
2000 </td>
2001 <td class="mlabels-right">
2002<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2003 </tr>
2004</table>
2005</div><div class="memdoc">
2006
2007<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a0813546a09bf2caba6794014d1960624">LayerSupportBase</a>.</p>
2008
2009<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00957">957</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2010
2011<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
2012<div class="fragment"><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160;{</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="comment">// Define supported types</span></div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; std::array&lt;DataType, 3&gt; supportedTypes =</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; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a></div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; };</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160;</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; <span class="stringliteral">&quot;Reference Instance Normalization: input type not supported.&quot;</span>);</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160;</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; <span class="stringliteral">&quot;Reference Instance Normalization: output type not supported.&quot;</span>);</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160;</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; <span class="stringliteral">&quot;Reference Instance Normalization: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160;</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreSameTotalSize(input, output), reasonIfUnsupported,</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; <span class="stringliteral">&quot;Reference Instance Normalization: input and output shapes have different &quot;</span></div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; <span class="stringliteral">&quot;num total elements.&quot;</span>);</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160;</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2013<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
2014<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2015<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
2016<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2017<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
2018</div><!-- fragment -->
2019</div>
2020</div>
2021<a id="aca4acda7ab553edfda828658d8f3882b"></a>
2022<h2 class="memtitle"><span class="permalink"><a href="#aca4acda7ab553edfda828658d8f3882b">&#9670;&nbsp;</a></span>IsL2NormalizationSupported()</h2>
2023
2024<div class="memitem">
2025<div class="memproto">
2026<table class="mlabels">
2027 <tr>
2028 <td class="mlabels-left">
2029 <table class="memname">
2030 <tr>
2031 <td class="memname">bool IsL2NormalizationSupported </td>
2032 <td>(</td>
2033 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2034 <td class="paramname"><em>input</em>, </td>
2035 </tr>
2036 <tr>
2037 <td class="paramkey"></td>
2038 <td></td>
2039 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2040 <td class="paramname"><em>output</em>, </td>
2041 </tr>
2042 <tr>
2043 <td class="paramkey"></td>
2044 <td></td>
2045 <td class="paramtype">const <a class="el" href="structarmnn_1_1_l2_normalization_descriptor.xhtml">L2NormalizationDescriptor</a> &amp;&#160;</td>
2046 <td class="paramname"><em>descriptor</em>, </td>
2047 </tr>
2048 <tr>
2049 <td class="paramkey"></td>
2050 <td></td>
2051 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2052 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2053 </tr>
2054 <tr>
2055 <td></td>
2056 <td>)</td>
2057 <td></td><td> const</td>
2058 </tr>
2059 </table>
2060 </td>
2061 <td class="mlabels-right">
2062<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2063 </tr>
2064</table>
2065</div><div class="memdoc">
2066
2067<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#aca4acda7ab553edfda828658d8f3882b">LayerSupportBase</a>.</p>
2068
2069<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l00989">989</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2070
2071<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
2072<div class="fragment"><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160;{</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; <span class="comment">// Define supported types</span></div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; std::array&lt;DataType, 5&gt; supportedTypes =</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; {</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; };</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <span class="stringliteral">&quot;Reference L2normalization: input type not supported.&quot;</span>);</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; <span class="stringliteral">&quot;Reference L2normalization: output type not supported.&quot;</span>);</div><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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; <span class="stringliteral">&quot;Reference L2normalization: input and output types mismatched.&quot;</span>);</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreSameTotalSize(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; <span class="stringliteral">&quot;Reference L2normalization: input and output shapes have different &quot;</span></div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; <span class="stringliteral">&quot;num total elements.&quot;</span>);</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2073<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2074<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
2075<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2076<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2077<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
2078<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2079<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
2080</div><!-- fragment -->
2081</div>
2082</div>
2083<a id="a6d414f4983a5ca9596d84e340e6fd895"></a>
2084<h2 class="memtitle"><span class="permalink"><a href="#a6d414f4983a5ca9596d84e340e6fd895">&#9670;&nbsp;</a></span>IsLogSoftmaxSupported()</h2>
2085
2086<div class="memitem">
2087<div class="memproto">
2088<table class="mlabels">
2089 <tr>
2090 <td class="mlabels-left">
2091 <table class="memname">
2092 <tr>
2093 <td class="memname">bool IsLogSoftmaxSupported </td>
2094 <td>(</td>
2095 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2096 <td class="paramname"><em>input</em>, </td>
2097 </tr>
2098 <tr>
2099 <td class="paramkey"></td>
2100 <td></td>
2101 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2102 <td class="paramname"><em>output</em>, </td>
2103 </tr>
2104 <tr>
2105 <td class="paramkey"></td>
2106 <td></td>
2107 <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#ac14705405cbcdd580df613de6766fe65">LogSoftmaxDescriptor</a> &amp;&#160;</td>
2108 <td class="paramname"><em>descriptor</em>, </td>
2109 </tr>
2110 <tr>
2111 <td class="paramkey"></td>
2112 <td></td>
2113 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2114 <td class="paramname"><em>reasonIfUnsupported</em>&#160;</td>
2115 </tr>
2116 <tr>
2117 <td></td>
2118 <td>)</td>
2119 <td></td><td> const</td>
2120 </tr>
2121 </table>
2122 </td>
2123 <td class="mlabels-right">
2124<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2125 </tr>
2126</table>
2127</div><div class="memdoc">
2128
2129<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#aa0380b797cb9932fb03067dbe2cdecfb">LayerSupportBase</a>.</p>
2130
2131<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01023">1023</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2132
2133<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
2134<div class="fragment"><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;{</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; std::array&lt;DataType, 3&gt; supportedTypes =</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; {</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a></div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; };</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; <span class="stringliteral">&quot;Reference LogSoftmax: input type not supported&quot;</span>);</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; <span class="stringliteral">&quot;Reference LogSoftmax: output type not supported&quot;</span>);</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; <span class="stringliteral">&quot;Reference LogSoftmax: input and output types do not match&quot;</span>);</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2135<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
2136<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2137<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
2138<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2139<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
2140</div><!-- fragment -->
2141</div>
2142</div>
2143<a id="a862535721737220f62a49f14ff494dd5"></a>
2144<h2 class="memtitle"><span class="permalink"><a href="#a862535721737220f62a49f14ff494dd5">&#9670;&nbsp;</a></span>IsLstmSupported()</h2>
2145
2146<div class="memitem">
2147<div class="memproto">
2148<table class="mlabels">
2149 <tr>
2150 <td class="mlabels-left">
2151 <table class="memname">
2152 <tr>
2153 <td class="memname">bool IsLstmSupported </td>
2154 <td>(</td>
2155 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2156 <td class="paramname"><em>input</em>, </td>
2157 </tr>
2158 <tr>
2159 <td class="paramkey"></td>
2160 <td></td>
2161 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2162 <td class="paramname"><em>outputStateIn</em>, </td>
2163 </tr>
2164 <tr>
2165 <td class="paramkey"></td>
2166 <td></td>
2167 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2168 <td class="paramname"><em>cellStateIn</em>, </td>
2169 </tr>
2170 <tr>
2171 <td class="paramkey"></td>
2172 <td></td>
2173 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2174 <td class="paramname"><em>scratchBuffer</em>, </td>
2175 </tr>
2176 <tr>
2177 <td class="paramkey"></td>
2178 <td></td>
2179 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2180 <td class="paramname"><em>outputStateOut</em>, </td>
2181 </tr>
2182 <tr>
2183 <td class="paramkey"></td>
2184 <td></td>
2185 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2186 <td class="paramname"><em>cellStateOut</em>, </td>
2187 </tr>
2188 <tr>
2189 <td class="paramkey"></td>
2190 <td></td>
2191 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2192 <td class="paramname"><em>output</em>, </td>
2193 </tr>
2194 <tr>
2195 <td class="paramkey"></td>
2196 <td></td>
2197 <td class="paramtype">const <a class="el" href="structarmnn_1_1_lstm_descriptor.xhtml">LstmDescriptor</a> &amp;&#160;</td>
2198 <td class="paramname"><em>descriptor</em>, </td>
2199 </tr>
2200 <tr>
2201 <td class="paramkey"></td>
2202 <td></td>
2203 <td class="paramtype">const <a class="el" href="structarmnn_1_1_lstm_input_params_info.xhtml">LstmInputParamsInfo</a> &amp;&#160;</td>
2204 <td class="paramname"><em>paramsInfo</em>, </td>
2205 </tr>
2206 <tr>
2207 <td class="paramkey"></td>
2208 <td></td>
2209 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2210 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2211 </tr>
2212 <tr>
2213 <td></td>
2214 <td>)</td>
2215 <td></td><td> const</td>
2216 </tr>
2217 </table>
2218 </td>
2219 <td class="mlabels-right">
2220<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2221 </tr>
2222</table>
2223</div><div class="memdoc">
2224
2225<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a862535721737220f62a49f14ff494dd5">LayerSupportBase</a>.</p>
2226
2227<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01050">1050</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2228
2229<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00173">LstmInputParamsInfo::GetCellBias()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00197">LstmInputParamsInfo::GetCellLayerNormWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00157">LstmInputParamsInfo::GetCellToForgetWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00153">LstmInputParamsInfo::GetCellToInputWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00161">LstmInputParamsInfo::GetCellToOutputWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00169">LstmInputParamsInfo::GetForgetGateBias()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00193">LstmInputParamsInfo::GetForgetLayerNormWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00165">LstmInputParamsInfo::GetInputGateBias()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00189">LstmInputParamsInfo::GetInputLayerNormWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00129">LstmInputParamsInfo::GetInputToCellWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00125">LstmInputParamsInfo::GetInputToForgetWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00121">LstmInputParamsInfo::GetInputToInputWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00133">LstmInputParamsInfo::GetInputToOutputWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00177">LstmInputParamsInfo::GetOutputGateBias()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00201">LstmInputParamsInfo::GetOutputLayerNormWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00185">LstmInputParamsInfo::GetProjectionBias()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00181">LstmInputParamsInfo::GetProjectionWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00145">LstmInputParamsInfo::GetRecurrentToCellWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00141">LstmInputParamsInfo::GetRecurrentToForgetWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00137">LstmInputParamsInfo::GetRecurrentToInputWeights()</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00149">LstmInputParamsInfo::GetRecurrentToOutputWeights()</a>, <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00867">LstmDescriptor::m_CifgEnabled</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00873">LstmDescriptor::m_LayerNormEnabled</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00869">LstmDescriptor::m_PeepholeEnabled</a>, <a class="el" href="_lstm_params_8hpp_source.xhtml#l00105">LstmInputParamsInfo::m_ProjectionBias</a>, and <a class="el" href="_descriptors_8hpp_source.xhtml#l00871">LstmDescriptor::m_ProjectionEnabled</a>.</p>
2230<div class="fragment"><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;{</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(paramsInfo);</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; std::array&lt;DataType,3&gt; supportedTypes = {</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160; };</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; <span class="comment">// check inputs and outputs</span></div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, outputStateIn), reasonIfUnsupported,</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and outputStateIn 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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, cellStateIn), reasonIfUnsupported,</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and cellStateIn types are mismatched&quot;</span>);</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, scratchBuffer), reasonIfUnsupported,</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and scratchBuffer types are mismatched&quot;</span>);</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, outputStateOut), reasonIfUnsupported,</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and outputStateOut types are mismatched&quot;</span>);</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, cellStateOut), reasonIfUnsupported,</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and cellStateOut types are mismatched&quot;</span>);</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; <span class="comment">// check layer parameters</span></div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetInputToForgetWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and InputToForgetWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetInputToCellWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and InputToCellWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetInputToOutputWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and InputToOutputWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetRecurrentToForgetWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and RecurrentToForgetWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetRecurrentToCellWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and RecurrentToCellWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetRecurrentToOutputWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and RecurrentToOutputWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetForgetGateBias()), reasonIfUnsupported,</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and ForgetGateBias types are mismatched&quot;</span>);</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetCellBias()), reasonIfUnsupported,</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and CellBias 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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetOutputGateBias()), reasonIfUnsupported,</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and OutputGateBias types are mismatched&quot;</span>);</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160; <span class="keywordflow">if</span> (!descriptor.m_CifgEnabled)</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetInputToInputWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and InputToInputWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetRecurrentToInputWeights()),</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and RecurrentToInputWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetInputGateBias()), reasonIfUnsupported,</div><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and InputGateBias types are mismatched&quot;</span>);</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160; <span class="keywordflow">if</span> (descriptor.m_PeepholeEnabled)</div><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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetCellToInputWeights()),</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and CellToInputWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; }</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160; }</div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160; <span class="keywordflow">if</span> (descriptor.m_PeepholeEnabled)</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160; {</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetCellToForgetWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and CellToForgetWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetCellToOutputWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and CellToOutputWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160; }</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160; <span class="keywordflow">if</span> (descriptor.m_ProjectionEnabled)</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160; {</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetProjectionWeights()), reasonIfUnsupported,</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and mProjectionWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160; <span class="keywordflow">if</span> (paramsInfo.m_ProjectionBias != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160; {</div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetProjectionBias()), reasonIfUnsupported,</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and ProjectionBias types are mismatched&quot;</span>);</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160; }</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; <span class="keywordflow">if</span> (descriptor.m_LayerNormEnabled)</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160; {</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160; <span class="keywordflow">if</span> (!descriptor.m_CifgEnabled)</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160; {</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetInputLayerNormWeights()),</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and InputLayerNormWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160; }</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetForgetLayerNormWeights()),</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and ForgetLayerNormWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetCellLayerNormWeights()),</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and CellLayerNormWeights types are mismatched&quot;</span>);</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, paramsInfo.GetOutputLayerNormWeights()),</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160; <span class="stringliteral">&quot;Reference Lstm: input and OutputLayerNormWeights types are mismatched&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;</div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2231<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2232<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
2233<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
2234<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2235<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
2236</div><!-- fragment -->
2237</div>
2238</div>
2239<a id="afef9436c86b37b973471f2ae546ac00a"></a>
2240<h2 class="memtitle"><span class="permalink"><a href="#afef9436c86b37b973471f2ae546ac00a">&#9670;&nbsp;</a></span>IsMaximumSupported()</h2>
2241
2242<div class="memitem">
2243<div class="memproto">
2244<table class="mlabels">
2245 <tr>
2246 <td class="mlabels-left">
2247 <table class="memname">
2248 <tr>
2249 <td class="memname">bool IsMaximumSupported </td>
2250 <td>(</td>
2251 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2252 <td class="paramname"><em>input0</em>, </td>
2253 </tr>
2254 <tr>
2255 <td class="paramkey"></td>
2256 <td></td>
2257 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2258 <td class="paramname"><em>input1</em>, </td>
2259 </tr>
2260 <tr>
2261 <td class="paramkey"></td>
2262 <td></td>
2263 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2264 <td class="paramname"><em>output</em>, </td>
2265 </tr>
2266 <tr>
2267 <td class="paramkey"></td>
2268 <td></td>
2269 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2270 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2271 </tr>
2272 <tr>
2273 <td></td>
2274 <td>)</td>
2275 <td></td><td> const</td>
2276 </tr>
2277 </table>
2278 </td>
2279 <td class="mlabels-right">
2280<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2281 </tr>
2282</table>
2283</div><div class="memdoc">
2284
2285<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#afef9436c86b37b973471f2ae546ac00a">LayerSupportBase</a>.</p>
2286
2287<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01161">1161</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2288
2289<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>.</p>
2290<div class="fragment"><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;{</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</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; std::array&lt;DataType,6&gt; supportedTypes = {</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160; };</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160; <span class="stringliteral">&quot;Reference maximum: input 0 is not a supported type.&quot;</span>);</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input1, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160; <span class="stringliteral">&quot;Reference maximum: input 1 is not a supported type.&quot;</span>);</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160; <span class="stringliteral">&quot;Reference maximum: output is not a supported type.&quot;</span>);</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, input1), reasonIfUnsupported,</div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160; <span class="stringliteral">&quot;Reference maximum: input 0 and Input 1 types are mismatched&quot;</span>);</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, output), reasonIfUnsupported,</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160; <span class="stringliteral">&quot;Reference maximum: input and output types are mismatched&quot;</span>);</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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreBroadcastCompatible(input0, input1, output), reasonIfUnsupported,</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160; <span class="stringliteral">&quot;Reference maximum: shapes are not suitable for implicit broadcast.&quot;</span>);</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160;</div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2291<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
2292<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2293<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2294<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2295<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
2296<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2297<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
2298</div><!-- fragment -->
2299</div>
2300</div>
2301<a id="ab268618580d4f53bf5e9b5a47dee3f6a"></a>
2302<h2 class="memtitle"><span class="permalink"><a href="#ab268618580d4f53bf5e9b5a47dee3f6a">&#9670;&nbsp;</a></span>IsMeanSupported()</h2>
2303
2304<div class="memitem">
2305<div class="memproto">
2306<table class="mlabels">
2307 <tr>
2308 <td class="mlabels-left">
2309 <table class="memname">
2310 <tr>
2311 <td class="memname">bool IsMeanSupported </td>
2312 <td>(</td>
2313 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2314 <td class="paramname"><em>input</em>, </td>
2315 </tr>
2316 <tr>
2317 <td class="paramkey"></td>
2318 <td></td>
2319 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2320 <td class="paramname"><em>output</em>, </td>
2321 </tr>
2322 <tr>
2323 <td class="paramkey"></td>
2324 <td></td>
2325 <td class="paramtype">const <a class="el" href="structarmnn_1_1_mean_descriptor.xhtml">MeanDescriptor</a> &amp;&#160;</td>
2326 <td class="paramname"><em>descriptor</em>, </td>
2327 </tr>
2328 <tr>
2329 <td class="paramkey"></td>
2330 <td></td>
2331 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2332 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2333 </tr>
2334 <tr>
2335 <td></td>
2336 <td>)</td>
2337 <td></td><td> const</td>
2338 </tr>
2339 </table>
2340 </td>
2341 <td class="mlabels-right">
2342<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2343 </tr>
2344</table>
2345</div><div class="memdoc">
2346
2347<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#ab268618580d4f53bf5e9b5a47dee3f6a">LayerSupportBase</a>.</p>
2348
2349<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01198">1198</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2350
2351<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00092">TensorInfo::GetNumDimensions()</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00895">MeanDescriptor::m_Axis</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00897">MeanDescriptor::m_KeepDims</a>, and <a class="el" href="_numeric_cast_8hpp_source.xhtml#l00033">armnn::numeric_cast()</a>.</p>
2352<div class="fragment"><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;{</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160; std::string meanLayerStr = <span class="stringliteral">&quot;Mean&quot;</span>;</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160; std::string outputTensorStr = <span class="stringliteral">&quot;output&quot;</span>;</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160; std::array&lt;DataType,5&gt; supportedTypes =</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160; {</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160; };</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160; <span class="stringliteral">&quot;Reference Mean: input type not supported.&quot;</span>);</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160; <span class="stringliteral">&quot;Reference Mean: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160; <span class="keywordflow">if</span> (descriptor.m_KeepDims)</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160; {</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TensorNumDimensionsAreCorrect(output, input.GetNumDimensions()),</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160; CreateIncorrectDimensionsErrorMsg(input.GetNumDimensions(),</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160; output.GetNumDimensions(),</div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160; meanLayerStr, outputTensorStr).data());</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160; }</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (descriptor.m_Axis.empty())</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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TensorNumDimensionsAreCorrect(output, 1),</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160; CreateIncorrectDimensionsErrorMsg(1, output.GetNumDimensions(),</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160; meanLayerStr, outputTensorStr).data());</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160; }</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160; {</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160; <span class="keyword">auto</span> outputDim = input.GetNumDimensions() - <a class="code" href="namespacearmnn.xhtml#a37fa39012e90d568df7f774cd6d1e956">boost::numeric_cast</a>&lt;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&gt;(descriptor.m_Axis.size());</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">if</span> (outputDim &gt; 0)</div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160; {</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TensorNumDimensionsAreCorrect(output, outputDim),</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160; CreateIncorrectDimensionsErrorMsg(outputDim, output.GetNumDimensions(),</div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160; meanLayerStr, outputTensorStr).data());</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160; }</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160; {</div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TensorNumDimensionsAreCorrect(output, 1),</div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160; CreateIncorrectDimensionsErrorMsg(1, output.GetNumDimensions(),</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160; meanLayerStr, outputTensorStr).data());</div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160; }</div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160; }</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; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2353<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2354<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2355<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2356<div class="ttc" id="namespacearmnn_xhtml_a37fa39012e90d568df7f774cd6d1e956"><div class="ttname"><a href="namespacearmnn.xhtml#a37fa39012e90d568df7f774cd6d1e956">armnn::numeric_cast</a></div><div class="ttdeci">std::enable_if_t&lt; std::is_unsigned&lt; Source &gt;::value &amp;&amp;std::is_unsigned&lt; Dest &gt;::value, Dest &gt; numeric_cast(Source source)</div><div class="ttdef"><b>Definition:</b> <a href="_numeric_cast_8hpp_source.xhtml#l00033">NumericCast.hpp:33</a></div></div>
2357<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
2358<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2359<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
2360</div><!-- fragment -->
2361</div>
2362</div>
2363<a id="a9d25fabf725313fda40a41400155bafe"></a>
2364<h2 class="memtitle"><span class="permalink"><a href="#a9d25fabf725313fda40a41400155bafe">&#9670;&nbsp;</a></span>IsMemCopySupported()</h2>
2365
2366<div class="memitem">
2367<div class="memproto">
2368<table class="mlabels">
2369 <tr>
2370 <td class="mlabels-left">
2371 <table class="memname">
2372 <tr>
2373 <td class="memname">bool IsMemCopySupported </td>
2374 <td>(</td>
2375 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2376 <td class="paramname"><em>input</em>, </td>
2377 </tr>
2378 <tr>
2379 <td class="paramkey"></td>
2380 <td></td>
2381 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2382 <td class="paramname"><em>output</em>, </td>
2383 </tr>
2384 <tr>
2385 <td class="paramkey"></td>
2386 <td></td>
2387 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2388 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2389 </tr>
2390 <tr>
2391 <td></td>
2392 <td>)</td>
2393 <td></td><td> const</td>
2394 </tr>
2395 </table>
2396 </td>
2397 <td class="mlabels-right">
2398<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2399 </tr>
2400</table>
2401</div><div class="memdoc">
2402
2403<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a9d25fabf725313fda40a41400155bafe">LayerSupportBase</a>.</p>
2404
2405<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01268">1268</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2406
2407<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>.</p>
2408<div class="fragment"><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;{</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160; std::array&lt;DataType,6&gt; supportedTypes =</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; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a>,</div><div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a27226c864bac7454a8504f8edb15d95b">DataType::Boolean</a></div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160; };</div><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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160; <span class="stringliteral">&quot;Reference MemCopy: input type not supported&quot;</span>);</div><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;</div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160; <span class="stringliteral">&quot;Reference MemCopy: output type not supported&quot;</span>);</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160; <span class="stringliteral">&quot;Reference MemCopy: input and output types are mismatched&quot;</span>);</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; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a27226c864bac7454a8504f8edb15d95b"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a27226c864bac7454a8504f8edb15d95b">armnn::DataType::Boolean</a></div></div>
2409<div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2410<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2411<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2412<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2413<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
2414<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2415<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
2416</div><!-- fragment -->
2417</div>
2418</div>
2419<a id="aa9309ea64f9f7447efe3567f77417d29"></a>
2420<h2 class="memtitle"><span class="permalink"><a href="#aa9309ea64f9f7447efe3567f77417d29">&#9670;&nbsp;</a></span>IsMergerSupported()</h2>
2421
2422<div class="memitem">
2423<div class="memproto">
2424<table class="mlabels">
2425 <tr>
2426 <td class="mlabels-left">
2427 <table class="memname">
2428 <tr>
2429 <td class="memname">bool IsMergerSupported </td>
2430 <td>(</td>
2431 <td class="paramtype">const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> *&gt;&#160;</td>
2432 <td class="paramname"><em>inputs</em>, </td>
2433 </tr>
2434 <tr>
2435 <td class="paramkey"></td>
2436 <td></td>
2437 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2438 <td class="paramname"><em>output</em>, </td>
2439 </tr>
2440 <tr>
2441 <td class="paramkey"></td>
2442 <td></td>
2443 <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#a003d213dd28b0b8c0f26fbf268ccb975">MergerDescriptor</a> &amp;&#160;</td>
2444 <td class="paramname"><em>descriptor</em>, </td>
2445 </tr>
2446 <tr>
2447 <td class="paramkey"></td>
2448 <td></td>
2449 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2450 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2451 </tr>
2452 <tr>
2453 <td></td>
2454 <td>)</td>
2455 <td></td><td> const</td>
2456 </tr>
2457 </table>
2458 </td>
2459 <td class="mlabels-right">
2460<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2461 </tr>
2462</table>
2463</div><div class="memdoc">
2464
2465<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a77ae1b686e92a561de76388ac55cab06">LayerSupportBase</a>.</p>
2466
2467<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01260">1260</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2468
2469<p class="reference">References <a class="el" href="namespacearmnn.xhtml#a757df85e956e425c1a082d35a98ca4a9">armnn::IsConcatSupported()</a>.</p>
2470<div class="fragment"><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;{</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_ref_layer_support.xhtml#a3dca8ffbcb5f3afa1799aa7d354a3016">IsConcatSupported</a>(inputs, output, descriptor, reasonIfUnsupported);</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_ref_layer_support_xhtml_a3dca8ffbcb5f3afa1799aa7d354a3016"><div class="ttname"><a href="classarmnn_1_1_ref_layer_support.xhtml#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.xhtml#l00328">RefLayerSupport.cpp:328</a></div></div>
2471</div><!-- fragment -->
2472</div>
2473</div>
2474<a id="a3d0eafb3de560b3482f857b56b2b2116"></a>
2475<h2 class="memtitle"><span class="permalink"><a href="#a3d0eafb3de560b3482f857b56b2b2116">&#9670;&nbsp;</a></span>IsMinimumSupported()</h2>
2476
2477<div class="memitem">
2478<div class="memproto">
2479<table class="mlabels">
2480 <tr>
2481 <td class="mlabels-left">
2482 <table class="memname">
2483 <tr>
2484 <td class="memname">bool IsMinimumSupported </td>
2485 <td>(</td>
2486 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2487 <td class="paramname"><em>input0</em>, </td>
2488 </tr>
2489 <tr>
2490 <td class="paramkey"></td>
2491 <td></td>
2492 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2493 <td class="paramname"><em>input1</em>, </td>
2494 </tr>
2495 <tr>
2496 <td class="paramkey"></td>
2497 <td></td>
2498 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2499 <td class="paramname"><em>output</em>, </td>
2500 </tr>
2501 <tr>
2502 <td class="paramkey"></td>
2503 <td></td>
2504 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2505 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2506 </tr>
2507 <tr>
2508 <td></td>
2509 <td>)</td>
2510 <td></td><td> const</td>
2511 </tr>
2512 </table>
2513 </td>
2514 <td class="mlabels-right">
2515<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2516 </tr>
2517</table>
2518</div><div class="memdoc">
2519
2520<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a3d0eafb3de560b3482f857b56b2b2116">LayerSupportBase</a>.</p>
2521
2522<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01296">1296</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2523
2524<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>.</p>
2525<div class="fragment"><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;{</div><div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</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; std::array&lt;DataType,5&gt; supportedTypes = {</div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160; };</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160; <span class="stringliteral">&quot;Reference minimum: input 0 is not a supported type.&quot;</span>);</div><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;</div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input1, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160; <span class="stringliteral">&quot;Reference minimum: input 1 is not a supported type.&quot;</span>);</div><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160; <span class="stringliteral">&quot;Reference minimum: output is not a supported type.&quot;</span>);</div><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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, input1), reasonIfUnsupported,</div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160; <span class="stringliteral">&quot;Reference minimum: input 0 and Input 1 types are mismatched&quot;</span>);</div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, output), reasonIfUnsupported,</div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; <span class="stringliteral">&quot;Reference minimum: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;</div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreBroadcastCompatible(input0, input1, output), reasonIfUnsupported,</div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160; <span class="stringliteral">&quot;Reference minimum: shapes are not suitable for implicit broadcast.&quot;</span>);</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;</div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2526<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2527<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2528<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2529<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
2530<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2531<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
2532</div><!-- fragment -->
2533</div>
2534</div>
2535<a id="a421e1f3865d99d52613003048342c49a"></a>
2536<h2 class="memtitle"><span class="permalink"><a href="#a421e1f3865d99d52613003048342c49a">&#9670;&nbsp;</a></span>IsMultiplicationSupported()</h2>
2537
2538<div class="memitem">
2539<div class="memproto">
2540<table class="mlabels">
2541 <tr>
2542 <td class="mlabels-left">
2543 <table class="memname">
2544 <tr>
2545 <td class="memname">bool IsMultiplicationSupported </td>
2546 <td>(</td>
2547 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2548 <td class="paramname"><em>input0</em>, </td>
2549 </tr>
2550 <tr>
2551 <td class="paramkey"></td>
2552 <td></td>
2553 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2554 <td class="paramname"><em>input1</em>, </td>
2555 </tr>
2556 <tr>
2557 <td class="paramkey"></td>
2558 <td></td>
2559 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2560 <td class="paramname"><em>output</em>, </td>
2561 </tr>
2562 <tr>
2563 <td class="paramkey"></td>
2564 <td></td>
2565 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2566 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2567 </tr>
2568 <tr>
2569 <td></td>
2570 <td>)</td>
2571 <td></td><td> const</td>
2572 </tr>
2573 </table>
2574 </td>
2575 <td class="mlabels-right">
2576<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2577 </tr>
2578</table>
2579</div><div class="memdoc">
2580
2581<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a421e1f3865d99d52613003048342c49a">LayerSupportBase</a>.</p>
2582
2583<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01332">1332</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2584
2585<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>.</p>
2586<div class="fragment"><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;{</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</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; std::array&lt;DataType,6&gt; supportedTypes = {</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160; };</div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160;</div><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160; <span class="stringliteral">&quot;Reference multiplication: input 0 is not a supported type.&quot;</span>);</div><div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;</div><div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input1, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160; <span class="stringliteral">&quot;Reference multiplication: input 1 is not a supported type.&quot;</span>);</div><div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160;</div><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160; <span class="stringliteral">&quot;Reference multiplication: output is not a supported type.&quot;</span>);</div><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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, input1), reasonIfUnsupported,</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160; <span class="stringliteral">&quot;Reference multiplication: input 0 and Input 1 types are mismatched&quot;</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, output), reasonIfUnsupported,</div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160; <span class="stringliteral">&quot;Reference multiplication: input and output types are mismatched&quot;</span>);</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreBroadcastCompatible(input0, input1, output), reasonIfUnsupported,</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160; <span class="stringliteral">&quot;Reference multiplication: shapes are not suitable for implicit broadcast.&quot;</span>);</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2587<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
2588<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2589<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2590<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2591<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
2592<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2593<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
2594</div><!-- fragment -->
2595</div>
2596</div>
2597<a id="a994c2065561141bf37fcd2ff7bb4af4d"></a>
2598<h2 class="memtitle"><span class="permalink"><a href="#a994c2065561141bf37fcd2ff7bb4af4d">&#9670;&nbsp;</a></span>IsNormalizationSupported()</h2>
2599
2600<div class="memitem">
2601<div class="memproto">
2602<table class="mlabels">
2603 <tr>
2604 <td class="mlabels-left">
2605 <table class="memname">
2606 <tr>
2607 <td class="memname">bool IsNormalizationSupported </td>
2608 <td>(</td>
2609 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2610 <td class="paramname"><em>input</em>, </td>
2611 </tr>
2612 <tr>
2613 <td class="paramkey"></td>
2614 <td></td>
2615 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2616 <td class="paramname"><em>output</em>, </td>
2617 </tr>
2618 <tr>
2619 <td class="paramkey"></td>
2620 <td></td>
2621 <td class="paramtype">const <a class="el" href="structarmnn_1_1_normalization_descriptor.xhtml">NormalizationDescriptor</a> &amp;&#160;</td>
2622 <td class="paramname"><em>descriptor</em>, </td>
2623 </tr>
2624 <tr>
2625 <td class="paramkey"></td>
2626 <td></td>
2627 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2628 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2629 </tr>
2630 <tr>
2631 <td></td>
2632 <td>)</td>
2633 <td></td><td> const</td>
2634 </tr>
2635 </table>
2636 </td>
2637 <td class="mlabels-right">
2638<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2639 </tr>
2640</table>
2641</div><div class="memdoc">
2642
2643<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a994c2065561141bf37fcd2ff7bb4af4d">LayerSupportBase</a>.</p>
2644
2645<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01369">1369</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2646
2647<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
2648<div class="fragment"><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160;{</div><div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160;</div><div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160; <span class="comment">// Define supported types</span></div><div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160; std::array&lt;DataType, 5&gt; supportedTypes =</div><div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160; {</div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160; };</div><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; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;</div><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160; <span class="stringliteral">&quot;Reference normalization: input type not supported.&quot;</span>);</div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160; <span class="stringliteral">&quot;Reference normalization: output type not supported.&quot;</span>);</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160;</div><div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreSameTotalSize(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160; <span class="stringliteral">&quot;Reference normalization: input and output shapes have different &quot;</span></div><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160; <span class="stringliteral">&quot;num total elements.&quot;</span>);</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160;</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2649<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2650<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
2651<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2652<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2653<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
2654<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2655<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
2656</div><!-- fragment -->
2657</div>
2658</div>
2659<a id="aef3244c0ef64c8f2f352d21ce0c06985"></a>
2660<h2 class="memtitle"><span class="permalink"><a href="#aef3244c0ef64c8f2f352d21ce0c06985">&#9670;&nbsp;</a></span>IsOutputSupported()</h2>
2661
2662<div class="memitem">
2663<div class="memproto">
2664<table class="mlabels">
2665 <tr>
2666 <td class="mlabels-left">
2667 <table class="memname">
2668 <tr>
2669 <td class="memname">bool IsOutputSupported </td>
2670 <td>(</td>
2671 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2672 <td class="paramname"><em>output</em>, </td>
2673 </tr>
2674 <tr>
2675 <td class="paramkey"></td>
2676 <td></td>
2677 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2678 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2679 </tr>
2680 <tr>
2681 <td></td>
2682 <td>)</td>
2683 <td></td><td> const</td>
2684 </tr>
2685 </table>
2686 </td>
2687 <td class="mlabels-right">
2688<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2689 </tr>
2690</table>
2691</div><div class="memdoc">
2692
2693<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#aef3244c0ef64c8f2f352d21ce0c06985">LayerSupportBase</a>.</p>
2694
2695<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01401">1401</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2696<div class="fragment"><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;{</div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160;}</div></div><!-- fragment -->
2697</div>
2698</div>
2699<a id="a0534291adf9f3436ba331552eba29a43"></a>
2700<h2 class="memtitle"><span class="permalink"><a href="#a0534291adf9f3436ba331552eba29a43">&#9670;&nbsp;</a></span>IsPadSupported()</h2>
2701
2702<div class="memitem">
2703<div class="memproto">
2704<table class="mlabels">
2705 <tr>
2706 <td class="mlabels-left">
2707 <table class="memname">
2708 <tr>
2709 <td class="memname">bool IsPadSupported </td>
2710 <td>(</td>
2711 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2712 <td class="paramname"><em>input</em>, </td>
2713 </tr>
2714 <tr>
2715 <td class="paramkey"></td>
2716 <td></td>
2717 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2718 <td class="paramname"><em>output</em>, </td>
2719 </tr>
2720 <tr>
2721 <td class="paramkey"></td>
2722 <td></td>
2723 <td class="paramtype">const <a class="el" href="structarmnn_1_1_pad_descriptor.xhtml">PadDescriptor</a> &amp;&#160;</td>
2724 <td class="paramname"><em>descriptor</em>, </td>
2725 </tr>
2726 <tr>
2727 <td class="paramkey"></td>
2728 <td></td>
2729 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2730 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2731 </tr>
2732 <tr>
2733 <td></td>
2734 <td>)</td>
2735 <td></td><td> const</td>
2736 </tr>
2737 </table>
2738 </td>
2739 <td class="mlabels-right">
2740<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2741 </tr>
2742</table>
2743</div><div class="memdoc">
2744
2745<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a0534291adf9f3436ba331552eba29a43">LayerSupportBase</a>.</p>
2746
2747<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01407">1407</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2748
2749<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
2750<div class="fragment"><div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160;{</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160;</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160; <span class="comment">// Define supported output and inputs types.</span></div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160; std::array&lt;DataType,5&gt; supportedTypes =</div><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160; {</div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160; };</div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;</div><div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160; <span class="stringliteral">&quot;Reference pad: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;</div><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160; <span class="stringliteral">&quot;Reference pad: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;</div><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160; <span class="stringliteral">&quot;Reference pad: input and output types are mismatched.&quot;</span>);</div><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2751<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2752<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
2753<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2754<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2755<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
2756<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2757<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
2758</div><!-- fragment -->
2759</div>
2760</div>
2761<a id="a9d553495d9a94fa55588ae159d8bda30"></a>
2762<h2 class="memtitle"><span class="permalink"><a href="#a9d553495d9a94fa55588ae159d8bda30">&#9670;&nbsp;</a></span>IsPermuteSupported()</h2>
2763
2764<div class="memitem">
2765<div class="memproto">
2766<table class="mlabels">
2767 <tr>
2768 <td class="mlabels-left">
2769 <table class="memname">
2770 <tr>
2771 <td class="memname">bool IsPermuteSupported </td>
2772 <td>(</td>
2773 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2774 <td class="paramname"><em>input</em>, </td>
2775 </tr>
2776 <tr>
2777 <td class="paramkey"></td>
2778 <td></td>
2779 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2780 <td class="paramname"><em>output</em>, </td>
2781 </tr>
2782 <tr>
2783 <td class="paramkey"></td>
2784 <td></td>
2785 <td class="paramtype">const <a class="el" href="structarmnn_1_1_permute_descriptor.xhtml">PermuteDescriptor</a> &amp;&#160;</td>
2786 <td class="paramname"><em>descriptor</em>, </td>
2787 </tr>
2788 <tr>
2789 <td class="paramkey"></td>
2790 <td></td>
2791 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2792 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2793 </tr>
2794 <tr>
2795 <td></td>
2796 <td>)</td>
2797 <td></td><td> const</td>
2798 </tr>
2799 </table>
2800 </td>
2801 <td class="mlabels-right">
2802<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2803 </tr>
2804</table>
2805</div><div class="memdoc">
2806
2807<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a9d553495d9a94fa55588ae159d8bda30">LayerSupportBase</a>.</p>
2808
2809<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01437">1437</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2810
2811<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
2812<div class="fragment"><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;{</div><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#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 output and inputs types.</span></div><div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160; std::array&lt;DataType, 5&gt; supportedTypes =</div><div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160; {</div><div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160; <a class="code" href="namespacearmnn.xhtml#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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160; <span class="stringliteral">&quot;Reference permute: input is not a supported type.&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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; <span class="stringliteral">&quot;Reference permute: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160; <span class="stringliteral">&quot;Reference permute: input and output types are mismatched.&quot;</span>);</div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160;</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2813<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2814<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
2815<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2816<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2817<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
2818<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2819<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
2820</div><!-- fragment -->
2821</div>
2822</div>
2823<a id="aa955675303d67b1d1fb51fb7f09d8c21"></a>
2824<h2 class="memtitle"><span class="permalink"><a href="#aa955675303d67b1d1fb51fb7f09d8c21">&#9670;&nbsp;</a></span>IsPooling2dSupported()</h2>
2825
2826<div class="memitem">
2827<div class="memproto">
2828<table class="mlabels">
2829 <tr>
2830 <td class="mlabels-left">
2831 <table class="memname">
2832 <tr>
2833 <td class="memname">bool IsPooling2dSupported </td>
2834 <td>(</td>
2835 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2836 <td class="paramname"><em>input</em>, </td>
2837 </tr>
2838 <tr>
2839 <td class="paramkey"></td>
2840 <td></td>
2841 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2842 <td class="paramname"><em>output</em>, </td>
2843 </tr>
2844 <tr>
2845 <td class="paramkey"></td>
2846 <td></td>
2847 <td class="paramtype">const <a class="el" href="structarmnn_1_1_pooling2d_descriptor.xhtml">Pooling2dDescriptor</a> &amp;&#160;</td>
2848 <td class="paramname"><em>descriptor</em>, </td>
2849 </tr>
2850 <tr>
2851 <td class="paramkey"></td>
2852 <td></td>
2853 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2854 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2855 </tr>
2856 <tr>
2857 <td></td>
2858 <td>)</td>
2859 <td></td><td> const</td>
2860 </tr>
2861 </table>
2862 </td>
2863 <td class="mlabels-right">
2864<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2865 </tr>
2866</table>
2867</div><div class="memdoc">
2868
2869<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#aa955675303d67b1d1fb51fb7f09d8c21">LayerSupportBase</a>.</p>
2870
2871<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01467">1467</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2872
2873<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
2874<div class="fragment"><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160;{</div><div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160;</div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160; <span class="comment">// Define supported output and inputs types.</span></div><div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160; std::array&lt;DataType,6&gt; supportedTypes =</div><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160; {</div><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160; };</div><div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160;</div><div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160; <span class="stringliteral">&quot;Reference poolind2d: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160;</div><div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160; <span class="stringliteral">&quot;Reference poolind2d: output is not a supported type.&quot;</span>);</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160; <span class="stringliteral">&quot;Reference poolind2d: input and output types are mismatched.&quot;</span>);</div><div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;</div><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2875<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
2876<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2877<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
2878<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2879<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2880<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
2881<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2882<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
2883</div><!-- fragment -->
2884</div>
2885</div>
2886<a id="a4b36dcedd5edbd5142b3548967aadc2f"></a>
2887<h2 class="memtitle"><span class="permalink"><a href="#a4b36dcedd5edbd5142b3548967aadc2f">&#9670;&nbsp;</a></span>IsPreluSupported()</h2>
2888
2889<div class="memitem">
2890<div class="memproto">
2891<table class="mlabels">
2892 <tr>
2893 <td class="mlabels-left">
2894 <table class="memname">
2895 <tr>
2896 <td class="memname">bool IsPreluSupported </td>
2897 <td>(</td>
2898 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2899 <td class="paramname"><em>input</em>, </td>
2900 </tr>
2901 <tr>
2902 <td class="paramkey"></td>
2903 <td></td>
2904 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2905 <td class="paramname"><em>alpha</em>, </td>
2906 </tr>
2907 <tr>
2908 <td class="paramkey"></td>
2909 <td></td>
2910 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2911 <td class="paramname"><em>output</em>, </td>
2912 </tr>
2913 <tr>
2914 <td class="paramkey"></td>
2915 <td></td>
2916 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2917 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2918 </tr>
2919 <tr>
2920 <td></td>
2921 <td>)</td>
2922 <td></td><td> const</td>
2923 </tr>
2924 </table>
2925 </td>
2926 <td class="mlabels-right">
2927<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2928 </tr>
2929</table>
2930</div><div class="memdoc">
2931
2932<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a93cf81b28c4275a338f41c536a451158">LayerSupportBase</a>.</p>
2933
2934<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01885">1885</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2935
2936<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>.</p>
2937<div class="fragment"><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="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</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; std::array&lt;DataType, 5&gt; supportedTypes</div><div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>&#160; {</div><div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160; };</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160; <span class="stringliteral">&quot;PReLU: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160;</div><div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(alpha, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160; <span class="stringliteral">&quot;PReLU: alpha is not a supported type.&quot;</span>);</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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160; <span class="stringliteral">&quot;PReLU: output 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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, alpha, output), reasonIfUnsupported,</div><div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160; <span class="stringliteral">&quot;PReLU: input, alpha and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160;</div><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreBroadcastCompatible(input, alpha, output), reasonIfUnsupported,</div><div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160; <span class="stringliteral">&quot;PReLU: shapes are not suitable for implicit broadcast&quot;</span>);</div><div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160;</div><div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2938<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2939<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2940<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2941<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
2942<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2943<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
2944</div><!-- fragment -->
2945</div>
2946</div>
2947<a id="ad2c7be6b84b04444e514f52f593b3df7"></a>
2948<h2 class="memtitle"><span class="permalink"><a href="#ad2c7be6b84b04444e514f52f593b3df7">&#9670;&nbsp;</a></span>IsQuantizeSupported()</h2>
2949
2950<div class="memitem">
2951<div class="memproto">
2952<table class="mlabels">
2953 <tr>
2954 <td class="mlabels-left">
2955 <table class="memname">
2956 <tr>
2957 <td class="memname">bool IsQuantizeSupported </td>
2958 <td>(</td>
2959 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2960 <td class="paramname"><em>input</em>, </td>
2961 </tr>
2962 <tr>
2963 <td class="paramkey"></td>
2964 <td></td>
2965 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2966 <td class="paramname"><em>output</em>, </td>
2967 </tr>
2968 <tr>
2969 <td class="paramkey"></td>
2970 <td></td>
2971 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2972 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2973 </tr>
2974 <tr>
2975 <td></td>
2976 <td>)</td>
2977 <td></td><td> const</td>
2978 </tr>
2979 </table>
2980 </td>
2981 <td class="mlabels-right">
2982<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2983 </tr>
2984</table>
2985</div><div class="memdoc">
2986
2987<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#ad2c7be6b84b04444e514f52f593b3df7">LayerSupportBase</a>.</p>
2988
2989<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01498">1498</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
2990
2991<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>.</p>
2992<div class="fragment"><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160;{</div><div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;</div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160; <span class="comment">// Define supported input types.</span></div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160; std::array&lt;DataType,7&gt; supportedInputTypes = {</div><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160; };</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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedInputTypes), reasonIfUnsupported,</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160; <span class="stringliteral">&quot;Reference quantize: input type not supported.&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="comment">// Define supported output types.</span></div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160; std::array&lt;DataType,4&gt; supportedOutputTypes = {</div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160; DataType::QSymmS16</div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160; };</div><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedOutputTypes), reasonIfUnsupported,</div><div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160; <span class="stringliteral">&quot;Reference quantize: output type not supported.&quot;</span>);</div><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;</div><div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreSameTotalSize(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</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="l01530"></a><span class="lineno"> 1530</span>&#160;</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
2993<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
2994<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
2995<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
2996<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
2997<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
2998<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
2999<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
3000<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
3001</div><!-- fragment -->
3002</div>
3003</div>
3004<a id="aa02f01bbcb48c67f5b2efc4132ec5e86"></a>
3005<h2 class="memtitle"><span class="permalink"><a href="#aa02f01bbcb48c67f5b2efc4132ec5e86">&#9670;&nbsp;</a></span>IsReshapeSupported()</h2>
3006
3007<div class="memitem">
3008<div class="memproto">
3009<table class="mlabels">
3010 <tr>
3011 <td class="mlabels-left">
3012 <table class="memname">
3013 <tr>
3014 <td class="memname">bool IsReshapeSupported </td>
3015 <td>(</td>
3016 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3017 <td class="paramname"><em>input</em>, </td>
3018 </tr>
3019 <tr>
3020 <td class="paramkey"></td>
3021 <td></td>
3022 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3023 <td class="paramname"><em>output</em>, </td>
3024 </tr>
3025 <tr>
3026 <td class="paramkey"></td>
3027 <td></td>
3028 <td class="paramtype">const <a class="el" href="structarmnn_1_1_reshape_descriptor.xhtml">ReshapeDescriptor</a> &amp;&#160;</td>
3029 <td class="paramname"><em>descriptor</em>, </td>
3030 </tr>
3031 <tr>
3032 <td class="paramkey"></td>
3033 <td></td>
3034 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3035 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3036 </tr>
3037 <tr>
3038 <td></td>
3039 <td>)</td>
3040 <td></td><td> const</td>
3041 </tr>
3042 </table>
3043 </td>
3044 <td class="mlabels-right">
3045<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3046 </tr>
3047</table>
3048</div><div class="memdoc">
3049
3050<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#aa02f01bbcb48c67f5b2efc4132ec5e86">LayerSupportBase</a>.</p>
3051
3052<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01534">1534</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
3053
3054<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
3055<div class="fragment"><div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160;{</div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(output);</div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160; <span class="comment">// Define supported output types.</span></div><div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160; std::array&lt;DataType,7&gt; supportedOutputTypes =</div><div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160; {</div><div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a>,</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160; };</div><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="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedOutputTypes), reasonIfUnsupported,</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160; <span class="stringliteral">&quot;Reference reshape: input type not supported.&quot;</span>);</div><div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
3056<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
3057<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3058<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
3059<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3060<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3061<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
3062<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3063<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
3064</div><!-- fragment -->
3065</div>
3066</div>
3067<a id="a0f29f31e1ba46a52eedcdecd34f4cc24"></a>
3068<h2 class="memtitle"><span class="permalink"><a href="#a0f29f31e1ba46a52eedcdecd34f4cc24">&#9670;&nbsp;</a></span>IsResizeBilinearSupported()</h2>
3069
3070<div class="memitem">
3071<div class="memproto">
3072<table class="mlabels">
3073 <tr>
3074 <td class="mlabels-left">
3075 <table class="memname">
3076 <tr>
3077 <td class="memname">bool IsResizeBilinearSupported </td>
3078 <td>(</td>
3079 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3080 <td class="paramname"><em>input</em>, </td>
3081 </tr>
3082 <tr>
3083 <td class="paramkey"></td>
3084 <td></td>
3085 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3086 <td class="paramname"><em>output</em>, </td>
3087 </tr>
3088 <tr>
3089 <td class="paramkey"></td>
3090 <td></td>
3091 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3092 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3093 </tr>
3094 <tr>
3095 <td></td>
3096 <td>)</td>
3097 <td></td><td> const</td>
3098 </tr>
3099 </table>
3100 </td>
3101 <td class="mlabels-right">
3102<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3103 </tr>
3104</table>
3105</div><div class="memdoc">
3106
3107<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a0f29f31e1ba46a52eedcdecd34f4cc24">LayerSupportBase</a>.</p>
3108
3109<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01557">1557</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
3110
3111<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>.</p>
3112<div class="fragment"><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160;{</div><div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160; std::array&lt;DataType,5&gt; supportedTypes =</div><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; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160; };</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160;</div><div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160; <span class="stringliteral">&quot;Reference ResizeBilinear: input type not supported&quot;</span>);</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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160; <span class="stringliteral">&quot;Reference ResizeBilinear: output 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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160; <span class="stringliteral">&quot;Reference ResizeBilinear: input and output types not matching&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; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3113<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3114<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3115<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3116<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
3117<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3118<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
3119</div><!-- fragment -->
3120</div>
3121</div>
3122<a id="a3d27a3fc6a7df0b68d80cb113aff8b6c"></a>
3123<h2 class="memtitle"><span class="permalink"><a href="#a3d27a3fc6a7df0b68d80cb113aff8b6c">&#9670;&nbsp;</a></span>IsResizeSupported()</h2>
3124
3125<div class="memitem">
3126<div class="memproto">
3127<table class="mlabels">
3128 <tr>
3129 <td class="mlabels-left">
3130 <table class="memname">
3131 <tr>
3132 <td class="memname">bool IsResizeSupported </td>
3133 <td>(</td>
3134 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3135 <td class="paramname"><em>input</em>, </td>
3136 </tr>
3137 <tr>
3138 <td class="paramkey"></td>
3139 <td></td>
3140 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3141 <td class="paramname"><em>output</em>, </td>
3142 </tr>
3143 <tr>
3144 <td class="paramkey"></td>
3145 <td></td>
3146 <td class="paramtype">const <a class="el" href="structarmnn_1_1_resize_descriptor.xhtml">ResizeDescriptor</a> &amp;&#160;</td>
3147 <td class="paramname"><em>descriptor</em>, </td>
3148 </tr>
3149 <tr>
3150 <td class="paramkey"></td>
3151 <td></td>
3152 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3153 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3154 </tr>
3155 <tr>
3156 <td></td>
3157 <td>)</td>
3158 <td></td><td> const</td>
3159 </tr>
3160 </table>
3161 </td>
3162 <td class="mlabels-right">
3163<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3164 </tr>
3165</table>
3166</div><div class="memdoc">
3167
3168<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a3d27a3fc6a7df0b68d80cb113aff8b6c">LayerSupportBase</a>.</p>
3169
3170<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01583">1583</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
3171
3172<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
3173<div class="fragment"><div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160;{</div><div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160; std::array&lt;DataType,6&gt; supportedTypes =</div><div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160; {</div><div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160; };</div><div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160;</div><div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160; <span class="stringliteral">&quot;Reference Resize: input type not supported&quot;</span>);</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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160; <span class="stringliteral">&quot;Reference Resize: 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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160; <span class="stringliteral">&quot;Reference Resize: input and output types not matching&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; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3174<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
3175<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3176<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
3177<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3178<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3179<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
3180<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3181<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
3182</div><!-- fragment -->
3183</div>
3184</div>
3185<a id="a10ae4d84b0d31580f6fcd5107322ebcf"></a>
3186<h2 class="memtitle"><span class="permalink"><a href="#a10ae4d84b0d31580f6fcd5107322ebcf">&#9670;&nbsp;</a></span>IsRsqrtSupported()</h2>
3187
3188<div class="memitem">
3189<div class="memproto">
3190<table class="mlabels">
3191 <tr>
3192 <td class="mlabels-left">
3193 <table class="memname">
3194 <tr>
3195 <td class="memname">bool IsRsqrtSupported </td>
3196 <td>(</td>
3197 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3198 <td class="paramname"><em>input</em>, </td>
3199 </tr>
3200 <tr>
3201 <td class="paramkey"></td>
3202 <td></td>
3203 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3204 <td class="paramname"><em>output</em>, </td>
3205 </tr>
3206 <tr>
3207 <td class="paramkey"></td>
3208 <td></td>
3209 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3210 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3211 </tr>
3212 <tr>
3213 <td></td>
3214 <td>)</td>
3215 <td></td><td> const</td>
3216 </tr>
3217 </table>
3218 </td>
3219 <td class="mlabels-right">
3220<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3221 </tr>
3222</table>
3223</div><div class="memdoc">
3224
3225<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a10ae4d84b0d31580f6fcd5107322ebcf">LayerSupportBase</a>.</p>
3226
3227<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01612">1612</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
3228<div class="fragment"><div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160;{</div><div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_ref_layer_support.xhtml#a61c5b4e5dc224ef0c876e43353b34030">IsElementwiseUnarySupported</a>(input,</div><div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160; output,</div><div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160; ElementwiseUnaryDescriptor(<a class="code" href="namespacearmnn.xhtml#a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4">UnaryOperation::Rsqrt</a>),</div><div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160; reasonIfUnsupported);</div><div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_ref_layer_support_xhtml_a61c5b4e5dc224ef0c876e43353b34030"><div class="ttname"><a href="classarmnn_1_1_ref_layer_support.xhtml#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.xhtml#l00739">RefLayerSupport.cpp:739</a></div></div>
3229<div class="ttc" id="namespacearmnn_xhtml_a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4"><div class="ttname"><a href="namespacearmnn.xhtml#a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4">armnn::UnaryOperation::Rsqrt</a></div></div>
3230</div><!-- fragment -->
3231</div>
3232</div>
3233<a id="a0e14dafa85cfcd4a6b6b752284b51e63"></a>
3234<h2 class="memtitle"><span class="permalink"><a href="#a0e14dafa85cfcd4a6b6b752284b51e63">&#9670;&nbsp;</a></span>IsSliceSupported()</h2>
3235
3236<div class="memitem">
3237<div class="memproto">
3238<table class="mlabels">
3239 <tr>
3240 <td class="mlabels-left">
3241 <table class="memname">
3242 <tr>
3243 <td class="memname">bool IsSliceSupported </td>
3244 <td>(</td>
3245 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3246 <td class="paramname"><em>input</em>, </td>
3247 </tr>
3248 <tr>
3249 <td class="paramkey"></td>
3250 <td></td>
3251 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3252 <td class="paramname"><em>output</em>, </td>
3253 </tr>
3254 <tr>
3255 <td class="paramkey"></td>
3256 <td></td>
3257 <td class="paramtype">const <a class="el" href="structarmnn_1_1_slice_descriptor.xhtml">SliceDescriptor</a> &amp;&#160;</td>
3258 <td class="paramname"><em>descriptor</em>, </td>
3259 </tr>
3260 <tr>
3261 <td class="paramkey"></td>
3262 <td></td>
3263 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3264 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3265 </tr>
3266 <tr>
3267 <td></td>
3268 <td>)</td>
3269 <td></td><td> const</td>
3270 </tr>
3271 </table>
3272 </td>
3273 <td class="mlabels-right">
3274<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3275 </tr>
3276</table>
3277</div><div class="memdoc">
3278
3279<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a0e14dafa85cfcd4a6b6b752284b51e63">LayerSupportBase</a>.</p>
3280
3281<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01622">1622</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
3282
3283<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
3284<div class="fragment"><div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160;{</div><div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</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; std::array&lt;DataType, 4&gt; supportedTypes =</div><div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160; {</div><div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160; };</div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160;</div><div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160; <span class="stringliteral">&quot;Reference Slice: input type not supported&quot;</span>);</div><div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;</div><div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160; <span class="stringliteral">&quot;Reference Slice: output type not supported&quot;</span>);</div><div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160;</div><div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160; <span class="stringliteral">&quot;Reference Slice: input and output types are mismatched&quot;</span>);</div><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; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3285<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3286<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
3287<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3288<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
3289<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3290<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
3291</div><!-- fragment -->
3292</div>
3293</div>
3294<a id="a8385cf8227907904a6a86fac318fc099"></a>
3295<h2 class="memtitle"><span class="permalink"><a href="#a8385cf8227907904a6a86fac318fc099">&#9670;&nbsp;</a></span>IsSoftmaxSupported()</h2>
3296
3297<div class="memitem">
3298<div class="memproto">
3299<table class="mlabels">
3300 <tr>
3301 <td class="mlabels-left">
3302 <table class="memname">
3303 <tr>
3304 <td class="memname">bool IsSoftmaxSupported </td>
3305 <td>(</td>
3306 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3307 <td class="paramname"><em>input</em>, </td>
3308 </tr>
3309 <tr>
3310 <td class="paramkey"></td>
3311 <td></td>
3312 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3313 <td class="paramname"><em>output</em>, </td>
3314 </tr>
3315 <tr>
3316 <td class="paramkey"></td>
3317 <td></td>
3318 <td class="paramtype">const <a class="el" href="structarmnn_1_1_softmax_descriptor.xhtml">SoftmaxDescriptor</a> &amp;&#160;</td>
3319 <td class="paramname"><em>descriptor</em>, </td>
3320 </tr>
3321 <tr>
3322 <td class="paramkey"></td>
3323 <td></td>
3324 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3325 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3326 </tr>
3327 <tr>
3328 <td></td>
3329 <td>)</td>
3330 <td></td><td> const</td>
3331 </tr>
3332 </table>
3333 </td>
3334 <td class="mlabels-right">
3335<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3336 </tr>
3337</table>
3338</div><div class="memdoc">
3339
3340<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a8385cf8227907904a6a86fac318fc099">LayerSupportBase</a>.</p>
3341
3342<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01650">1650</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
3343
3344<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
3345<div class="fragment"><div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160;{</div><div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160; std::array&lt;DataType,7&gt; supportedTypes =</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; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">DataType::QAsymmS8</a>,</div><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160; };</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160; <span class="stringliteral">&quot;Reference Softmax: output type not supported&quot;</span>);</div><div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160;</div><div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160; <span class="stringliteral">&quot;Reference Softmax: input type not supported&quot;</span>);</div><div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160;</div><div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160; <span class="stringliteral">&quot;Reference Softmax: input type not supported&quot;</span>);</div><div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160;</div><div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3346<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9d02ea768c081d4bdb2b7cab0b3f510d">armnn::DataType::QAsymmS8</a></div></div>
3347<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3348<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
3349<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3350<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3351<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
3352<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3353<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
3354<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
3355</div><!-- fragment -->
3356</div>
3357</div>
3358<a id="a3adfc31e079a970e028e537ec05fabf5"></a>
3359<h2 class="memtitle"><span class="permalink"><a href="#a3adfc31e079a970e028e537ec05fabf5">&#9670;&nbsp;</a></span>IsSpaceToBatchNdSupported()</h2>
3360
3361<div class="memitem">
3362<div class="memproto">
3363<table class="mlabels">
3364 <tr>
3365 <td class="mlabels-left">
3366 <table class="memname">
3367 <tr>
3368 <td class="memname">bool IsSpaceToBatchNdSupported </td>
3369 <td>(</td>
3370 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3371 <td class="paramname"><em>input</em>, </td>
3372 </tr>
3373 <tr>
3374 <td class="paramkey"></td>
3375 <td></td>
3376 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3377 <td class="paramname"><em>output</em>, </td>
3378 </tr>
3379 <tr>
3380 <td class="paramkey"></td>
3381 <td></td>
3382 <td class="paramtype">const <a class="el" href="structarmnn_1_1_space_to_batch_nd_descriptor.xhtml">SpaceToBatchNdDescriptor</a> &amp;&#160;</td>
3383 <td class="paramname"><em>descriptor</em>, </td>
3384 </tr>
3385 <tr>
3386 <td class="paramkey"></td>
3387 <td></td>
3388 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3389 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3390 </tr>
3391 <tr>
3392 <td></td>
3393 <td>)</td>
3394 <td></td><td> const</td>
3395 </tr>
3396 </table>
3397 </td>
3398 <td class="mlabels-right">
3399<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3400 </tr>
3401</table>
3402</div><div class="memdoc">
3403
3404<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a3adfc31e079a970e028e537ec05fabf5">LayerSupportBase</a>.</p>
3405
3406<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01680">1680</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
3407
3408<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
3409<div class="fragment"><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; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160; std::array&lt;DataType,5&gt; supportedTypes =</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160; {</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160; };</div><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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160; <span class="stringliteral">&quot;Reference SpaceToBatchNd: input type not supported&quot;</span>);</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160;</div><div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160; <span class="stringliteral">&quot;Reference SpaceToBatchNd: output type not supported&quot;</span>);</div><div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160;</div><div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160; <span class="stringliteral">&quot;Reference SpaceToBatchNd: input and output types are mismatched&quot;</span>);</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; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3410<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3411<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
3412<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3413<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3414<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
3415<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3416<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
3417</div><!-- fragment -->
3418</div>
3419</div>
3420<a id="ab2af1e7da9490d29e569d271e16b0d5c"></a>
3421<h2 class="memtitle"><span class="permalink"><a href="#ab2af1e7da9490d29e569d271e16b0d5c">&#9670;&nbsp;</a></span>IsSpaceToDepthSupported()</h2>
3422
3423<div class="memitem">
3424<div class="memproto">
3425<table class="mlabels">
3426 <tr>
3427 <td class="mlabels-left">
3428 <table class="memname">
3429 <tr>
3430 <td class="memname">bool IsSpaceToDepthSupported </td>
3431 <td>(</td>
3432 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3433 <td class="paramname"><em>input</em>, </td>
3434 </tr>
3435 <tr>
3436 <td class="paramkey"></td>
3437 <td></td>
3438 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3439 <td class="paramname"><em>output</em>, </td>
3440 </tr>
3441 <tr>
3442 <td class="paramkey"></td>
3443 <td></td>
3444 <td class="paramtype">const <a class="el" href="structarmnn_1_1_space_to_depth_descriptor.xhtml">SpaceToDepthDescriptor</a> &amp;&#160;</td>
3445 <td class="paramname"><em>descriptor</em>, </td>
3446 </tr>
3447 <tr>
3448 <td class="paramkey"></td>
3449 <td></td>
3450 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3451 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3452 </tr>
3453 <tr>
3454 <td></td>
3455 <td>)</td>
3456 <td></td><td> const</td>
3457 </tr>
3458 </table>
3459 </td>
3460 <td class="mlabels-right">
3461<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3462 </tr>
3463</table>
3464</div><div class="memdoc">
3465
3466<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#ab2af1e7da9490d29e569d271e16b0d5c">LayerSupportBase</a>.</p>
3467
3468<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01708">1708</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
3469
3470<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
3471<div class="fragment"><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;</div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</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; std::array&lt;DataType,5&gt; supportedTypes =</div><div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160; {</div><div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><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;</div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160; <span class="stringliteral">&quot;Reference SpaceToDepth: input type not supported&quot;</span>);</div><div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160;</div><div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160; <span class="stringliteral">&quot;Reference SpaceToDepth: output type not supported&quot;</span>);</div><div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160;</div><div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160; <span class="stringliteral">&quot;Reference SpaceToDepth: input and output types are mismatched&quot;</span>);</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; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3472<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3473<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
3474<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3475<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3476<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
3477<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3478<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
3479</div><!-- fragment -->
3480</div>
3481</div>
3482<a id="a17dd12822d49a23d24198f425a6fb9c4"></a>
3483<h2 class="memtitle"><span class="permalink"><a href="#a17dd12822d49a23d24198f425a6fb9c4">&#9670;&nbsp;</a></span>IsSplitterSupported() <span class="overload">[1/2]</span></h2>
3484
3485<div class="memitem">
3486<div class="memproto">
3487<table class="mlabels">
3488 <tr>
3489 <td class="mlabels-left">
3490 <table class="memname">
3491 <tr>
3492 <td class="memname">bool IsSplitterSupported </td>
3493 <td>(</td>
3494 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3495 <td class="paramname"><em>input</em>, </td>
3496 </tr>
3497 <tr>
3498 <td class="paramkey"></td>
3499 <td></td>
3500 <td class="paramtype">const <a class="el" href="structarmnn_1_1_views_descriptor.xhtml">ViewsDescriptor</a> &amp;&#160;</td>
3501 <td class="paramname"><em>descriptor</em>, </td>
3502 </tr>
3503 <tr>
3504 <td class="paramkey"></td>
3505 <td></td>
3506 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3507 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3508 </tr>
3509 <tr>
3510 <td></td>
3511 <td>)</td>
3512 <td></td><td> const</td>
3513 </tr>
3514 </table>
3515 </td>
3516 <td class="mlabels-right">
3517<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3518 </tr>
3519</table>
3520</div><div class="memdoc">
3521
3522<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a17dd12822d49a23d24198f425a6fb9c4">LayerSupportBase</a>.</p>
3523
3524<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01738">1738</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
3525
3526<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
3527<div class="fragment"><div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160;{</div><div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160; std::array&lt;DataType,5&gt; supportedTypes =</div><div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160; {</div><div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160; };</div><div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160;</div><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160; <span class="stringliteral">&quot;Reference splitter: input type not supported&quot;</span>);</div><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; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3528<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3529<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
3530<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3531<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3532<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
3533<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3534<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
3535</div><!-- fragment -->
3536</div>
3537</div>
3538<a id="aa746e752ce8874669ea549f8e50896da"></a>
3539<h2 class="memtitle"><span class="permalink"><a href="#aa746e752ce8874669ea549f8e50896da">&#9670;&nbsp;</a></span>IsSplitterSupported() <span class="overload">[2/2]</span></h2>
3540
3541<div class="memitem">
3542<div class="memproto">
3543<table class="mlabels">
3544 <tr>
3545 <td class="mlabels-left">
3546 <table class="memname">
3547 <tr>
3548 <td class="memname">bool IsSplitterSupported </td>
3549 <td>(</td>
3550 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3551 <td class="paramname"><em>input</em>, </td>
3552 </tr>
3553 <tr>
3554 <td class="paramkey"></td>
3555 <td></td>
3556 <td class="paramtype">const std::vector&lt; std::reference_wrapper&lt; <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &gt;&gt; &amp;&#160;</td>
3557 <td class="paramname"><em>outputs</em>, </td>
3558 </tr>
3559 <tr>
3560 <td class="paramkey"></td>
3561 <td></td>
3562 <td class="paramtype">const <a class="el" href="structarmnn_1_1_views_descriptor.xhtml">ViewsDescriptor</a> &amp;&#160;</td>
3563 <td class="paramname"><em>descriptor</em>, </td>
3564 </tr>
3565 <tr>
3566 <td class="paramkey"></td>
3567 <td></td>
3568 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3569 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3570 </tr>
3571 <tr>
3572 <td></td>
3573 <td>)</td>
3574 <td></td><td> const</td>
3575 </tr>
3576 </table>
3577 </td>
3578 <td class="mlabels-right">
3579<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3580 </tr>
3581</table>
3582</div><div class="memdoc">
3583
3584<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#aa746e752ce8874669ea549f8e50896da">LayerSupportBase</a>.</p>
3585
3586<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01759">1759</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
3587
3588<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
3589<div class="fragment"><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160;{</div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160; std::array&lt;DataType,5&gt; supportedTypes =</div><div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160; {</div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160; };</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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160; <span class="stringliteral">&quot;Reference splitter: output type not supported&quot;</span>);</div><div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> TensorInfo output : outputs)</div><div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160; {</div><div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160; <span class="stringliteral">&quot;Reference splitter: input type not supported&quot;</span>);</div><div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160;</div><div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160; <span class="stringliteral">&quot;Reference splitter: input and output types mismatched.&quot;</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;</div><div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3590<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3591<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
3592<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3593<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3594<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
3595<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3596<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
3597</div><!-- fragment -->
3598</div>
3599</div>
3600<a id="ab4609f1baf5fcd295951f3c8abdffd90"></a>
3601<h2 class="memtitle"><span class="permalink"><a href="#ab4609f1baf5fcd295951f3c8abdffd90">&#9670;&nbsp;</a></span>IsStackSupported()</h2>
3602
3603<div class="memitem">
3604<div class="memproto">
3605<table class="mlabels">
3606 <tr>
3607 <td class="mlabels-left">
3608 <table class="memname">
3609 <tr>
3610 <td class="memname">bool IsStackSupported </td>
3611 <td>(</td>
3612 <td class="paramtype">const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> *&gt; &amp;&#160;</td>
3613 <td class="paramname"><em>inputs</em>, </td>
3614 </tr>
3615 <tr>
3616 <td class="paramkey"></td>
3617 <td></td>
3618 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3619 <td class="paramname"><em>output</em>, </td>
3620 </tr>
3621 <tr>
3622 <td class="paramkey"></td>
3623 <td></td>
3624 <td class="paramtype">const <a class="el" href="structarmnn_1_1_stack_descriptor.xhtml">StackDescriptor</a> &amp;&#160;</td>
3625 <td class="paramname"><em>descriptor</em>, </td>
3626 </tr>
3627 <tr>
3628 <td class="paramkey"></td>
3629 <td></td>
3630 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3631 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3632 </tr>
3633 <tr>
3634 <td></td>
3635 <td>)</td>
3636 <td></td><td> const</td>
3637 </tr>
3638 </table>
3639 </td>
3640 <td class="mlabels-right">
3641<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3642 </tr>
3643</table>
3644</div><div class="memdoc">
3645
3646<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#ab4609f1baf5fcd295951f3c8abdffd90">LayerSupportBase</a>.</p>
3647
3648<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01789">1789</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
3649
3650<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
3651<div class="fragment"><div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160;{</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160;</div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160; std::array&lt;DataType,5&gt; supportedTypes =</div><div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160; {</div><div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160; };</div><div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160;</div><div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160; <span class="stringliteral">&quot;Reference stack: output type not supported&quot;</span>);</div><div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> TensorInfo* input : inputs)</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; BOOST_ASSERT(input != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(*input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160; <span class="stringliteral">&quot;Reference stack: input type not supported&quot;</span>);</div><div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160;</div><div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(*input, output), reasonIfUnsupported,</div><div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>&#160; <span class="stringliteral">&quot;Reference stack: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160; }</div><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="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3652<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3653<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
3654<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3655<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3656<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
3657<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3658<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
3659</div><!-- fragment -->
3660</div>
3661</div>
3662<a id="ac054cb25099005eac854afb1511340f0"></a>
3663<h2 class="memtitle"><span class="permalink"><a href="#ac054cb25099005eac854afb1511340f0">&#9670;&nbsp;</a></span>IsStridedSliceSupported()</h2>
3664
3665<div class="memitem">
3666<div class="memproto">
3667<table class="mlabels">
3668 <tr>
3669 <td class="mlabels-left">
3670 <table class="memname">
3671 <tr>
3672 <td class="memname">bool IsStridedSliceSupported </td>
3673 <td>(</td>
3674 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3675 <td class="paramname"><em>input</em>, </td>
3676 </tr>
3677 <tr>
3678 <td class="paramkey"></td>
3679 <td></td>
3680 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3681 <td class="paramname"><em>output</em>, </td>
3682 </tr>
3683 <tr>
3684 <td class="paramkey"></td>
3685 <td></td>
3686 <td class="paramtype">const <a class="el" href="structarmnn_1_1_strided_slice_descriptor.xhtml">StridedSliceDescriptor</a> &amp;&#160;</td>
3687 <td class="paramname"><em>descriptor</em>, </td>
3688 </tr>
3689 <tr>
3690 <td class="paramkey"></td>
3691 <td></td>
3692 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3693 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3694 </tr>
3695 <tr>
3696 <td></td>
3697 <td>)</td>
3698 <td></td><td> const</td>
3699 </tr>
3700 </table>
3701 </td>
3702 <td class="mlabels-right">
3703<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3704 </tr>
3705</table>
3706</div><div class="memdoc">
3707
3708<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#ac054cb25099005eac854afb1511340f0">LayerSupportBase</a>.</p>
3709
3710<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01821">1821</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
3711
3712<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
3713<div class="fragment"><div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160;{</div><div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160;</div><div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160; std::array&lt;DataType,4&gt; supportedTypes =</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; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>&#160; };</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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>&#160; <span class="stringliteral">&quot;Reference StridedSlice: input type not supported&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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160; <span class="stringliteral">&quot;Reference StridedSlice: output type not supported&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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160; <span class="stringliteral">&quot;Reference StridedSlice: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160;</div><div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3714<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3715<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
3716<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3717<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
3718<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3719<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
3720</div><!-- fragment -->
3721</div>
3722</div>
3723<a id="af6c947e4d4b25bc49d92d18d4ff26736"></a>
3724<h2 class="memtitle"><span class="permalink"><a href="#af6c947e4d4b25bc49d92d18d4ff26736">&#9670;&nbsp;</a></span>IsSubtractionSupported()</h2>
3725
3726<div class="memitem">
3727<div class="memproto">
3728<table class="mlabels">
3729 <tr>
3730 <td class="mlabels-left">
3731 <table class="memname">
3732 <tr>
3733 <td class="memname">bool IsSubtractionSupported </td>
3734 <td>(</td>
3735 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3736 <td class="paramname"><em>input0</em>, </td>
3737 </tr>
3738 <tr>
3739 <td class="paramkey"></td>
3740 <td></td>
3741 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3742 <td class="paramname"><em>input1</em>, </td>
3743 </tr>
3744 <tr>
3745 <td class="paramkey"></td>
3746 <td></td>
3747 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3748 <td class="paramname"><em>output</em>, </td>
3749 </tr>
3750 <tr>
3751 <td class="paramkey"></td>
3752 <td></td>
3753 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3754 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3755 </tr>
3756 <tr>
3757 <td></td>
3758 <td>)</td>
3759 <td></td><td> const</td>
3760 </tr>
3761 </table>
3762 </td>
3763 <td class="mlabels-right">
3764<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3765 </tr>
3766</table>
3767</div><div class="memdoc">
3768
3769<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#af6c947e4d4b25bc49d92d18d4ff26736">LayerSupportBase</a>.</p>
3770
3771<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01849">1849</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
3772
3773<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>.</p>
3774<div class="fragment"><div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160;{</div><div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#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,5&gt; supportedTypes = {</div><div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160; <a class="code" href="namespacearmnn.xhtml#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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input0, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160; <span class="stringliteral">&quot;Reference subtraction: input 0 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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input1, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160; <span class="stringliteral">&quot;Reference subtraction: input 1 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.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160; <span class="stringliteral">&quot;Reference subtraction: output is not a supported type.&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; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, input1), reasonIfUnsupported,</div><div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160; <span class="stringliteral">&quot;Reference subtraction: input 0 and Input 1 types are mismatched&quot;</span>);</div><div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160;</div><div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input0, output), reasonIfUnsupported,</div><div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160; <span class="stringliteral">&quot;Reference subtraction: input and output types are mismatched&quot;</span>);</div><div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160;</div><div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(ShapesAreBroadcastCompatible(input0, input1, output), reasonIfUnsupported,</div><div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160; <span class="stringliteral">&quot;Reference subtraction: shapes are not suitable for implicit broadcast.&quot;</span>);</div><div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160;</div><div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3775<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3776<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3777<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3778<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
3779<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3780<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
3781</div><!-- fragment -->
3782</div>
3783</div>
3784<a id="a0c69484f19ed650ad48b716719114e51"></a>
3785<h2 class="memtitle"><span class="permalink"><a href="#a0c69484f19ed650ad48b716719114e51">&#9670;&nbsp;</a></span>IsTransposeConvolution2dSupported()</h2>
3786
3787<div class="memitem">
3788<div class="memproto">
3789<table class="mlabels">
3790 <tr>
3791 <td class="mlabels-left">
3792 <table class="memname">
3793 <tr>
3794 <td class="memname">bool IsTransposeConvolution2dSupported </td>
3795 <td>(</td>
3796 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3797 <td class="paramname"><em>input</em>, </td>
3798 </tr>
3799 <tr>
3800 <td class="paramkey"></td>
3801 <td></td>
3802 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3803 <td class="paramname"><em>output</em>, </td>
3804 </tr>
3805 <tr>
3806 <td class="paramkey"></td>
3807 <td></td>
3808 <td class="paramtype">const <a class="el" href="structarmnn_1_1_transpose_convolution2d_descriptor.xhtml">TransposeConvolution2dDescriptor</a> &amp;&#160;</td>
3809 <td class="paramname"><em>descriptor</em>, </td>
3810 </tr>
3811 <tr>
3812 <td class="paramkey"></td>
3813 <td></td>
3814 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3815 <td class="paramname"><em>weights</em>, </td>
3816 </tr>
3817 <tr>
3818 <td class="paramkey"></td>
3819 <td></td>
3820 <td class="paramtype">const <a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &gt; &amp;&#160;</td>
3821 <td class="paramname"><em>biases</em>, </td>
3822 </tr>
3823 <tr>
3824 <td class="paramkey"></td>
3825 <td></td>
3826 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3827 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3828 </tr>
3829 <tr>
3830 <td></td>
3831 <td>)</td>
3832 <td></td><td> const</td>
3833 </tr>
3834 </table>
3835 </td>
3836 <td class="mlabels-right">
3837<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3838 </tr>
3839</table>
3840</div><div class="memdoc">
3841
3842<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a0c69484f19ed650ad48b716719114e51">LayerSupportBase</a>.</p>
3843
3844<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01919">1919</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
3845
3846<p class="reference">References <a class="el" href="_deprecated_8hpp_source.xhtml#l00033">ARMNN_NO_DEPRECATE_WARN_BEGIN</a>, <a class="el" href="_deprecated_8hpp_source.xhtml#l00034">ARMNN_NO_DEPRECATE_WARN_END</a>, <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00095">TensorInfo::GetDataType()</a>, <a class="el" href="_optional_8hpp_source.xhtml#l00053">OptionalBase::has_value()</a>, <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>, and <a class="el" href="_optional_8hpp_source.xhtml#l00146">OptionalReferenceSwitch&lt; std::is_reference&lt; T &gt;::value, T &gt;::value()</a>.</p>
3847<div class="fragment"><div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160;{</div><div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160;</div><div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>&#160; std::array&lt;DataType,5&gt; supportedTypes =</div><div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160; {</div><div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160; };</div><div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160;</div><div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160; <span class="stringliteral">&quot;Reference TransposeConvolution2d: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160;</div><div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160; <span class="stringliteral">&quot;Reference TransposeConvolution2d: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160;</div><div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160; <span class="stringliteral">&quot;Reference TransposeConvolution2d: input and output types mismatched.&quot;</span>);</div><div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160;</div><div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160;</div><div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">DataType</a> inputType = input.GetDataType();</div><div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160; <span class="keywordflow">if</span> (inputType == <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>)</div><div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>&#160; {</div><div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160; <a class="code" href="_deprecated_8hpp.xhtml#ab66a241a0ed3ee89c866e777b035d0ed">ARMNN_NO_DEPRECATE_WARN_BEGIN</a></div><div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160; std::array&lt;DataType, 3&gt; supportedWeightTypes =</div><div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>&#160; {</div><div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">DataType::QSymmS8</a>,</div><div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d">DataType::QuantizedSymm8PerAxis</a> <span class="comment">//Deprecated</span></div><div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>&#160; };</div><div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160; <a class="code" href="_deprecated_8hpp.xhtml#ad762b11b48e5c1d1c1743f529485728a">ARMNN_NO_DEPRECATE_WARN_END</a></div><div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>&#160;</div><div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedWeightTypes), reasonIfUnsupported,</div><div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160; <span class="stringliteral">&quot;Reference TransposeConvolution2d: weights type not supported for &quot;</span></div><div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>&#160; <span class="stringliteral">&quot;quantized input.&quot;</span>);</div><div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160; }</div><div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160; {</div><div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(weights, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160; <span class="stringliteral">&quot;Reference TransposeConvolution2d: weights is not a supported type.&quot;</span>);</div><div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160;</div><div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, weights), reasonIfUnsupported,</div><div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160; <span class="stringliteral">&quot;Reference TransposeConvolution2d: input and weights types mismatched.&quot;</span>);</div><div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160; }</div><div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160;</div><div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160; <span class="keywordflow">if</span> (biases.has_value())</div><div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160; {</div><div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160; std::array&lt;DataType,4&gt; biasesSupportedTypes =</div><div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160; {</div><div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">DataType::Signed32</a></div><div class="line"><a name="l01981"></a><span class="lineno"> 1981</span>&#160; };</div><div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(biases.value(), biasesSupportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>&#160; <span class="stringliteral">&quot;Reference TransposeConvolution2d: biases is not a supported type.&quot;</span>);</div><div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160; }</div><div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>&#160;</div><div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160;}</div><div class="ttc" id="_deprecated_8hpp_xhtml_ab66a241a0ed3ee89c866e777b035d0ed"><div class="ttname"><a href="_deprecated_8hpp.xhtml#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.xhtml#l00033">Deprecated.hpp:33</a></div></div>
3848<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a34346ec9593088efe3a29c0dad92166d">armnn::DataType::QuantizedSymm8PerAxis</a></div></div>
3849<div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3850<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6accedffbc6e5308e33d3843e8bdc0dad7">armnn::DataType::Signed32</a></div></div>
3851<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3852<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
3853<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6">armnn::DataType</a></div><div class="ttdeci">DataType</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.xhtml#l00032">Types.hpp:32</a></div></div>
3854<div class="ttc" id="_deprecated_8hpp_xhtml_ad762b11b48e5c1d1c1743f529485728a"><div class="ttname"><a href="_deprecated_8hpp.xhtml#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.xhtml#l00034">Deprecated.hpp:34</a></div></div>
3855<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3856<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3857<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
3858<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3859<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a9945327825b115e93a3b89f4302e76db">armnn::DataType::QSymmS8</a></div></div>
3860<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
3861</div><!-- fragment -->
3862</div>
3863</div>
3864<a id="a0189645f33641b280877a1b2f6ba9fee"></a>
3865<h2 class="memtitle"><span class="permalink"><a href="#a0189645f33641b280877a1b2f6ba9fee">&#9670;&nbsp;</a></span>IsTransposeSupported()</h2>
3866
3867<div class="memitem">
3868<div class="memproto">
3869<table class="mlabels">
3870 <tr>
3871 <td class="mlabels-left">
3872 <table class="memname">
3873 <tr>
3874 <td class="memname">bool IsTransposeSupported </td>
3875 <td>(</td>
3876 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3877 <td class="paramname"><em>input</em>, </td>
3878 </tr>
3879 <tr>
3880 <td class="paramkey"></td>
3881 <td></td>
3882 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3883 <td class="paramname"><em>output</em>, </td>
3884 </tr>
3885 <tr>
3886 <td class="paramkey"></td>
3887 <td></td>
3888 <td class="paramtype">const <a class="el" href="structarmnn_1_1_transpose_descriptor.xhtml">TransposeDescriptor</a> &amp;&#160;</td>
3889 <td class="paramname"><em>descriptor</em>, </td>
3890 </tr>
3891 <tr>
3892 <td class="paramkey"></td>
3893 <td></td>
3894 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3895 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3896 </tr>
3897 <tr>
3898 <td></td>
3899 <td>)</td>
3900 <td></td><td> const</td>
3901 </tr>
3902 </table>
3903 </td>
3904 <td class="mlabels-right">
3905<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3906 </tr>
3907</table>
3908</div><div class="memdoc">
3909
3910<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a0189645f33641b280877a1b2f6ba9fee">LayerSupportBase</a>.</p>
3911
3912<p class="definition">Definition at line <a class="el" href="_ref_layer_support_8cpp_source.xhtml#l01989">1989</a> of file <a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a>.</p>
3913
3914<p class="reference">References <a class="el" href="_layer_support_rules_8hpp_source.xhtml#l00037">armnn::CheckSupportRule()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
3915<div class="fragment"><div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>&#160;{</div><div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160;</div><div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160; <span class="comment">// Define supported output and inputs types.</span></div><div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>&#160; std::array&lt;DataType, 5&gt; supportedTypes =</div><div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>&#160; {</div><div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">DataType::BFloat16</a>,</div><div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">DataType::Float32</a>,</div><div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">DataType::Float16</a>,</div><div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">DataType::QAsymmU8</a>,</div><div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>&#160; <a class="code" href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">DataType::QSymmS16</a></div><div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>&#160; };</div><div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>&#160;</div><div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>&#160; <span class="stringliteral">&quot;Reference transpose: input is not a supported type.&quot;</span>);</div><div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>&#160;</div><div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypeAnyOf(output, supportedTypes), reasonIfUnsupported,</div><div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>&#160; <span class="stringliteral">&quot;Reference transpose: output is not a supported type.&quot;</span>);</div><div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160;</div><div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>&#160; supported &amp;= <a class="code" href="namespacearmnn.xhtml#acea2d8c53b441e24b6d60b090fda37c9">CheckSupportRule</a>(TypesAreEqual(input, output), reasonIfUnsupported,</div><div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>&#160; <span class="stringliteral">&quot;Reference transpose: input and output types are mismatched.&quot;</span>);</div><div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>&#160;</div><div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>;</div><div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
3916<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a053c769dcf82d66ef326c86980c02ba7">armnn::DataType::QSymmS16</a></div></div>
3917<div class="ttc" id="namespacearmnn_xhtml_a44affeeb090c3c6a3062830562672e84"><div class="ttname"><a href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a></div><div class="ttdeci">void IgnoreUnused(Ts &amp;&amp;...)</div><div class="ttdef"><b>Definition:</b> <a href="_ignore_unused_8hpp_source.xhtml#l00014">IgnoreUnused.hpp:14</a></div></div>
3918<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a0a3f57c876f5a230244c38e1453a8a6e">armnn::DataType::QAsymmU8</a></div></div>
3919<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a26e6ed77470c6f2f830ecf874e6c0d55">armnn::DataType::Float16</a></div></div>
3920<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6acdb56b2d2f73c26480207524f2dbe0af">armnn::DataType::BFloat16</a></div></div>
3921<div class="ttc" id="namespacearmnn_xhtml_ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204"><div class="ttname"><a href="namespacearmnn.xhtml#ad8ed01ff3ff33333d8e19db4d2818bb6a166495adc0d0f53bee6baecc577f5204">armnn::DataType::Float32</a></div></div>
3922<div class="ttc" id="namespacearmnn_xhtml_acea2d8c53b441e24b6d60b090fda37c9"><div class="ttname"><a href="namespacearmnn.xhtml#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.xhtml#l00037">LayerSupportRules.hpp:37</a></div></div>
3923</div><!-- fragment -->
3924</div>
3925</div>
3926<hr/>The documentation for this class was generated from the following files:<ul>
3927<li>src/backends/reference/<a class="el" href="_ref_layer_support_8hpp_source.xhtml">RefLayerSupport.hpp</a></li>
3928<li>src/backends/reference/<a class="el" href="_ref_layer_support_8cpp_source.xhtml">RefLayerSupport.cpp</a></li>
3929</ul>
3930</div><!-- contents -->
3931</div><!-- doc-content -->
3932<!-- start footer part -->
3933<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
3934 <ul>
3935 <li class="navelem"><a class="el" href="namespacearmnn.xhtml">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_ref_layer_support.xhtml">RefLayerSupport</a></li>
3936 <li class="footer">Generated on Fri Mar 13 2020 16:09:20 for ArmNN by
3937 <a href="http://www.doxygen.org/index.html">
3938 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
3939 </ul>
3940</div>
3941</body>
3942</html>