blob: b2f90dc652614f74348390ddac29cd122077384a [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: NeonLayerSupport 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_neon_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_neon_layer_support-members.xhtml">List of all members</a> </div>
100 <div class="headertitle">
101<div class="title">NeonLayerSupport Class Reference</div> </div>
102</div><!--header-->
103<div class="contents">
104
105<p><code>#include &lt;<a class="el" href="_neon_layer_support_8hpp_source.xhtml">NeonLayerSupport.hpp</a>&gt;</code></p>
106<div class="dynheader">
107Inheritance diagram for NeonLayerSupport:</div>
108<div class="dyncontent">
109 <div class="center">
110 <img src="classarmnn_1_1_neon_layer_support.png" usemap="#NeonLayerSupport_map" alt=""/>
111 <map id="NeonLayerSupport_map" name="NeonLayerSupport_map">
112<area href="classarmnn_1_1_layer_support_base.xhtml" alt="LayerSupportBase" shape="rect" coords="0,56,119,80"/>
113<area href="classarmnn_1_1_i_layer_support.xhtml" alt="ILayerSupport" shape="rect" coords="0,0,119,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_neon_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_neon_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_neon_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_neon_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_neon_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_neon_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_neon_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_neon_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_neon_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_neon_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_neon_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_neon_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:a128fb9890897e08251a3f621e570cd23"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_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>
144<tr class="separator:a128fb9890897e08251a3f621e570cd23"><td class="memSeparator" colspan="2">&#160;</td></tr>
145<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_neon_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>
146<tr class="separator:adc84390751f227fe03a115b5fa10b0fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
147<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_neon_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>
148<tr class="separator:a2e89c72cf60df7c2d2d7e5d98822b672"><td class="memSeparator" colspan="2">&#160;</td></tr>
149<tr class="memitem:a16c8cd49a7fa487b904b5c9cc83673e7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_layer_support.xhtml#a16c8cd49a7fa487b904b5c9cc83673e7">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; reason=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
150<tr class="separator:a16c8cd49a7fa487b904b5c9cc83673e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
151<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_neon_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>
152<tr class="separator:a61c5b4e5dc224ef0c876e43353b34030"><td class="memSeparator" colspan="2">&#160;</td></tr>
153<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_neon_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>
154<tr class="separator:a53c7593d1aa26207eac5d5814a9d56dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
155<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_neon_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>
156<tr class="separator:aeaf971dd9dffd6f6bc7e5a1ae6b6af5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
157<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_neon_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>
158<tr class="separator:a14e45f3699e823d7859d5d352d89265c"><td class="memSeparator" colspan="2">&#160;</td></tr>
159<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_neon_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>
160<tr class="separator:ad29d99ecd719c640ed22dcf5c688c6a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
161<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_neon_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>
162<tr class="separator:a0813546a09bf2caba6794014d1960624"><td class="memSeparator" colspan="2">&#160;</td></tr>
163<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_neon_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>
164<tr class="separator:aca4acda7ab553edfda828658d8f3882b"><td class="memSeparator" colspan="2">&#160;</td></tr>
165<tr class="memitem:a862535721737220f62a49f14ff494dd5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_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>
166<tr class="separator:a862535721737220f62a49f14ff494dd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
167<tr class="memitem:afef9436c86b37b973471f2ae546ac00a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_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>
168<tr class="separator:afef9436c86b37b973471f2ae546ac00a"><td class="memSeparator" colspan="2">&#160;</td></tr>
169<tr class="memitem:ab268618580d4f53bf5e9b5a47dee3f6a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_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>
170<tr class="separator:ab268618580d4f53bf5e9b5a47dee3f6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
171<tr class="memitem:aa9309ea64f9f7447efe3567f77417d29"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_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>
172<tr class="separator:aa9309ea64f9f7447efe3567f77417d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
173<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_neon_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>
174<tr class="separator:a3d0eafb3de560b3482f857b56b2b2116"><td class="memSeparator" colspan="2">&#160;</td></tr>
175<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_neon_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>
176<tr class="separator:a421e1f3865d99d52613003048342c49a"><td class="memSeparator" colspan="2">&#160;</td></tr>
177<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_neon_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>
178<tr class="separator:a08f55136b1f0907e7083d70d719f697f"><td class="memSeparator" colspan="2">&#160;</td></tr>
179<tr class="memitem:a994c2065561141bf37fcd2ff7bb4af4d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_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>
180<tr class="separator:a994c2065561141bf37fcd2ff7bb4af4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
181<tr class="memitem:aef3244c0ef64c8f2f352d21ce0c06985"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_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>
182<tr class="separator:aef3244c0ef64c8f2f352d21ce0c06985"><td class="memSeparator" colspan="2">&#160;</td></tr>
183<tr class="memitem:a0534291adf9f3436ba331552eba29a43"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_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>
184<tr class="separator:a0534291adf9f3436ba331552eba29a43"><td class="memSeparator" colspan="2">&#160;</td></tr>
185<tr class="memitem:a9d553495d9a94fa55588ae159d8bda30"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_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>
186<tr class="separator:a9d553495d9a94fa55588ae159d8bda30"><td class="memSeparator" colspan="2">&#160;</td></tr>
187<tr class="memitem:aa955675303d67b1d1fb51fb7f09d8c21"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_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>
188<tr class="separator:aa955675303d67b1d1fb51fb7f09d8c21"><td class="memSeparator" colspan="2">&#160;</td></tr>
189<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_neon_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>
190<tr class="separator:a4b36dcedd5edbd5142b3548967aadc2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
191<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_neon_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>
192<tr class="separator:ad2c7be6b84b04444e514f52f593b3df7"><td class="memSeparator" colspan="2">&#160;</td></tr>
193<tr class="memitem:a281eb6ce87b6ca147e681dd3f6483a87"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarmnn_1_1_neon_layer_support.xhtml#a281eb6ce87b6ca147e681dd3f6483a87">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;cellStateIn, 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;cellStateOut, const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;outputStateOut, 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>
194<tr class="separator:a281eb6ce87b6ca147e681dd3f6483a87"><td class="memSeparator" colspan="2">&#160;</td></tr>
195<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_neon_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>
196<tr class="separator:aa02f01bbcb48c67f5b2efc4132ec5e86"><td class="memSeparator" colspan="2">&#160;</td></tr>
197<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_neon_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>
198<tr class="separator:a3d27a3fc6a7df0b68d80cb113aff8b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
199<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_neon_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>
200<tr class="separator:a0f29f31e1ba46a52eedcdecd34f4cc24"><td class="memSeparator" colspan="2">&#160;</td></tr>
201<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_neon_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>
202<tr class="separator:a10ae4d84b0d31580f6fcd5107322ebcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
203<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_neon_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>
204<tr class="separator:a0e14dafa85cfcd4a6b6b752284b51e63"><td class="memSeparator" colspan="2">&#160;</td></tr>
205<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_neon_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>
206<tr class="separator:a8385cf8227907904a6a86fac318fc099"><td class="memSeparator" colspan="2">&#160;</td></tr>
207<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_neon_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>
208<tr class="separator:a3adfc31e079a970e028e537ec05fabf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
209<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_neon_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>
210<tr class="separator:ab2af1e7da9490d29e569d271e16b0d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
211<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_neon_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>
212<tr class="separator:a17dd12822d49a23d24198f425a6fb9c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
213<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_neon_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>
214<tr class="separator:aa746e752ce8874669ea549f8e50896da"><td class="memSeparator" colspan="2">&#160;</td></tr>
215<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_neon_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>
216<tr class="separator:ab4609f1baf5fcd295951f3c8abdffd90"><td class="memSeparator" colspan="2">&#160;</td></tr>
217<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_neon_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>
218<tr class="separator:ac054cb25099005eac854afb1511340f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
219<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_neon_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>
220<tr class="separator:af6c947e4d4b25bc49d92d18d4ff26736"><td class="memSeparator" colspan="2">&#160;</td></tr>
221<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_neon_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>
222<tr class="separator:a0c69484f19ed650ad48b716719114e51"><td class="memSeparator" colspan="2">&#160;</td></tr>
223<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_neon_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>
224<tr class="separator:a0189645f33641b280877a1b2f6ba9fee"><td class="memSeparator" colspan="2">&#160;</td></tr>
225<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>
226<tr class="memitem:a87a66c5e87a19534ce3e6c374c9b8f09 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#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>
227<tr class="separator:a87a66c5e87a19534ce3e6c374c9b8f09 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
228<tr class="memitem:a50af275d7755a5bb1be69736d7e4b02f 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#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>
229<tr class="separator:a50af275d7755a5bb1be69736d7e4b02f inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
230<tr class="memitem:afb6ad04c6ff234b193f3dfc0cfabcbd5 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#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>
231<tr class="separator:afb6ad04c6ff234b193f3dfc0cfabcbd5 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
232<tr class="memitem:aab7318aa8adc0a8a3b6a1780cfc1f90b 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#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>
233<tr class="separator:aab7318aa8adc0a8a3b6a1780cfc1f90b inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
234<tr class="memitem:aef77aa4bb0e68e88dcf5ab8b5882a2d3 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#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>
235<tr class="separator:aef77aa4bb0e68e88dcf5ab8b5882a2d3 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
236<tr class="memitem:aa0380b797cb9932fb03067dbe2cdecfb 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#aa0380b797cb9932fb03067dbe2cdecfb">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=<a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()) const override</td></tr>
237<tr class="separator:aa0380b797cb9932fb03067dbe2cdecfb inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
238<tr class="memitem:a9d25fabf725313fda40a41400155bafe 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#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>
239<tr class="separator:a9d25fabf725313fda40a41400155bafe inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
240<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>
241<tr class="separator:a334181d8098b943d03ccd820753ace75 inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
242<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>
243<tr class="separator:aa9bbc383cac59d6f02d2ef7d2cc0076f inherit pub_methods_classarmnn_1_1_layer_support_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
244<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>
245<tr class="separator:adc1a598f2f572564818e3d343af93486 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="_neon_layer_support_8hpp_source.xhtml#l00012">12</a> of file <a class="el" href="_neon_layer_support_8hpp_source.xhtml">NeonLayerSupport.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="_neon_layer_support_8cpp_source.xhtml#l00121">121</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
306
307<p class="reference">References <a class="el" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">armnn::Abs</a>, and <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00354">NeonLayerSupport::IsElementwiseUnarySupported()</a>.</p>
308<div class="fragment"><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; ElementwiseUnaryDescriptor descriptor(<a class="code" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">UnaryOperation::Abs</a>);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_neon_layer_support.xhtml#a61c5b4e5dc224ef0c876e43353b34030">IsElementwiseUnarySupported</a>(input, output, descriptor, reasonIfUnsupported);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">armnn::ActivationFunction::Abs</a></div></div>
309<div class="ttc" id="classarmnn_1_1_neon_layer_support_xhtml_a61c5b4e5dc224ef0c876e43353b34030"><div class="ttname"><a href="classarmnn_1_1_neon_layer_support.xhtml#a61c5b4e5dc224ef0c876e43353b34030">armnn::NeonLayerSupport::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="_neon_layer_support_8cpp_source.xhtml#l00354">NeonLayerSupport.cpp:354</a></div></div>
310</div><!-- fragment -->
311</div>
312</div>
313<a id="ab3adb3a28736529682e4ff0ea976dcd3"></a>
314<h2 class="memtitle"><span class="permalink"><a href="#ab3adb3a28736529682e4ff0ea976dcd3">&#9670;&nbsp;</a></span>IsActivationSupported()</h2>
315
316<div class="memitem">
317<div class="memproto">
318<table class="mlabels">
319 <tr>
320 <td class="mlabels-left">
321 <table class="memname">
322 <tr>
323 <td class="memname">bool IsActivationSupported </td>
324 <td>(</td>
325 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
326 <td class="paramname"><em>input</em>, </td>
327 </tr>
328 <tr>
329 <td class="paramkey"></td>
330 <td></td>
331 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
332 <td class="paramname"><em>output</em>, </td>
333 </tr>
334 <tr>
335 <td class="paramkey"></td>
336 <td></td>
337 <td class="paramtype">const <a class="el" href="structarmnn_1_1_activation_descriptor.xhtml">ActivationDescriptor</a> &amp;&#160;</td>
338 <td class="paramname"><em>descriptor</em>, </td>
339 </tr>
340 <tr>
341 <td class="paramkey"></td>
342 <td></td>
343 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
344 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
345 </tr>
346 <tr>
347 <td></td>
348 <td>)</td>
349 <td></td><td> const</td>
350 </tr>
351 </table>
352 </td>
353 <td class="mlabels-right">
354<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
355 </tr>
356</table>
357</div><div class="memdoc">
358
359<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#ab3adb3a28736529682e4ff0ea976dcd3">LayerSupportBase</a>.</p>
360
361<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00129">129</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
362
363<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>, and <a class="el" href="_neon_activation_workload_8cpp_source.xhtml#l00015">armnn::NeonActivationWorkloadValidate()</a>.</p>
364<div class="fragment"><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; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a46495807633a01d826851e1cb498f071">NeonActivationWorkloadValidate</a>,</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; input,</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; output,</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; descriptor);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a46495807633a01d826851e1cb498f071"><div class="ttname"><a href="namespacearmnn.xhtml#a46495807633a01d826851e1cb498f071">armnn::NeonActivationWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonActivationWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const ActivationDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_activation_workload_8cpp_source.xhtml#l00015">NeonActivationWorkload.cpp:15</a></div></div>
365<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>
366<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
367</div><!-- fragment -->
368</div>
369</div>
370<a id="a48177e22e47448adb3d83e145dadf735"></a>
371<h2 class="memtitle"><span class="permalink"><a href="#a48177e22e47448adb3d83e145dadf735">&#9670;&nbsp;</a></span>IsAdditionSupported()</h2>
372
373<div class="memitem">
374<div class="memproto">
375<table class="mlabels">
376 <tr>
377 <td class="mlabels-left">
378 <table class="memname">
379 <tr>
380 <td class="memname">bool IsAdditionSupported </td>
381 <td>(</td>
382 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
383 <td class="paramname"><em>input0</em>, </td>
384 </tr>
385 <tr>
386 <td class="paramkey"></td>
387 <td></td>
388 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
389 <td class="paramname"><em>input1</em>, </td>
390 </tr>
391 <tr>
392 <td class="paramkey"></td>
393 <td></td>
394 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
395 <td class="paramname"><em>output</em>, </td>
396 </tr>
397 <tr>
398 <td class="paramkey"></td>
399 <td></td>
400 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
401 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
402 </tr>
403 <tr>
404 <td></td>
405 <td>)</td>
406 <td></td><td> const</td>
407 </tr>
408 </table>
409 </td>
410 <td class="mlabels-right">
411<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
412 </tr>
413</table>
414</div><div class="memdoc">
415
416<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a48177e22e47448adb3d83e145dadf735">LayerSupportBase</a>.</p>
417
418<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00142">142</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
419
420<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_addition_workload_8cpp_source.xhtml#l00017">armnn::NeonAdditionWorkloadValidate()</a>.</p>
421<div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;{</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#afc541536011ccfb06853c45bfaba2dfd">NeonAdditionWorkloadValidate</a>,</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; input0,</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; input1,</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; output);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_afc541536011ccfb06853c45bfaba2dfd"><div class="ttname"><a href="namespacearmnn.xhtml#afc541536011ccfb06853c45bfaba2dfd">armnn::NeonAdditionWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonAdditionWorkloadValidate(const TensorInfo &amp;input0, const TensorInfo &amp;input1, const TensorInfo &amp;output)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_addition_workload_8cpp_source.xhtml#l00017">NeonAdditionWorkload.cpp:17</a></div></div>
422<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
423</div><!-- fragment -->
424</div>
425</div>
426<a id="a0f4841f89f21fd794786b4c03c2425fd"></a>
427<h2 class="memtitle"><span class="permalink"><a href="#a0f4841f89f21fd794786b4c03c2425fd">&#9670;&nbsp;</a></span>IsArgMinMaxSupported()</h2>
428
429<div class="memitem">
430<div class="memproto">
431<table class="mlabels">
432 <tr>
433 <td class="mlabels-left">
434 <table class="memname">
435 <tr>
436 <td class="memname">bool IsArgMinMaxSupported </td>
437 <td>(</td>
438 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
439 <td class="paramname"><em>input</em>, </td>
440 </tr>
441 <tr>
442 <td class="paramkey"></td>
443 <td></td>
444 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
445 <td class="paramname"><em>output</em>, </td>
446 </tr>
447 <tr>
448 <td class="paramkey"></td>
449 <td></td>
450 <td class="paramtype">const <a class="el" href="structarmnn_1_1_arg_min_max_descriptor.xhtml">ArgMinMaxDescriptor</a> &amp;&#160;</td>
451 <td class="paramname"><em>descriptor</em>, </td>
452 </tr>
453 <tr>
454 <td class="paramkey"></td>
455 <td></td>
456 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
457 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
458 </tr>
459 <tr>
460 <td></td>
461 <td>)</td>
462 <td></td><td> const</td>
463 </tr>
464 </table>
465 </td>
466 <td class="mlabels-right">
467<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
468 </tr>
469</table>
470</div><div class="memdoc">
471
472<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a0f4841f89f21fd794786b4c03c2425fd">LayerSupportBase</a>.</p>
473
474<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00154">154</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
475
476<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_arg_min_max_workload_8cpp_source.xhtml#l00029">armnn::NeonArgMinMaxWorkloadValidate()</a>.</p>
477<div class="fragment"><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;{</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a61d1f39297fec6e3062e4047dc5f236e">NeonArgMinMaxWorkloadValidate</a>,</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; input,</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; output,</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; descriptor);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a61d1f39297fec6e3062e4047dc5f236e"><div class="ttname"><a href="namespacearmnn.xhtml#a61d1f39297fec6e3062e4047dc5f236e">armnn::NeonArgMinMaxWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonArgMinMaxWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const ArgMinMaxDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_arg_min_max_workload_8cpp_source.xhtml#l00029">NeonArgMinMaxWorkload.cpp:29</a></div></div>
478<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
479</div><!-- fragment -->
480</div>
481</div>
482<a id="a67c970dd054b991e14369de523ca3a5a"></a>
483<h2 class="memtitle"><span class="permalink"><a href="#a67c970dd054b991e14369de523ca3a5a">&#9670;&nbsp;</a></span>IsBatchNormalizationSupported()</h2>
484
485<div class="memitem">
486<div class="memproto">
487<table class="mlabels">
488 <tr>
489 <td class="mlabels-left">
490 <table class="memname">
491 <tr>
492 <td class="memname">bool IsBatchNormalizationSupported </td>
493 <td>(</td>
494 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
495 <td class="paramname"><em>input</em>, </td>
496 </tr>
497 <tr>
498 <td class="paramkey"></td>
499 <td></td>
500 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
501 <td class="paramname"><em>output</em>, </td>
502 </tr>
503 <tr>
504 <td class="paramkey"></td>
505 <td></td>
506 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
507 <td class="paramname"><em>mean</em>, </td>
508 </tr>
509 <tr>
510 <td class="paramkey"></td>
511 <td></td>
512 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
513 <td class="paramname"><em>var</em>, </td>
514 </tr>
515 <tr>
516 <td class="paramkey"></td>
517 <td></td>
518 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
519 <td class="paramname"><em>beta</em>, </td>
520 </tr>
521 <tr>
522 <td class="paramkey"></td>
523 <td></td>
524 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
525 <td class="paramname"><em>gamma</em>, </td>
526 </tr>
527 <tr>
528 <td class="paramkey"></td>
529 <td></td>
530 <td class="paramtype">const <a class="el" href="structarmnn_1_1_batch_normalization_descriptor.xhtml">BatchNormalizationDescriptor</a> &amp;&#160;</td>
531 <td class="paramname"><em>descriptor</em>, </td>
532 </tr>
533 <tr>
534 <td class="paramkey"></td>
535 <td></td>
536 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
537 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
538 </tr>
539 <tr>
540 <td></td>
541 <td>)</td>
542 <td></td><td> const</td>
543 </tr>
544 </table>
545 </td>
546 <td class="mlabels-right">
547<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
548 </tr>
549</table>
550</div><div class="memdoc">
551
552<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a67c970dd054b991e14369de523ca3a5a">LayerSupportBase</a>.</p>
553
554<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00166">166</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
555
556<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_batch_normalization_workload_8cpp_source.xhtml#l00020">armnn::NeonBatchNormalizationValidate()</a>.</p>
557<div class="fragment"><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; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a6c856ceba1828fe201b2b6c032d70371">NeonBatchNormalizationValidate</a>,</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; input,</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; output,</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; mean,</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; var,</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; beta,</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; gamma,</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; descriptor);</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a6c856ceba1828fe201b2b6c032d70371"><div class="ttname"><a href="namespacearmnn.xhtml#a6c856ceba1828fe201b2b6c032d70371">armnn::NeonBatchNormalizationValidate</a></div><div class="ttdeci">arm_compute::Status NeonBatchNormalizationValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const TensorInfo &amp;mean, const TensorInfo &amp;var, const TensorInfo &amp;beta, const TensorInfo &amp;gamma, const BatchNormalizationDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_batch_normalization_workload_8cpp_source.xhtml#l00020">NeonBatchNormalizationWorkload.cpp:20</a></div></div>
558<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
559</div><!-- fragment -->
560</div>
561</div>
562<a id="adc5695cc25f4055c7ed54bdc8604a098"></a>
563<h2 class="memtitle"><span class="permalink"><a href="#adc5695cc25f4055c7ed54bdc8604a098">&#9670;&nbsp;</a></span>IsBatchToSpaceNdSupported()</h2>
564
565<div class="memitem">
566<div class="memproto">
567<table class="mlabels">
568 <tr>
569 <td class="mlabels-left">
570 <table class="memname">
571 <tr>
572 <td class="memname">bool IsBatchToSpaceNdSupported </td>
573 <td>(</td>
574 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
575 <td class="paramname"><em>input</em>, </td>
576 </tr>
577 <tr>
578 <td class="paramkey"></td>
579 <td></td>
580 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
581 <td class="paramname"><em>output</em>, </td>
582 </tr>
583 <tr>
584 <td class="paramkey"></td>
585 <td></td>
586 <td class="paramtype">const <a class="el" href="structarmnn_1_1_batch_to_space_nd_descriptor.xhtml">BatchToSpaceNdDescriptor</a> &amp;&#160;</td>
587 <td class="paramname"><em>descriptor</em>, </td>
588 </tr>
589 <tr>
590 <td class="paramkey"></td>
591 <td></td>
592 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
593 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
594 </tr>
595 <tr>
596 <td></td>
597 <td>)</td>
598 <td></td><td> const</td>
599 </tr>
600 </table>
601 </td>
602 <td class="mlabels-right">
603<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
604 </tr>
605</table>
606</div><div class="memdoc">
607
608<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#adc5695cc25f4055c7ed54bdc8604a098">LayerSupportBase</a>.</p>
609
610<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00186">186</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
611
612<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_batch_to_space_nd_workload_8cpp_source.xhtml#l00016">armnn::NeonBatchToSpaceNdWorkloadValidate()</a>.</p>
613<div class="fragment"><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;{</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a00623eeb8f77dac6dbbc1395b5270dbb">NeonBatchToSpaceNdWorkloadValidate</a>,</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; input,</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; output,</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; descriptor);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a00623eeb8f77dac6dbbc1395b5270dbb"><div class="ttname"><a href="namespacearmnn.xhtml#a00623eeb8f77dac6dbbc1395b5270dbb">armnn::NeonBatchToSpaceNdWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonBatchToSpaceNdWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const BatchToSpaceNdDescriptor &amp;desc)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_batch_to_space_nd_workload_8cpp_source.xhtml#l00016">NeonBatchToSpaceNdWorkload.cpp:16</a></div></div>
614<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
615</div><!-- fragment -->
616</div>
617</div>
618<a id="a7c52726a684dd76258c61af124012537"></a>
619<h2 class="memtitle"><span class="permalink"><a href="#a7c52726a684dd76258c61af124012537">&#9670;&nbsp;</a></span>IsComparisonSupported()</h2>
620
621<div class="memitem">
622<div class="memproto">
623<table class="mlabels">
624 <tr>
625 <td class="mlabels-left">
626 <table class="memname">
627 <tr>
628 <td class="memname">bool IsComparisonSupported </td>
629 <td>(</td>
630 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
631 <td class="paramname"><em>input0</em>, </td>
632 </tr>
633 <tr>
634 <td class="paramkey"></td>
635 <td></td>
636 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
637 <td class="paramname"><em>input1</em>, </td>
638 </tr>
639 <tr>
640 <td class="paramkey"></td>
641 <td></td>
642 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
643 <td class="paramname"><em>output</em>, </td>
644 </tr>
645 <tr>
646 <td class="paramkey"></td>
647 <td></td>
648 <td class="paramtype">const <a class="el" href="structarmnn_1_1_comparison_descriptor.xhtml">ComparisonDescriptor</a> &amp;&#160;</td>
649 <td class="paramname"><em>descriptor</em>, </td>
650 </tr>
651 <tr>
652 <td class="paramkey"></td>
653 <td></td>
654 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
655 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
656 </tr>
657 <tr>
658 <td></td>
659 <td>)</td>
660 <td></td><td> const</td>
661 </tr>
662 </table>
663 </td>
664 <td class="mlabels-right">
665<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
666 </tr>
667</table>
668</div><div class="memdoc">
669
670<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a7c52726a684dd76258c61af124012537">LayerSupportBase</a>.</p>
671
672<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00198">198</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
673
674<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, <a class="el" href="namespacearmnn.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">armnn::Greater</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00078">ComparisonDescriptor::m_Operation</a>, and <a class="el" href="_neon_greater_workload_8cpp_source.xhtml#l00013">armnn::NeonGreaterWorkloadValidate()</a>.</p>
675
676<p class="reference">Referenced by <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00408">NeonLayerSupport::IsGreaterSupported()</a>.</p>
677<div class="fragment"><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;{</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">if</span> (descriptor.m_Operation == <a class="code" href="namespacearmnn.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">ComparisonOperation::Greater</a>)</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#ad536149438b0481b7278ad741e18fb5a">NeonGreaterWorkloadValidate</a>,</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; input0,</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; input1,</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; output);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a"><div class="ttname"><a href="namespacearmnn.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">armnn::ComparisonOperation::Greater</a></div></div>
678<div class="ttc" id="namespacearmnn_xhtml_ad536149438b0481b7278ad741e18fb5a"><div class="ttname"><a href="namespacearmnn.xhtml#ad536149438b0481b7278ad741e18fb5a">armnn::NeonGreaterWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonGreaterWorkloadValidate(const TensorInfo &amp;input0, const TensorInfo &amp;input1, const TensorInfo &amp;output)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_greater_workload_8cpp_source.xhtml#l00013">NeonGreaterWorkload.cpp:13</a></div></div>
679<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
680</div><!-- fragment -->
681</div>
682</div>
683<a id="a3dca8ffbcb5f3afa1799aa7d354a3016"></a>
684<h2 class="memtitle"><span class="permalink"><a href="#a3dca8ffbcb5f3afa1799aa7d354a3016">&#9670;&nbsp;</a></span>IsConcatSupported()</h2>
685
686<div class="memitem">
687<div class="memproto">
688<table class="mlabels">
689 <tr>
690 <td class="mlabels-left">
691 <table class="memname">
692 <tr>
693 <td class="memname">bool IsConcatSupported </td>
694 <td>(</td>
695 <td class="paramtype">const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> *&gt;&#160;</td>
696 <td class="paramname"><em>inputs</em>, </td>
697 </tr>
698 <tr>
699 <td class="paramkey"></td>
700 <td></td>
701 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
702 <td class="paramname"><em>output</em>, </td>
703 </tr>
704 <tr>
705 <td class="paramkey"></td>
706 <td></td>
707 <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#a7863c179ff92feec660c48ab7b95ae55">ConcatDescriptor</a> &amp;&#160;</td>
708 <td class="paramname"><em>descriptor</em>, </td>
709 </tr>
710 <tr>
711 <td class="paramkey"></td>
712 <td></td>
713 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
714 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
715 </tr>
716 <tr>
717 <td></td>
718 <td>)</td>
719 <td></td><td> const</td>
720 </tr>
721 </table>
722 </td>
723 <td class="mlabels-right">
724<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
725 </tr>
726</table>
727</div><div class="memdoc">
728
729<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a1542179a03961e3635bb5bef993c8e0e">LayerSupportBase</a>.</p>
730
731<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00216">216</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
732
733<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, <a class="el" href="_descriptors_8cpp_source.xhtml#l00154">OriginsDescriptor::GetConcatAxis()</a>, <a class="el" href="_descriptors_8cpp_source.xhtml#l00184">OriginsDescriptor::GetNumDimensions()</a>, <a class="el" href="_tensor_8cpp_source.xhtml#l00218">TensorInfo::IsTypeSpaceMatch()</a>, <a class="el" href="_neon_concat_workload_8cpp_source.xhtml#l00028">armnn::NeonConcatWorkloadValidate()</a>, and <a class="el" href="_layer_support_common_8hpp_source.xhtml#l00017">armnn::SetValueChecked()</a>.</p>
734
735<p class="reference">Referenced by <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00491">NeonLayerSupport::IsMergerSupported()</a>.</p>
736<div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;{</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">if</span> (descriptor.GetNumDimensions() &lt;= descriptor.GetConcatAxis())</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; <a class="code" href="namespacearmnn.xhtml#a13c7d751e4d37f65a6d40c3c6e50d2b8">SetValueChecked</a>(reasonIfUnsupported, <span class="stringliteral">&quot;Neon Concat: Concat axis &gt; Number of dimensions.&quot;</span>);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; }</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> concatInnerAxis = (descriptor.GetNumDimensions() - descriptor.GetConcatAxis()) - 1;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">if</span>(concatInnerAxis &lt; 3) <span class="comment">// Width, height, or channels</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; {</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a8a219633e750d6daffcef3b641fa11f3">NeonConcatWorkloadValidate</a>,</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; inputs,</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; output,</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; descriptor);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; }</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (concatInnerAxis == 3)</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; {</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; input : inputs)</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; <span class="keywordflow">if</span> (input &amp;&amp; !output.IsTypeSpaceMatch(*input)) <span class="comment">// Cannot use sub-tensors if the types are not same space</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="namespacearmnn.xhtml#a13c7d751e4d37f65a6d40c3c6e50d2b8">SetValueChecked</a>(reasonIfUnsupported, <span class="stringliteral">&quot;Neon Concat: Types and quantization parameters must match.&quot;</span>);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</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> <span class="keyword">true</span>; <span class="comment">// Sub-tensors support concat along batch</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; }</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">else</span> <span class="comment">// &gt; 4 dimensions not supported.</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; {</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="namespacearmnn.xhtml#a13c7d751e4d37f65a6d40c3c6e50d2b8">SetValueChecked</a>(reasonIfUnsupported, <span class="stringliteral">&quot;Neon Concat: Maximum of 4 dimensions supported.&quot;</span>);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; }</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a8a219633e750d6daffcef3b641fa11f3"><div class="ttname"><a href="namespacearmnn.xhtml#a8a219633e750d6daffcef3b641fa11f3">armnn::NeonConcatWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonConcatWorkloadValidate(const std::vector&lt; const TensorInfo *&gt; &amp;inputs, const TensorInfo &amp;output, const OriginsDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_concat_workload_8cpp_source.xhtml#l00028">NeonConcatWorkload.cpp:28</a></div></div>
737<div class="ttc" id="namespacearmnn_xhtml_a13c7d751e4d37f65a6d40c3c6e50d2b8"><div class="ttname"><a href="namespacearmnn.xhtml#a13c7d751e4d37f65a6d40c3c6e50d2b8">armnn::SetValueChecked</a></div><div class="ttdeci">void SetValueChecked(Optional&lt; T &amp;&gt; optionalRef, V &amp;&amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_common_8hpp_source.xhtml#l00017">LayerSupportCommon.hpp:17</a></div></div>
738<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
739</div><!-- fragment -->
740</div>
741</div>
742<a id="adf18c4fa8fc9e0cdae1967990aa90fe8"></a>
743<h2 class="memtitle"><span class="permalink"><a href="#adf18c4fa8fc9e0cdae1967990aa90fe8">&#9670;&nbsp;</a></span>IsConstantSupported()</h2>
744
745<div class="memitem">
746<div class="memproto">
747<table class="mlabels">
748 <tr>
749 <td class="mlabels-left">
750 <table class="memname">
751 <tr>
752 <td class="memname">bool IsConstantSupported </td>
753 <td>(</td>
754 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
755 <td class="paramname"><em>output</em>, </td>
756 </tr>
757 <tr>
758 <td class="paramkey"></td>
759 <td></td>
760 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
761 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
762 </tr>
763 <tr>
764 <td></td>
765 <td>)</td>
766 <td></td><td> const</td>
767 </tr>
768 </table>
769 </td>
770 <td class="mlabels-right">
771<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
772 </tr>
773</table>
774</div><div class="memdoc">
775
776<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#adf18c4fa8fc9e0cdae1967990aa90fe8">LayerSupportBase</a>.</p>
777
778<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00255">255</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
779
780<p class="reference">References <a class="el" href="_tensor_8hpp_source.xhtml#l00095">TensorInfo::GetDataType()</a>.</p>
781<div class="fragment"><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; <span class="keywordflow">return</span> IsSupportedForDataTypeNeon(reasonIfUnsupported,</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; output.GetDataType(),</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; &amp;TrueFunc&lt;&gt;,</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; &amp;TrueFunc&lt;&gt;);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;}</div></div><!-- fragment -->
782</div>
783</div>
784<a id="a1efcaf6f02892442fefca09f49ea3d7c"></a>
785<h2 class="memtitle"><span class="permalink"><a href="#a1efcaf6f02892442fefca09f49ea3d7c">&#9670;&nbsp;</a></span>IsConvertFp16ToFp32Supported()</h2>
786
787<div class="memitem">
788<div class="memproto">
789<table class="mlabels">
790 <tr>
791 <td class="mlabels-left">
792 <table class="memname">
793 <tr>
794 <td class="memname">bool IsConvertFp16ToFp32Supported </td>
795 <td>(</td>
796 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
797 <td class="paramname"><em>input</em>, </td>
798 </tr>
799 <tr>
800 <td class="paramkey"></td>
801 <td></td>
802 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
803 <td class="paramname"><em>output</em>, </td>
804 </tr>
805 <tr>
806 <td class="paramkey"></td>
807 <td></td>
808 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
809 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
810 </tr>
811 <tr>
812 <td></td>
813 <td>)</td>
814 <td></td><td> const</td>
815 </tr>
816 </table>
817 </td>
818 <td class="mlabels-right">
819<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
820 </tr>
821</table>
822</div><div class="memdoc">
823
824<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a1efcaf6f02892442fefca09f49ea3d7c">LayerSupportBase</a>.</p>
825
826<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00264">264</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
827
828<p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
829<div class="fragment"><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;{</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a>(input);</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a>(output);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a>(reasonIfUnsupported);</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;}</div><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>
830</div><!-- fragment -->
831</div>
832</div>
833<a id="a91fb5f44d8b9427dc45443aa9ebfe13e"></a>
834<h2 class="memtitle"><span class="permalink"><a href="#a91fb5f44d8b9427dc45443aa9ebfe13e">&#9670;&nbsp;</a></span>IsConvertFp32ToFp16Supported()</h2>
835
836<div class="memitem">
837<div class="memproto">
838<table class="mlabels">
839 <tr>
840 <td class="mlabels-left">
841 <table class="memname">
842 <tr>
843 <td class="memname">bool IsConvertFp32ToFp16Supported </td>
844 <td>(</td>
845 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
846 <td class="paramname"><em>input</em>, </td>
847 </tr>
848 <tr>
849 <td class="paramkey"></td>
850 <td></td>
851 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
852 <td class="paramname"><em>output</em>, </td>
853 </tr>
854 <tr>
855 <td class="paramkey"></td>
856 <td></td>
857 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
858 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
859 </tr>
860 <tr>
861 <td></td>
862 <td>)</td>
863 <td></td><td> const</td>
864 </tr>
865 </table>
866 </td>
867 <td class="mlabels-right">
868<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
869 </tr>
870</table>
871</div><div class="memdoc">
872
873<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a91fb5f44d8b9427dc45443aa9ebfe13e">LayerSupportBase</a>.</p>
874
875<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00274">274</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
876
877<p class="reference">References <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
878<div class="fragment"><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; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a>(input);</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a>(output);</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a>(reasonIfUnsupported);</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;}</div><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>
879</div><!-- fragment -->
880</div>
881</div>
882<a id="af7ff06bd8115a6a9cc6d41e5c762798e"></a>
883<h2 class="memtitle"><span class="permalink"><a href="#af7ff06bd8115a6a9cc6d41e5c762798e">&#9670;&nbsp;</a></span>IsConvolution2dSupported()</h2>
884
885<div class="memitem">
886<div class="memproto">
887<table class="mlabels">
888 <tr>
889 <td class="mlabels-left">
890 <table class="memname">
891 <tr>
892 <td class="memname">bool IsConvolution2dSupported </td>
893 <td>(</td>
894 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
895 <td class="paramname"><em>input</em>, </td>
896 </tr>
897 <tr>
898 <td class="paramkey"></td>
899 <td></td>
900 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
901 <td class="paramname"><em>output</em>, </td>
902 </tr>
903 <tr>
904 <td class="paramkey"></td>
905 <td></td>
906 <td class="paramtype">const <a class="el" href="structarmnn_1_1_convolution2d_descriptor.xhtml">Convolution2dDescriptor</a> &amp;&#160;</td>
907 <td class="paramname"><em>descriptor</em>, </td>
908 </tr>
909 <tr>
910 <td class="paramkey"></td>
911 <td></td>
912 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
913 <td class="paramname"><em>weights</em>, </td>
914 </tr>
915 <tr>
916 <td class="paramkey"></td>
917 <td></td>
918 <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>
919 <td class="paramname"><em>biases</em>, </td>
920 </tr>
921 <tr>
922 <td class="paramkey"></td>
923 <td></td>
924 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
925 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
926 </tr>
927 <tr>
928 <td></td>
929 <td>)</td>
930 <td></td><td> const</td>
931 </tr>
932 </table>
933 </td>
934 <td class="mlabels-right">
935<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
936 </tr>
937</table>
938</div><div class="memdoc">
939
940<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#af7ff06bd8115a6a9cc6d41e5c762798e">LayerSupportBase</a>.</p>
941
942<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00284">284</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
943
944<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_convolution2d_workload_8cpp_source.xhtml#l00022">armnn::NeonConvolution2dWorkloadValidate()</a>.</p>
945<div class="fragment"><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;{</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#af64bb043263ba7d09c98fd88da60726d">NeonConvolution2dWorkloadValidate</a>,</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; input,</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; output,</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; descriptor,</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; weights,</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; biases);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_af64bb043263ba7d09c98fd88da60726d"><div class="ttname"><a href="namespacearmnn.xhtml#af64bb043263ba7d09c98fd88da60726d">armnn::NeonConvolution2dWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonConvolution2dWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const Convolution2dDescriptor &amp;descriptor, const TensorInfo &amp;weights, const Optional&lt; TensorInfo &gt; &amp;biases)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_convolution2d_workload_8cpp_source.xhtml#l00022">NeonConvolution2dWorkload.cpp:22</a></div></div>
946<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
947</div><!-- fragment -->
948</div>
949</div>
950<a id="a128fb9890897e08251a3f621e570cd23"></a>
951<h2 class="memtitle"><span class="permalink"><a href="#a128fb9890897e08251a3f621e570cd23">&#9670;&nbsp;</a></span>IsDepthToSpaceSupported()</h2>
952
953<div class="memitem">
954<div class="memproto">
955<table class="mlabels">
956 <tr>
957 <td class="mlabels-left">
958 <table class="memname">
959 <tr>
960 <td class="memname">bool IsDepthToSpaceSupported </td>
961 <td>(</td>
962 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
963 <td class="paramname"><em>input</em>, </td>
964 </tr>
965 <tr>
966 <td class="paramkey"></td>
967 <td></td>
968 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
969 <td class="paramname"><em>output</em>, </td>
970 </tr>
971 <tr>
972 <td class="paramkey"></td>
973 <td></td>
974 <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#a3647f60510bc8ddaced01c51b0ee8714">DepthToSpaceDescriptor</a> &amp;&#160;</td>
975 <td class="paramname"><em>descriptor</em>, </td>
976 </tr>
977 <tr>
978 <td class="paramkey"></td>
979 <td></td>
980 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
981 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
982 </tr>
983 <tr>
984 <td></td>
985 <td>)</td>
986 <td></td><td> const</td>
987 </tr>
988 </table>
989 </td>
990 <td class="mlabels-right">
991<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
992 </tr>
993</table>
994</div><div class="memdoc">
995
996<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a128fb9890897e08251a3f621e570cd23">LayerSupportBase</a>.</p>
997
998<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00300">300</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
999
1000<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_depth_to_space_workload_8cpp_source.xhtml#l00020">armnn::NeonDepthToSpaceWorkloadValidate()</a>.</p>
1001<div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;{</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a116d88067bf98ce9858ab73e68f605f9">NeonDepthToSpaceWorkloadValidate</a>,</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; input,</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; output,</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; descriptor);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;}</div><div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
1002<div class="ttc" id="namespacearmnn_xhtml_a116d88067bf98ce9858ab73e68f605f9"><div class="ttname"><a href="namespacearmnn.xhtml#a116d88067bf98ce9858ab73e68f605f9">armnn::NeonDepthToSpaceWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonDepthToSpaceWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const DepthToSpaceDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_depth_to_space_workload_8cpp_source.xhtml#l00020">NeonDepthToSpaceWorkload.cpp:20</a></div></div>
1003</div><!-- fragment -->
1004</div>
1005</div>
1006<a id="adc84390751f227fe03a115b5fa10b0fc"></a>
1007<h2 class="memtitle"><span class="permalink"><a href="#adc84390751f227fe03a115b5fa10b0fc">&#9670;&nbsp;</a></span>IsDepthwiseConvolutionSupported()</h2>
1008
1009<div class="memitem">
1010<div class="memproto">
1011<table class="mlabels">
1012 <tr>
1013 <td class="mlabels-left">
1014 <table class="memname">
1015 <tr>
1016 <td class="memname">bool IsDepthwiseConvolutionSupported </td>
1017 <td>(</td>
1018 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1019 <td class="paramname"><em>input</em>, </td>
1020 </tr>
1021 <tr>
1022 <td class="paramkey"></td>
1023 <td></td>
1024 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1025 <td class="paramname"><em>output</em>, </td>
1026 </tr>
1027 <tr>
1028 <td class="paramkey"></td>
1029 <td></td>
1030 <td class="paramtype">const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml">DepthwiseConvolution2dDescriptor</a> &amp;&#160;</td>
1031 <td class="paramname"><em>descriptor</em>, </td>
1032 </tr>
1033 <tr>
1034 <td class="paramkey"></td>
1035 <td></td>
1036 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1037 <td class="paramname"><em>weights</em>, </td>
1038 </tr>
1039 <tr>
1040 <td class="paramkey"></td>
1041 <td></td>
1042 <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>
1043 <td class="paramname"><em>biases</em>, </td>
1044 </tr>
1045 <tr>
1046 <td class="paramkey"></td>
1047 <td></td>
1048 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1049 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1050 </tr>
1051 <tr>
1052 <td></td>
1053 <td>)</td>
1054 <td></td><td> const</td>
1055 </tr>
1056 </table>
1057 </td>
1058 <td class="mlabels-right">
1059<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1060 </tr>
1061</table>
1062</div><div class="memdoc">
1063
1064<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#adc84390751f227fe03a115b5fa10b0fc">LayerSupportBase</a>.</p>
1065
1066<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00312">312</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1067
1068<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_depthwise_convolution_workload_8cpp_source.xhtml#l00028">armnn::NeonDepthwiseConvolutionWorkloadValidate()</a>.</p>
1069
1070<p class="reference">Referenced by <a class="el" href="_neon_layer_tests_8cpp_source.xhtml#l00267">BOOST_AUTO_TEST_CASE()</a>.</p>
1071<div class="fragment"><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; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a168ebb908e1ee4bac24cb7992510de73">NeonDepthwiseConvolutionWorkloadValidate</a>,</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; input,</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; output,</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; descriptor,</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; weights,</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; biases);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a168ebb908e1ee4bac24cb7992510de73"><div class="ttname"><a href="namespacearmnn.xhtml#a168ebb908e1ee4bac24cb7992510de73">armnn::NeonDepthwiseConvolutionWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonDepthwiseConvolutionWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const DepthwiseConvolution2dDescriptor &amp;descriptor, const TensorInfo &amp;weights, const Optional&lt; TensorInfo &gt; &amp;biases)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_depthwise_convolution_workload_8cpp_source.xhtml#l00028">NeonDepthwiseConvolutionWorkload.cpp:28</a></div></div>
1072<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
1073</div><!-- fragment -->
1074</div>
1075</div>
1076<a id="a2e89c72cf60df7c2d2d7e5d98822b672"></a>
1077<h2 class="memtitle"><span class="permalink"><a href="#a2e89c72cf60df7c2d2d7e5d98822b672">&#9670;&nbsp;</a></span>IsDequantizeSupported()</h2>
1078
1079<div class="memitem">
1080<div class="memproto">
1081<table class="mlabels">
1082 <tr>
1083 <td class="mlabels-left">
1084 <table class="memname">
1085 <tr>
1086 <td class="memname">bool IsDequantizeSupported </td>
1087 <td>(</td>
1088 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1089 <td class="paramname"><em>input</em>, </td>
1090 </tr>
1091 <tr>
1092 <td class="paramkey"></td>
1093 <td></td>
1094 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1095 <td class="paramname"><em>output</em>, </td>
1096 </tr>
1097 <tr>
1098 <td class="paramkey"></td>
1099 <td></td>
1100 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1101 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1102 </tr>
1103 <tr>
1104 <td></td>
1105 <td>)</td>
1106 <td></td><td> const</td>
1107 </tr>
1108 </table>
1109 </td>
1110 <td class="mlabels-right">
1111<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1112 </tr>
1113</table>
1114</div><div class="memdoc">
1115
1116<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a2e89c72cf60df7c2d2d7e5d98822b672">LayerSupportBase</a>.</p>
1117
1118<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00328">328</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1119
1120<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_dequantize_workload_8cpp_source.xhtml#l00021">armnn::NeonDequantizeWorkloadValidate()</a>.</p>
1121<div class="fragment"><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;{</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#acefede7cc57c71ea4cfe1c888bb413e0">NeonDequantizeWorkloadValidate</a>,</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; input,</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; output);</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_acefede7cc57c71ea4cfe1c888bb413e0"><div class="ttname"><a href="namespacearmnn.xhtml#acefede7cc57c71ea4cfe1c888bb413e0">armnn::NeonDequantizeWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonDequantizeWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_dequantize_workload_8cpp_source.xhtml#l00021">NeonDequantizeWorkload.cpp:21</a></div></div>
1122<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
1123</div><!-- fragment -->
1124</div>
1125</div>
1126<a id="a16c8cd49a7fa487b904b5c9cc83673e7"></a>
1127<h2 class="memtitle"><span class="permalink"><a href="#a16c8cd49a7fa487b904b5c9cc83673e7">&#9670;&nbsp;</a></span>IsDilatedDepthwiseConvolutionSupported()</h2>
1128
1129<div class="memitem">
1130<div class="memproto">
1131<table class="mlabels">
1132 <tr>
1133 <td class="mlabels-left">
1134 <table class="memname">
1135 <tr>
1136 <td class="memname">bool IsDilatedDepthwiseConvolutionSupported </td>
1137 <td>(</td>
1138 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1139 <td class="paramname"><em>input</em>, </td>
1140 </tr>
1141 <tr>
1142 <td class="paramkey"></td>
1143 <td></td>
1144 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1145 <td class="paramname"><em>output</em>, </td>
1146 </tr>
1147 <tr>
1148 <td class="paramkey"></td>
1149 <td></td>
1150 <td class="paramtype">const <a class="el" href="structarmnn_1_1_depthwise_convolution2d_descriptor.xhtml">DepthwiseConvolution2dDescriptor</a> &amp;&#160;</td>
1151 <td class="paramname"><em>descriptor</em>, </td>
1152 </tr>
1153 <tr>
1154 <td class="paramkey"></td>
1155 <td></td>
1156 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1157 <td class="paramname"><em>weights</em>, </td>
1158 </tr>
1159 <tr>
1160 <td class="paramkey"></td>
1161 <td></td>
1162 <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>
1163 <td class="paramname"><em>biases</em>, </td>
1164 </tr>
1165 <tr>
1166 <td class="paramkey"></td>
1167 <td></td>
1168 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1169 <td class="paramname"><em>reason</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1170 </tr>
1171 <tr>
1172 <td></td>
1173 <td>)</td>
1174 <td></td><td> const</td>
1175 </tr>
1176 </table>
1177 </td>
1178 <td class="mlabels-right">
1179<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1180 </tr>
1181</table>
1182</div><div class="memdoc">
1183
1184<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a55d91a97ff664f42cd5cd62b60c15f80">LayerSupportBase</a>.</p>
1185
1186<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00338">338</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1187
1188<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_depthwise_convolution_workload_8cpp_source.xhtml#l00028">armnn::NeonDepthwiseConvolutionWorkloadValidate()</a>.</p>
1189<div class="fragment"><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; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a168ebb908e1ee4bac24cb7992510de73">NeonDepthwiseConvolutionWorkloadValidate</a>,</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; input,</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; output,</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; descriptor,</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; weights,</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; biases);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a168ebb908e1ee4bac24cb7992510de73"><div class="ttname"><a href="namespacearmnn.xhtml#a168ebb908e1ee4bac24cb7992510de73">armnn::NeonDepthwiseConvolutionWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonDepthwiseConvolutionWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const DepthwiseConvolution2dDescriptor &amp;descriptor, const TensorInfo &amp;weights, const Optional&lt; TensorInfo &gt; &amp;biases)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_depthwise_convolution_workload_8cpp_source.xhtml#l00028">NeonDepthwiseConvolutionWorkload.cpp:28</a></div></div>
1190<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
1191</div><!-- fragment -->
1192</div>
1193</div>
1194<a id="a08f55136b1f0907e7083d70d719f697f"></a>
1195<h2 class="memtitle"><span class="permalink"><a href="#a08f55136b1f0907e7083d70d719f697f">&#9670;&nbsp;</a></span>IsDivisionSupported()</h2>
1196
1197<div class="memitem">
1198<div class="memproto">
1199<table class="mlabels">
1200 <tr>
1201 <td class="mlabels-left">
1202 <table class="memname">
1203 <tr>
1204 <td class="memname">bool IsDivisionSupported </td>
1205 <td>(</td>
1206 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1207 <td class="paramname"><em>input0</em>, </td>
1208 </tr>
1209 <tr>
1210 <td class="paramkey"></td>
1211 <td></td>
1212 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1213 <td class="paramname"><em>input1</em>, </td>
1214 </tr>
1215 <tr>
1216 <td class="paramkey"></td>
1217 <td></td>
1218 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1219 <td class="paramname"><em>output</em>, </td>
1220 </tr>
1221 <tr>
1222 <td class="paramkey"></td>
1223 <td></td>
1224 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1225 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1226 </tr>
1227 <tr>
1228 <td></td>
1229 <td>)</td>
1230 <td></td><td> const</td>
1231 </tr>
1232 </table>
1233 </td>
1234 <td class="mlabels-right">
1235<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1236 </tr>
1237</table>
1238</div><div class="memdoc">
1239
1240<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a08f55136b1f0907e7083d70d719f697f">LayerSupportBase</a>.</p>
1241
1242<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00523">523</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1243
1244<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_division_workload_8cpp_source.xhtml#l00013">armnn::NeonDivisionWorkloadValidate()</a>.</p>
1245<div class="fragment"><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;{</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a3a62359fc5ebfe9628871c0ba79fb37c">NeonDivisionWorkloadValidate</a>,</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; input0,</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; input1,</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; output);</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160;}</div><div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
1246<div class="ttc" id="namespacearmnn_xhtml_a3a62359fc5ebfe9628871c0ba79fb37c"><div class="ttname"><a href="namespacearmnn.xhtml#a3a62359fc5ebfe9628871c0ba79fb37c">armnn::NeonDivisionWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonDivisionWorkloadValidate(const TensorInfo &amp;input0, const TensorInfo &amp;input1, const TensorInfo &amp;output)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_division_workload_8cpp_source.xhtml#l00013">NeonDivisionWorkload.cpp:13</a></div></div>
1247</div><!-- fragment -->
1248</div>
1249</div>
1250<a id="a61c5b4e5dc224ef0c876e43353b34030"></a>
1251<h2 class="memtitle"><span class="permalink"><a href="#a61c5b4e5dc224ef0c876e43353b34030">&#9670;&nbsp;</a></span>IsElementwiseUnarySupported()</h2>
1252
1253<div class="memitem">
1254<div class="memproto">
1255<table class="mlabels">
1256 <tr>
1257 <td class="mlabels-left">
1258 <table class="memname">
1259 <tr>
1260 <td class="memname">bool IsElementwiseUnarySupported </td>
1261 <td>(</td>
1262 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1263 <td class="paramname"><em>input</em>, </td>
1264 </tr>
1265 <tr>
1266 <td class="paramkey"></td>
1267 <td></td>
1268 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1269 <td class="paramname"><em>output</em>, </td>
1270 </tr>
1271 <tr>
1272 <td class="paramkey"></td>
1273 <td></td>
1274 <td class="paramtype">const <a class="el" href="structarmnn_1_1_elementwise_unary_descriptor.xhtml">ElementwiseUnaryDescriptor</a> &amp;&#160;</td>
1275 <td class="paramname"><em>descriptor</em>, </td>
1276 </tr>
1277 <tr>
1278 <td class="paramkey"></td>
1279 <td></td>
1280 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1281 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1282 </tr>
1283 <tr>
1284 <td></td>
1285 <td>)</td>
1286 <td></td><td> const</td>
1287 </tr>
1288 </table>
1289 </td>
1290 <td class="mlabels-right">
1291<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1292 </tr>
1293</table>
1294</div><div class="memdoc">
1295
1296<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a61c5b4e5dc224ef0c876e43353b34030">LayerSupportBase</a>.</p>
1297
1298<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00354">354</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1299
1300<p class="reference">References <a class="el" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">armnn::Abs</a>, <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00098">ElementwiseUnaryDescriptor::m_Operation</a>, <a class="el" href="_neon_abs_workload_8cpp_source.xhtml#l00018">armnn::NeonAbsWorkloadValidate()</a>, <a class="el" href="_neon_rsqrt_workload_8cpp_source.xhtml#l00018">armnn::NeonRsqrtWorkloadValidate()</a>, and <a class="el" href="namespacearmnn.xhtml#a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4">armnn::Rsqrt</a>.</p>
1301
1302<p class="reference">Referenced by <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00121">NeonLayerSupport::IsAbsSupported()</a>, and <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00656">NeonLayerSupport::IsRsqrtSupported()</a>.</p>
1303<div class="fragment"><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;{</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">if</span> (descriptor.m_Operation == <a class="code" href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">UnaryOperation::Abs</a>)</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; {</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#afc773aec6f845adc0cc547ce475dfe3f">NeonAbsWorkloadValidate</a>,</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; input,</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; output);</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; }</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (descriptor.m_Operation == <a class="code" href="namespacearmnn.xhtml#a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4">UnaryOperation::Rsqrt</a>)</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; {</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#aa7d1b5e38aa8cb731519ff12e2a73350">NeonRsqrtWorkloadValidate</a>,</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; input,</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; output);</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; }</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; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6"><div class="ttname"><a href="namespacearmnn.xhtml#a56297e0f7b215eea46c818cb7528d9eaa1e34af023adeb7d5f484f8eb4b9826b6">armnn::ActivationFunction::Abs</a></div></div>
1304<div class="ttc" id="namespacearmnn_xhtml_afc773aec6f845adc0cc547ce475dfe3f"><div class="ttname"><a href="namespacearmnn.xhtml#afc773aec6f845adc0cc547ce475dfe3f">armnn::NeonAbsWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonAbsWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_abs_workload_8cpp_source.xhtml#l00018">NeonAbsWorkload.cpp:18</a></div></div>
1305<div class="ttc" id="namespacearmnn_xhtml_aa7d1b5e38aa8cb731519ff12e2a73350"><div class="ttname"><a href="namespacearmnn.xhtml#aa7d1b5e38aa8cb731519ff12e2a73350">armnn::NeonRsqrtWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonRsqrtWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_rsqrt_workload_8cpp_source.xhtml#l00018">NeonRsqrtWorkload.cpp:18</a></div></div>
1306<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
1307<div class="ttc" id="namespacearmnn_xhtml_a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4"><div class="ttname"><a href="namespacearmnn.xhtml#a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4">armnn::UnaryOperation::Rsqrt</a></div></div>
1308</div><!-- fragment -->
1309</div>
1310</div>
1311<a id="a53c7593d1aa26207eac5d5814a9d56dc"></a>
1312<h2 class="memtitle"><span class="permalink"><a href="#a53c7593d1aa26207eac5d5814a9d56dc">&#9670;&nbsp;</a></span>IsFloorSupported()</h2>
1313
1314<div class="memitem">
1315<div class="memproto">
1316<table class="mlabels">
1317 <tr>
1318 <td class="mlabels-left">
1319 <table class="memname">
1320 <tr>
1321 <td class="memname">bool IsFloorSupported </td>
1322 <td>(</td>
1323 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1324 <td class="paramname"><em>input</em>, </td>
1325 </tr>
1326 <tr>
1327 <td class="paramkey"></td>
1328 <td></td>
1329 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1330 <td class="paramname"><em>output</em>, </td>
1331 </tr>
1332 <tr>
1333 <td class="paramkey"></td>
1334 <td></td>
1335 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1336 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1337 </tr>
1338 <tr>
1339 <td></td>
1340 <td>)</td>
1341 <td></td><td> const</td>
1342 </tr>
1343 </table>
1344 </td>
1345 <td class="mlabels-right">
1346<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1347 </tr>
1348</table>
1349</div><div class="memdoc">
1350
1351<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a53c7593d1aa26207eac5d5814a9d56dc">LayerSupportBase</a>.</p>
1352
1353<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00377">377</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1354
1355<p class="reference">References <a class="el" href="_tensor_8hpp_source.xhtml#l00095">TensorInfo::GetDataType()</a>, <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>, and <a class="el" href="_layer_support_common_8hpp_source.xhtml#l00027">armnn::IsSupportedForDataTypeGeneric()</a>.</p>
1356<div class="fragment"><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;{</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a>(output);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">return</span> IsNeonBackendSupported(reasonIfUnsupported) &amp;&amp;</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <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;FalseFuncF16&lt;&gt;,</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; &amp;TrueFunc&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;);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;}</div><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>
1357<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>
1358</div><!-- fragment -->
1359</div>
1360</div>
1361<a id="aeaf971dd9dffd6f6bc7e5a1ae6b6af5c"></a>
1362<h2 class="memtitle"><span class="permalink"><a href="#aeaf971dd9dffd6f6bc7e5a1ae6b6af5c">&#9670;&nbsp;</a></span>IsFullyConnectedSupported()</h2>
1363
1364<div class="memitem">
1365<div class="memproto">
1366<table class="mlabels">
1367 <tr>
1368 <td class="mlabels-left">
1369 <table class="memname">
1370 <tr>
1371 <td class="memname">bool IsFullyConnectedSupported </td>
1372 <td>(</td>
1373 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1374 <td class="paramname"><em>input</em>, </td>
1375 </tr>
1376 <tr>
1377 <td class="paramkey"></td>
1378 <td></td>
1379 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1380 <td class="paramname"><em>output</em>, </td>
1381 </tr>
1382 <tr>
1383 <td class="paramkey"></td>
1384 <td></td>
1385 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1386 <td class="paramname"><em>weights</em>, </td>
1387 </tr>
1388 <tr>
1389 <td class="paramkey"></td>
1390 <td></td>
1391 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1392 <td class="paramname"><em>biases</em>, </td>
1393 </tr>
1394 <tr>
1395 <td class="paramkey"></td>
1396 <td></td>
1397 <td class="paramtype">const <a class="el" href="structarmnn_1_1_fully_connected_descriptor.xhtml">FullyConnectedDescriptor</a> &amp;&#160;</td>
1398 <td class="paramname"><em>descriptor</em>, </td>
1399 </tr>
1400 <tr>
1401 <td class="paramkey"></td>
1402 <td></td>
1403 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1404 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1405 </tr>
1406 <tr>
1407 <td></td>
1408 <td>)</td>
1409 <td></td><td> const</td>
1410 </tr>
1411 </table>
1412 </td>
1413 <td class="mlabels-right">
1414<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1415 </tr>
1416</table>
1417</div><div class="memdoc">
1418
1419<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#aeaf971dd9dffd6f6bc7e5a1ae6b6af5c">LayerSupportBase</a>.</p>
1420
1421<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00392">392</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1422
1423<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_fully_connected_workload_8cpp_source.xhtml#l00019">armnn::NeonFullyConnectedWorkloadValidate()</a>.</p>
1424<div class="fragment"><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;{</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a0b7897a2a04016aa7fa24e2a1d10e944">NeonFullyConnectedWorkloadValidate</a>,</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; input,</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; output,</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; weights,</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; biases,</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; descriptor);</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a0b7897a2a04016aa7fa24e2a1d10e944"><div class="ttname"><a href="namespacearmnn.xhtml#a0b7897a2a04016aa7fa24e2a1d10e944">armnn::NeonFullyConnectedWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonFullyConnectedWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const TensorInfo &amp;weights, const TensorInfo &amp;biases, const FullyConnectedDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_fully_connected_workload_8cpp_source.xhtml#l00019">NeonFullyConnectedWorkload.cpp:19</a></div></div>
1425<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
1426</div><!-- fragment -->
1427</div>
1428</div>
1429<a id="a14e45f3699e823d7859d5d352d89265c"></a>
1430<h2 class="memtitle"><span class="permalink"><a href="#a14e45f3699e823d7859d5d352d89265c">&#9670;&nbsp;</a></span>IsGreaterSupported()</h2>
1431
1432<div class="memitem">
1433<div class="memproto">
1434<table class="mlabels">
1435 <tr>
1436 <td class="mlabels-left">
1437 <table class="memname">
1438 <tr>
1439 <td class="memname">bool IsGreaterSupported </td>
1440 <td>(</td>
1441 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1442 <td class="paramname"><em>input0</em>, </td>
1443 </tr>
1444 <tr>
1445 <td class="paramkey"></td>
1446 <td></td>
1447 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1448 <td class="paramname"><em>input1</em>, </td>
1449 </tr>
1450 <tr>
1451 <td class="paramkey"></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>output</em>, </td>
1455 </tr>
1456 <tr>
1457 <td class="paramkey"></td>
1458 <td></td>
1459 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1460 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1461 </tr>
1462 <tr>
1463 <td></td>
1464 <td>)</td>
1465 <td></td><td> const</td>
1466 </tr>
1467 </table>
1468 </td>
1469 <td class="mlabels-right">
1470<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1471 </tr>
1472</table>
1473</div><div class="memdoc">
1474
1475<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a14e45f3699e823d7859d5d352d89265c">LayerSupportBase</a>.</p>
1476
1477<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00408">408</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1478
1479<p class="reference">References <a class="el" href="namespacearmnn.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">armnn::Greater</a>, and <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00198">NeonLayerSupport::IsComparisonSupported()</a>.</p>
1480<div class="fragment"><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;{</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; ComparisonDescriptor descriptor(<a class="code" href="namespacearmnn.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">ComparisonOperation::Greater</a>);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_neon_layer_support.xhtml#a7c52726a684dd76258c61af124012537">IsComparisonSupported</a>(input0, input1, output, descriptor, reasonIfUnsupported);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a"><div class="ttname"><a href="namespacearmnn.xhtml#a2d299363c9fc33334c571fa29ca4f58ca8768a6821cd735aea4f5b0df88c1fc6a">armnn::ComparisonOperation::Greater</a></div></div>
1481<div class="ttc" id="classarmnn_1_1_neon_layer_support_xhtml_a7c52726a684dd76258c61af124012537"><div class="ttname"><a href="classarmnn_1_1_neon_layer_support.xhtml#a7c52726a684dd76258c61af124012537">armnn::NeonLayerSupport::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="_neon_layer_support_8cpp_source.xhtml#l00198">NeonLayerSupport.cpp:198</a></div></div>
1482</div><!-- fragment -->
1483</div>
1484</div>
1485<a id="ad29d99ecd719c640ed22dcf5c688c6a5"></a>
1486<h2 class="memtitle"><span class="permalink"><a href="#ad29d99ecd719c640ed22dcf5c688c6a5">&#9670;&nbsp;</a></span>IsInputSupported()</h2>
1487
1488<div class="memitem">
1489<div class="memproto">
1490<table class="mlabels">
1491 <tr>
1492 <td class="mlabels-left">
1493 <table class="memname">
1494 <tr>
1495 <td class="memname">bool IsInputSupported </td>
1496 <td>(</td>
1497 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1498 <td class="paramname"><em>input</em>, </td>
1499 </tr>
1500 <tr>
1501 <td class="paramkey"></td>
1502 <td></td>
1503 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1504 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1505 </tr>
1506 <tr>
1507 <td></td>
1508 <td>)</td>
1509 <td></td><td> const</td>
1510 </tr>
1511 </table>
1512 </td>
1513 <td class="mlabels-right">
1514<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1515 </tr>
1516</table>
1517</div><div class="memdoc">
1518
1519<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#ad29d99ecd719c640ed22dcf5c688c6a5">LayerSupportBase</a>.</p>
1520
1521<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00417">417</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1522<div class="fragment"><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;{</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">return</span> IsNeonBackendSupported(reasonIfUnsupported, input);</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;}</div></div><!-- fragment -->
1523</div>
1524</div>
1525<a id="a0813546a09bf2caba6794014d1960624"></a>
1526<h2 class="memtitle"><span class="permalink"><a href="#a0813546a09bf2caba6794014d1960624">&#9670;&nbsp;</a></span>IsInstanceNormalizationSupported()</h2>
1527
1528<div class="memitem">
1529<div class="memproto">
1530<table class="mlabels">
1531 <tr>
1532 <td class="mlabels-left">
1533 <table class="memname">
1534 <tr>
1535 <td class="memname">bool IsInstanceNormalizationSupported </td>
1536 <td>(</td>
1537 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1538 <td class="paramname"><em>input</em>, </td>
1539 </tr>
1540 <tr>
1541 <td class="paramkey"></td>
1542 <td></td>
1543 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1544 <td class="paramname"><em>output</em>, </td>
1545 </tr>
1546 <tr>
1547 <td class="paramkey"></td>
1548 <td></td>
1549 <td class="paramtype">const <a class="el" href="structarmnn_1_1_instance_normalization_descriptor.xhtml">InstanceNormalizationDescriptor</a> &amp;&#160;</td>
1550 <td class="paramname"><em>descriptor</em>, </td>
1551 </tr>
1552 <tr>
1553 <td class="paramkey"></td>
1554 <td></td>
1555 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1556 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1557 </tr>
1558 <tr>
1559 <td></td>
1560 <td>)</td>
1561 <td></td><td> const</td>
1562 </tr>
1563 </table>
1564 </td>
1565 <td class="mlabels-right">
1566<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1567 </tr>
1568</table>
1569</div><div class="memdoc">
1570
1571<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a0813546a09bf2caba6794014d1960624">LayerSupportBase</a>.</p>
1572
1573<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00423">423</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1574
1575<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_instance_normalization_workload_8cpp_source.xhtml#l00019">armnn::NeonInstanceNormalizationWorkloadValidate()</a>.</p>
1576<div class="fragment"><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; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#aea722abe239545030f4c6fe4e083816f">NeonInstanceNormalizationWorkloadValidate</a>,</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; input,</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; output,</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; descriptor);</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_aea722abe239545030f4c6fe4e083816f"><div class="ttname"><a href="namespacearmnn.xhtml#aea722abe239545030f4c6fe4e083816f">armnn::NeonInstanceNormalizationWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonInstanceNormalizationWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const InstanceNormalizationDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_instance_normalization_workload_8cpp_source.xhtml#l00019">NeonInstanceNormalizationWorkload.cpp:19</a></div></div>
1577<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
1578</div><!-- fragment -->
1579</div>
1580</div>
1581<a id="aca4acda7ab553edfda828658d8f3882b"></a>
1582<h2 class="memtitle"><span class="permalink"><a href="#aca4acda7ab553edfda828658d8f3882b">&#9670;&nbsp;</a></span>IsL2NormalizationSupported()</h2>
1583
1584<div class="memitem">
1585<div class="memproto">
1586<table class="mlabels">
1587 <tr>
1588 <td class="mlabels-left">
1589 <table class="memname">
1590 <tr>
1591 <td class="memname">bool IsL2NormalizationSupported </td>
1592 <td>(</td>
1593 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1594 <td class="paramname"><em>input</em>, </td>
1595 </tr>
1596 <tr>
1597 <td class="paramkey"></td>
1598 <td></td>
1599 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1600 <td class="paramname"><em>output</em>, </td>
1601 </tr>
1602 <tr>
1603 <td class="paramkey"></td>
1604 <td></td>
1605 <td class="paramtype">const <a class="el" href="structarmnn_1_1_l2_normalization_descriptor.xhtml">L2NormalizationDescriptor</a> &amp;&#160;</td>
1606 <td class="paramname"><em>descriptor</em>, </td>
1607 </tr>
1608 <tr>
1609 <td class="paramkey"></td>
1610 <td></td>
1611 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1612 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1613 </tr>
1614 <tr>
1615 <td></td>
1616 <td>)</td>
1617 <td></td><td> const</td>
1618 </tr>
1619 </table>
1620 </td>
1621 <td class="mlabels-right">
1622<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1623 </tr>
1624</table>
1625</div><div class="memdoc">
1626
1627<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#aca4acda7ab553edfda828658d8f3882b">LayerSupportBase</a>.</p>
1628
1629<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00435">435</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1630
1631<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_l2_normalization_float_workload_8cpp_source.xhtml#l00018">armnn::NeonL2NormalizationWorkloadValidate()</a>.</p>
1632<div class="fragment"><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; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#ae838df3960d2b5d18d73ed2a07aee917">NeonL2NormalizationWorkloadValidate</a>, reasonIfUnsupported, input, output, descriptor);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_ae838df3960d2b5d18d73ed2a07aee917"><div class="ttname"><a href="namespacearmnn.xhtml#ae838df3960d2b5d18d73ed2a07aee917">armnn::NeonL2NormalizationWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonL2NormalizationWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const L2NormalizationDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_l2_normalization_float_workload_8cpp_source.xhtml#l00018">NeonL2NormalizationFloatWorkload.cpp:18</a></div></div>
1633<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
1634</div><!-- fragment -->
1635</div>
1636</div>
1637<a id="a862535721737220f62a49f14ff494dd5"></a>
1638<h2 class="memtitle"><span class="permalink"><a href="#a862535721737220f62a49f14ff494dd5">&#9670;&nbsp;</a></span>IsLstmSupported()</h2>
1639
1640<div class="memitem">
1641<div class="memproto">
1642<table class="mlabels">
1643 <tr>
1644 <td class="mlabels-left">
1645 <table class="memname">
1646 <tr>
1647 <td class="memname">bool IsLstmSupported </td>
1648 <td>(</td>
1649 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1650 <td class="paramname"><em>input</em>, </td>
1651 </tr>
1652 <tr>
1653 <td class="paramkey"></td>
1654 <td></td>
1655 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1656 <td class="paramname"><em>outputStateIn</em>, </td>
1657 </tr>
1658 <tr>
1659 <td class="paramkey"></td>
1660 <td></td>
1661 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1662 <td class="paramname"><em>cellStateIn</em>, </td>
1663 </tr>
1664 <tr>
1665 <td class="paramkey"></td>
1666 <td></td>
1667 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1668 <td class="paramname"><em>scratchBuffer</em>, </td>
1669 </tr>
1670 <tr>
1671 <td class="paramkey"></td>
1672 <td></td>
1673 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1674 <td class="paramname"><em>outputStateOut</em>, </td>
1675 </tr>
1676 <tr>
1677 <td class="paramkey"></td>
1678 <td></td>
1679 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1680 <td class="paramname"><em>cellStateOut</em>, </td>
1681 </tr>
1682 <tr>
1683 <td class="paramkey"></td>
1684 <td></td>
1685 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1686 <td class="paramname"><em>output</em>, </td>
1687 </tr>
1688 <tr>
1689 <td class="paramkey"></td>
1690 <td></td>
1691 <td class="paramtype">const <a class="el" href="structarmnn_1_1_lstm_descriptor.xhtml">LstmDescriptor</a> &amp;&#160;</td>
1692 <td class="paramname"><em>descriptor</em>, </td>
1693 </tr>
1694 <tr>
1695 <td class="paramkey"></td>
1696 <td></td>
1697 <td class="paramtype">const <a class="el" href="structarmnn_1_1_lstm_input_params_info.xhtml">LstmInputParamsInfo</a> &amp;&#160;</td>
1698 <td class="paramname"><em>paramsInfo</em>, </td>
1699 </tr>
1700 <tr>
1701 <td class="paramkey"></td>
1702 <td></td>
1703 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1704 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1705 </tr>
1706 <tr>
1707 <td></td>
1708 <td>)</td>
1709 <td></td><td> const</td>
1710 </tr>
1711 </table>
1712 </td>
1713 <td class="mlabels-right">
1714<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1715 </tr>
1716</table>
1717</div><div class="memdoc">
1718
1719<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a862535721737220f62a49f14ff494dd5">LayerSupportBase</a>.</p>
1720
1721<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00443">443</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1722
1723<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_lstm_float_workload_8cpp_source.xhtml#l00271">armnn::NeonLstmFloatWorkloadValidate()</a>.</p>
1724<div class="fragment"><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;{</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a9e06cc2a2ac8b88fc72972695a17910f">NeonLstmFloatWorkloadValidate</a>,</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; input,</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; outputStateIn,</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; cellStateIn,</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; scratchBuffer,</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; outputStateOut,</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; cellStateOut,</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; output,</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; descriptor,</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; paramsInfo);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a9e06cc2a2ac8b88fc72972695a17910f"><div class="ttname"><a href="namespacearmnn.xhtml#a9e06cc2a2ac8b88fc72972695a17910f">armnn::NeonLstmFloatWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonLstmFloatWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;outputStateIn, const TensorInfo &amp;cellStateIn, const TensorInfo &amp;scratchBuffer, const TensorInfo &amp;outputStateOut, const TensorInfo &amp;cellStateOut, const TensorInfo &amp;output, const LstmDescriptor &amp;descriptor, const LstmInputParamsInfo &amp;paramsInfo)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_lstm_float_workload_8cpp_source.xhtml#l00271">NeonLstmFloatWorkload.cpp:271</a></div></div>
1725<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
1726</div><!-- fragment -->
1727</div>
1728</div>
1729<a id="afef9436c86b37b973471f2ae546ac00a"></a>
1730<h2 class="memtitle"><span class="permalink"><a href="#afef9436c86b37b973471f2ae546ac00a">&#9670;&nbsp;</a></span>IsMaximumSupported()</h2>
1731
1732<div class="memitem">
1733<div class="memproto">
1734<table class="mlabels">
1735 <tr>
1736 <td class="mlabels-left">
1737 <table class="memname">
1738 <tr>
1739 <td class="memname">bool IsMaximumSupported </td>
1740 <td>(</td>
1741 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1742 <td class="paramname"><em>input0</em>, </td>
1743 </tr>
1744 <tr>
1745 <td class="paramkey"></td>
1746 <td></td>
1747 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1748 <td class="paramname"><em>input1</em>, </td>
1749 </tr>
1750 <tr>
1751 <td class="paramkey"></td>
1752 <td></td>
1753 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1754 <td class="paramname"><em>output</em>, </td>
1755 </tr>
1756 <tr>
1757 <td class="paramkey"></td>
1758 <td></td>
1759 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1760 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1761 </tr>
1762 <tr>
1763 <td></td>
1764 <td>)</td>
1765 <td></td><td> const</td>
1766 </tr>
1767 </table>
1768 </td>
1769 <td class="mlabels-right">
1770<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1771 </tr>
1772</table>
1773</div><div class="memdoc">
1774
1775<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#afef9436c86b37b973471f2ae546ac00a">LayerSupportBase</a>.</p>
1776
1777<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00467">467</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1778
1779<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_maximum_workload_8cpp_source.xhtml#l00013">armnn::NeonMaximumWorkloadValidate()</a>.</p>
1780<div class="fragment"><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;{</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a8d2ea79addd8ef64be2ca0dad3408f00">NeonMaximumWorkloadValidate</a>,</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; input0,</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; input1,</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; output);</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a8d2ea79addd8ef64be2ca0dad3408f00"><div class="ttname"><a href="namespacearmnn.xhtml#a8d2ea79addd8ef64be2ca0dad3408f00">armnn::NeonMaximumWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonMaximumWorkloadValidate(const TensorInfo &amp;input0, const TensorInfo &amp;input1, const TensorInfo &amp;output)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_maximum_workload_8cpp_source.xhtml#l00013">NeonMaximumWorkload.cpp:13</a></div></div>
1781<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
1782</div><!-- fragment -->
1783</div>
1784</div>
1785<a id="ab268618580d4f53bf5e9b5a47dee3f6a"></a>
1786<h2 class="memtitle"><span class="permalink"><a href="#ab268618580d4f53bf5e9b5a47dee3f6a">&#9670;&nbsp;</a></span>IsMeanSupported()</h2>
1787
1788<div class="memitem">
1789<div class="memproto">
1790<table class="mlabels">
1791 <tr>
1792 <td class="mlabels-left">
1793 <table class="memname">
1794 <tr>
1795 <td class="memname">bool IsMeanSupported </td>
1796 <td>(</td>
1797 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1798 <td class="paramname"><em>input</em>, </td>
1799 </tr>
1800 <tr>
1801 <td class="paramkey"></td>
1802 <td></td>
1803 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1804 <td class="paramname"><em>output</em>, </td>
1805 </tr>
1806 <tr>
1807 <td class="paramkey"></td>
1808 <td></td>
1809 <td class="paramtype">const <a class="el" href="structarmnn_1_1_mean_descriptor.xhtml">MeanDescriptor</a> &amp;&#160;</td>
1810 <td class="paramname"><em>descriptor</em>, </td>
1811 </tr>
1812 <tr>
1813 <td class="paramkey"></td>
1814 <td></td>
1815 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1816 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1817 </tr>
1818 <tr>
1819 <td></td>
1820 <td>)</td>
1821 <td></td><td> const</td>
1822 </tr>
1823 </table>
1824 </td>
1825 <td class="mlabels-right">
1826<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1827 </tr>
1828</table>
1829</div><div class="memdoc">
1830
1831<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#ab268618580d4f53bf5e9b5a47dee3f6a">LayerSupportBase</a>.</p>
1832
1833<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00479">479</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1834
1835<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_mean_workload_8cpp_source.xhtml#l00018">armnn::NeonMeanWorkloadValidate()</a>.</p>
1836<div class="fragment"><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; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#ab81dd6d40850f8fea025ee7ce51f86d0">NeonMeanWorkloadValidate</a>,</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; input,</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; output,</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; descriptor);</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_ab81dd6d40850f8fea025ee7ce51f86d0"><div class="ttname"><a href="namespacearmnn.xhtml#ab81dd6d40850f8fea025ee7ce51f86d0">armnn::NeonMeanWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonMeanWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const MeanDescriptor &amp;desc)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_mean_workload_8cpp_source.xhtml#l00018">NeonMeanWorkload.cpp:18</a></div></div>
1837<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
1838</div><!-- fragment -->
1839</div>
1840</div>
1841<a id="aa9309ea64f9f7447efe3567f77417d29"></a>
1842<h2 class="memtitle"><span class="permalink"><a href="#aa9309ea64f9f7447efe3567f77417d29">&#9670;&nbsp;</a></span>IsMergerSupported()</h2>
1843
1844<div class="memitem">
1845<div class="memproto">
1846<table class="mlabels">
1847 <tr>
1848 <td class="mlabels-left">
1849 <table class="memname">
1850 <tr>
1851 <td class="memname">bool IsMergerSupported </td>
1852 <td>(</td>
1853 <td class="paramtype">const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> *&gt;&#160;</td>
1854 <td class="paramname"><em>inputs</em>, </td>
1855 </tr>
1856 <tr>
1857 <td class="paramkey"></td>
1858 <td></td>
1859 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1860 <td class="paramname"><em>output</em>, </td>
1861 </tr>
1862 <tr>
1863 <td class="paramkey"></td>
1864 <td></td>
1865 <td class="paramtype">const <a class="el" href="namespacearmnn.xhtml#a003d213dd28b0b8c0f26fbf268ccb975">MergerDescriptor</a> &amp;&#160;</td>
1866 <td class="paramname"><em>descriptor</em>, </td>
1867 </tr>
1868 <tr>
1869 <td class="paramkey"></td>
1870 <td></td>
1871 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1872 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1873 </tr>
1874 <tr>
1875 <td></td>
1876 <td>)</td>
1877 <td></td><td> const</td>
1878 </tr>
1879 </table>
1880 </td>
1881 <td class="mlabels-right">
1882<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1883 </tr>
1884</table>
1885</div><div class="memdoc">
1886
1887<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a77ae1b686e92a561de76388ac55cab06">LayerSupportBase</a>.</p>
1888
1889<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00491">491</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1890
1891<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00216">NeonLayerSupport::IsConcatSupported()</a>.</p>
1892<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="keywordflow">return</span> <a class="code" href="classarmnn_1_1_neon_layer_support.xhtml#a3dca8ffbcb5f3afa1799aa7d354a3016">IsConcatSupported</a>(inputs, output, descriptor, reasonIfUnsupported);</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_neon_layer_support_xhtml_a3dca8ffbcb5f3afa1799aa7d354a3016"><div class="ttname"><a href="classarmnn_1_1_neon_layer_support.xhtml#a3dca8ffbcb5f3afa1799aa7d354a3016">armnn::NeonLayerSupport::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="_neon_layer_support_8cpp_source.xhtml#l00216">NeonLayerSupport.cpp:216</a></div></div>
1893</div><!-- fragment -->
1894</div>
1895</div>
1896<a id="a3d0eafb3de560b3482f857b56b2b2116"></a>
1897<h2 class="memtitle"><span class="permalink"><a href="#a3d0eafb3de560b3482f857b56b2b2116">&#9670;&nbsp;</a></span>IsMinimumSupported()</h2>
1898
1899<div class="memitem">
1900<div class="memproto">
1901<table class="mlabels">
1902 <tr>
1903 <td class="mlabels-left">
1904 <table class="memname">
1905 <tr>
1906 <td class="memname">bool IsMinimumSupported </td>
1907 <td>(</td>
1908 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1909 <td class="paramname"><em>input0</em>, </td>
1910 </tr>
1911 <tr>
1912 <td class="paramkey"></td>
1913 <td></td>
1914 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1915 <td class="paramname"><em>input1</em>, </td>
1916 </tr>
1917 <tr>
1918 <td class="paramkey"></td>
1919 <td></td>
1920 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1921 <td class="paramname"><em>output</em>, </td>
1922 </tr>
1923 <tr>
1924 <td class="paramkey"></td>
1925 <td></td>
1926 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1927 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1928 </tr>
1929 <tr>
1930 <td></td>
1931 <td>)</td>
1932 <td></td><td> const</td>
1933 </tr>
1934 </table>
1935 </td>
1936 <td class="mlabels-right">
1937<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1938 </tr>
1939</table>
1940</div><div class="memdoc">
1941
1942<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a3d0eafb3de560b3482f857b56b2b2116">LayerSupportBase</a>.</p>
1943
1944<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00499">499</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
1945
1946<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_minimum_workload_8cpp_source.xhtml#l00013">armnn::NeonMinimumWorkloadValidate()</a>.</p>
1947<div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;{</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#ab81159ebfa638af1b91fe1e8c5de1955">NeonMinimumWorkloadValidate</a>,</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; input0,</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; input1,</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; output);</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_ab81159ebfa638af1b91fe1e8c5de1955"><div class="ttname"><a href="namespacearmnn.xhtml#ab81159ebfa638af1b91fe1e8c5de1955">armnn::NeonMinimumWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonMinimumWorkloadValidate(const TensorInfo &amp;input0, const TensorInfo &amp;input1, const TensorInfo &amp;output)</div><div class="ttdoc">Validate function for validating the inputs and output. </div><div class="ttdef"><b>Definition:</b> <a href="_neon_minimum_workload_8cpp_source.xhtml#l00013">NeonMinimumWorkload.cpp:13</a></div></div>
1948<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
1949</div><!-- fragment -->
1950</div>
1951</div>
1952<a id="a421e1f3865d99d52613003048342c49a"></a>
1953<h2 class="memtitle"><span class="permalink"><a href="#a421e1f3865d99d52613003048342c49a">&#9670;&nbsp;</a></span>IsMultiplicationSupported()</h2>
1954
1955<div class="memitem">
1956<div class="memproto">
1957<table class="mlabels">
1958 <tr>
1959 <td class="mlabels-left">
1960 <table class="memname">
1961 <tr>
1962 <td class="memname">bool IsMultiplicationSupported </td>
1963 <td>(</td>
1964 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1965 <td class="paramname"><em>input0</em>, </td>
1966 </tr>
1967 <tr>
1968 <td class="paramkey"></td>
1969 <td></td>
1970 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1971 <td class="paramname"><em>input1</em>, </td>
1972 </tr>
1973 <tr>
1974 <td class="paramkey"></td>
1975 <td></td>
1976 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
1977 <td class="paramname"><em>output</em>, </td>
1978 </tr>
1979 <tr>
1980 <td class="paramkey"></td>
1981 <td></td>
1982 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
1983 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
1984 </tr>
1985 <tr>
1986 <td></td>
1987 <td>)</td>
1988 <td></td><td> const</td>
1989 </tr>
1990 </table>
1991 </td>
1992 <td class="mlabels-right">
1993<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
1994 </tr>
1995</table>
1996</div><div class="memdoc">
1997
1998<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a421e1f3865d99d52613003048342c49a">LayerSupportBase</a>.</p>
1999
2000<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00511">511</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2001
2002<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_multiplication_workload_8cpp_source.xhtml#l00015">armnn::NeonMultiplicationWorkloadValidate()</a>.</p>
2003<div class="fragment"><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; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a38bdbed2a1e28ab15cac0cc0f42c3fa6">NeonMultiplicationWorkloadValidate</a>,</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; input0,</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; input1,</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; output);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a38bdbed2a1e28ab15cac0cc0f42c3fa6"><div class="ttname"><a href="namespacearmnn.xhtml#a38bdbed2a1e28ab15cac0cc0f42c3fa6">armnn::NeonMultiplicationWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonMultiplicationWorkloadValidate(const TensorInfo &amp;input0, const TensorInfo &amp;input1, const TensorInfo &amp;output)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_multiplication_workload_8cpp_source.xhtml#l00015">NeonMultiplicationWorkload.cpp:15</a></div></div>
2004<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
2005</div><!-- fragment -->
2006</div>
2007</div>
2008<a id="a994c2065561141bf37fcd2ff7bb4af4d"></a>
2009<h2 class="memtitle"><span class="permalink"><a href="#a994c2065561141bf37fcd2ff7bb4af4d">&#9670;&nbsp;</a></span>IsNormalizationSupported()</h2>
2010
2011<div class="memitem">
2012<div class="memproto">
2013<table class="mlabels">
2014 <tr>
2015 <td class="mlabels-left">
2016 <table class="memname">
2017 <tr>
2018 <td class="memname">bool IsNormalizationSupported </td>
2019 <td>(</td>
2020 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2021 <td class="paramname"><em>input</em>, </td>
2022 </tr>
2023 <tr>
2024 <td class="paramkey"></td>
2025 <td></td>
2026 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2027 <td class="paramname"><em>output</em>, </td>
2028 </tr>
2029 <tr>
2030 <td class="paramkey"></td>
2031 <td></td>
2032 <td class="paramtype">const <a class="el" href="structarmnn_1_1_normalization_descriptor.xhtml">NormalizationDescriptor</a> &amp;&#160;</td>
2033 <td class="paramname"><em>descriptor</em>, </td>
2034 </tr>
2035 <tr>
2036 <td class="paramkey"></td>
2037 <td></td>
2038 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2039 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2040 </tr>
2041 <tr>
2042 <td></td>
2043 <td>)</td>
2044 <td></td><td> const</td>
2045 </tr>
2046 </table>
2047 </td>
2048 <td class="mlabels-right">
2049<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2050 </tr>
2051</table>
2052</div><div class="memdoc">
2053
2054<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a994c2065561141bf37fcd2ff7bb4af4d">LayerSupportBase</a>.</p>
2055
2056<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00535">535</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2057
2058<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_normalization_float_workload_8cpp_source.xhtml#l00047">armnn::NeonNormalizationWorkloadValidate()</a>.</p>
2059<div class="fragment"><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;{</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a2ec6297db90d1d4c258c13d2d72b13d9">NeonNormalizationWorkloadValidate</a>,</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; input,</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; output,</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; descriptor);</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a2ec6297db90d1d4c258c13d2d72b13d9"><div class="ttname"><a href="namespacearmnn.xhtml#a2ec6297db90d1d4c258c13d2d72b13d9">armnn::NeonNormalizationWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonNormalizationWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const NormalizationDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_normalization_float_workload_8cpp_source.xhtml#l00047">NeonNormalizationFloatWorkload.cpp:47</a></div></div>
2060<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
2061</div><!-- fragment -->
2062</div>
2063</div>
2064<a id="aef3244c0ef64c8f2f352d21ce0c06985"></a>
2065<h2 class="memtitle"><span class="permalink"><a href="#aef3244c0ef64c8f2f352d21ce0c06985">&#9670;&nbsp;</a></span>IsOutputSupported()</h2>
2066
2067<div class="memitem">
2068<div class="memproto">
2069<table class="mlabels">
2070 <tr>
2071 <td class="mlabels-left">
2072 <table class="memname">
2073 <tr>
2074 <td class="memname">bool IsOutputSupported </td>
2075 <td>(</td>
2076 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2077 <td class="paramname"><em>output</em>, </td>
2078 </tr>
2079 <tr>
2080 <td class="paramkey"></td>
2081 <td></td>
2082 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2083 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2084 </tr>
2085 <tr>
2086 <td></td>
2087 <td>)</td>
2088 <td></td><td> const</td>
2089 </tr>
2090 </table>
2091 </td>
2092 <td class="mlabels-right">
2093<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2094 </tr>
2095</table>
2096</div><div class="memdoc">
2097
2098<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#aef3244c0ef64c8f2f352d21ce0c06985">LayerSupportBase</a>.</p>
2099
2100<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00547">547</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2101<div class="fragment"><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;{</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">return</span> IsNeonBackendSupported(reasonIfUnsupported, output);</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;}</div></div><!-- fragment -->
2102</div>
2103</div>
2104<a id="a0534291adf9f3436ba331552eba29a43"></a>
2105<h2 class="memtitle"><span class="permalink"><a href="#a0534291adf9f3436ba331552eba29a43">&#9670;&nbsp;</a></span>IsPadSupported()</h2>
2106
2107<div class="memitem">
2108<div class="memproto">
2109<table class="mlabels">
2110 <tr>
2111 <td class="mlabels-left">
2112 <table class="memname">
2113 <tr>
2114 <td class="memname">bool IsPadSupported </td>
2115 <td>(</td>
2116 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2117 <td class="paramname"><em>input</em>, </td>
2118 </tr>
2119 <tr>
2120 <td class="paramkey"></td>
2121 <td></td>
2122 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2123 <td class="paramname"><em>output</em>, </td>
2124 </tr>
2125 <tr>
2126 <td class="paramkey"></td>
2127 <td></td>
2128 <td class="paramtype">const <a class="el" href="structarmnn_1_1_pad_descriptor.xhtml">PadDescriptor</a> &amp;&#160;</td>
2129 <td class="paramname"><em>descriptor</em>, </td>
2130 </tr>
2131 <tr>
2132 <td class="paramkey"></td>
2133 <td></td>
2134 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2135 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2136 </tr>
2137 <tr>
2138 <td></td>
2139 <td>)</td>
2140 <td></td><td> const</td>
2141 </tr>
2142 </table>
2143 </td>
2144 <td class="mlabels-right">
2145<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2146 </tr>
2147</table>
2148</div><div class="memdoc">
2149
2150<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a0534291adf9f3436ba331552eba29a43">LayerSupportBase</a>.</p>
2151
2152<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00553">553</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2153
2154<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_pad_workload_8cpp_source.xhtml#l00048">armnn::NeonPadWorkloadValidate()</a>.</p>
2155<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; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a39209c0c078e83227222eb885317c2c5">NeonPadWorkloadValidate</a>,</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; input,</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; output,</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; descriptor);</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a39209c0c078e83227222eb885317c2c5"><div class="ttname"><a href="namespacearmnn.xhtml#a39209c0c078e83227222eb885317c2c5">armnn::NeonPadWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonPadWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const PadDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_pad_workload_8cpp_source.xhtml#l00048">NeonPadWorkload.cpp:48</a></div></div>
2156<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
2157</div><!-- fragment -->
2158</div>
2159</div>
2160<a id="a9d553495d9a94fa55588ae159d8bda30"></a>
2161<h2 class="memtitle"><span class="permalink"><a href="#a9d553495d9a94fa55588ae159d8bda30">&#9670;&nbsp;</a></span>IsPermuteSupported()</h2>
2162
2163<div class="memitem">
2164<div class="memproto">
2165<table class="mlabels">
2166 <tr>
2167 <td class="mlabels-left">
2168 <table class="memname">
2169 <tr>
2170 <td class="memname">bool IsPermuteSupported </td>
2171 <td>(</td>
2172 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2173 <td class="paramname"><em>input</em>, </td>
2174 </tr>
2175 <tr>
2176 <td class="paramkey"></td>
2177 <td></td>
2178 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2179 <td class="paramname"><em>output</em>, </td>
2180 </tr>
2181 <tr>
2182 <td class="paramkey"></td>
2183 <td></td>
2184 <td class="paramtype">const <a class="el" href="structarmnn_1_1_permute_descriptor.xhtml">PermuteDescriptor</a> &amp;&#160;</td>
2185 <td class="paramname"><em>descriptor</em>, </td>
2186 </tr>
2187 <tr>
2188 <td class="paramkey"></td>
2189 <td></td>
2190 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2191 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2192 </tr>
2193 <tr>
2194 <td></td>
2195 <td>)</td>
2196 <td></td><td> const</td>
2197 </tr>
2198 </table>
2199 </td>
2200 <td class="mlabels-right">
2201<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2202 </tr>
2203</table>
2204</div><div class="memdoc">
2205
2206<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a9d553495d9a94fa55588ae159d8bda30">LayerSupportBase</a>.</p>
2207
2208<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00565">565</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2209
2210<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_permute_workload_8cpp_source.xhtml#l00015">armnn::NeonPermuteWorkloadValidate()</a>.</p>
2211<div class="fragment"><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;{</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a70650f6b1d3b8511fcdb989ca769cdbb">NeonPermuteWorkloadValidate</a>, reasonIfUnsupported, input, output, descriptor);</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a70650f6b1d3b8511fcdb989ca769cdbb"><div class="ttname"><a href="namespacearmnn.xhtml#a70650f6b1d3b8511fcdb989ca769cdbb">armnn::NeonPermuteWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonPermuteWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const PermuteDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_permute_workload_8cpp_source.xhtml#l00015">NeonPermuteWorkload.cpp:15</a></div></div>
2212<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
2213</div><!-- fragment -->
2214</div>
2215</div>
2216<a id="aa955675303d67b1d1fb51fb7f09d8c21"></a>
2217<h2 class="memtitle"><span class="permalink"><a href="#aa955675303d67b1d1fb51fb7f09d8c21">&#9670;&nbsp;</a></span>IsPooling2dSupported()</h2>
2218
2219<div class="memitem">
2220<div class="memproto">
2221<table class="mlabels">
2222 <tr>
2223 <td class="mlabels-left">
2224 <table class="memname">
2225 <tr>
2226 <td class="memname">bool IsPooling2dSupported </td>
2227 <td>(</td>
2228 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2229 <td class="paramname"><em>input</em>, </td>
2230 </tr>
2231 <tr>
2232 <td class="paramkey"></td>
2233 <td></td>
2234 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2235 <td class="paramname"><em>output</em>, </td>
2236 </tr>
2237 <tr>
2238 <td class="paramkey"></td>
2239 <td></td>
2240 <td class="paramtype">const <a class="el" href="structarmnn_1_1_pooling2d_descriptor.xhtml">Pooling2dDescriptor</a> &amp;&#160;</td>
2241 <td class="paramname"><em>descriptor</em>, </td>
2242 </tr>
2243 <tr>
2244 <td class="paramkey"></td>
2245 <td></td>
2246 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2247 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2248 </tr>
2249 <tr>
2250 <td></td>
2251 <td>)</td>
2252 <td></td><td> const</td>
2253 </tr>
2254 </table>
2255 </td>
2256 <td class="mlabels-right">
2257<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2258 </tr>
2259</table>
2260</div><div class="memdoc">
2261
2262<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#aa955675303d67b1d1fb51fb7f09d8c21">LayerSupportBase</a>.</p>
2263
2264<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00573">573</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2265
2266<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_pooling2d_workload_8cpp_source.xhtml#l00020">armnn::NeonPooling2dWorkloadValidate()</a>.</p>
2267<div class="fragment"><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; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a1f07655db8ad7f2738bb0d3d9e2316cc">NeonPooling2dWorkloadValidate</a>, reasonIfUnsupported, input, output, descriptor);</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;}</div><div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
2268<div class="ttc" id="namespacearmnn_xhtml_a1f07655db8ad7f2738bb0d3d9e2316cc"><div class="ttname"><a href="namespacearmnn.xhtml#a1f07655db8ad7f2738bb0d3d9e2316cc">armnn::NeonPooling2dWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonPooling2dWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const Pooling2dDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_pooling2d_workload_8cpp_source.xhtml#l00020">NeonPooling2dWorkload.cpp:20</a></div></div>
2269</div><!-- fragment -->
2270</div>
2271</div>
2272<a id="a4b36dcedd5edbd5142b3548967aadc2f"></a>
2273<h2 class="memtitle"><span class="permalink"><a href="#a4b36dcedd5edbd5142b3548967aadc2f">&#9670;&nbsp;</a></span>IsPreluSupported()</h2>
2274
2275<div class="memitem">
2276<div class="memproto">
2277<table class="mlabels">
2278 <tr>
2279 <td class="mlabels-left">
2280 <table class="memname">
2281 <tr>
2282 <td class="memname">bool IsPreluSupported </td>
2283 <td>(</td>
2284 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2285 <td class="paramname"><em>input</em>, </td>
2286 </tr>
2287 <tr>
2288 <td class="paramkey"></td>
2289 <td></td>
2290 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2291 <td class="paramname"><em>alpha</em>, </td>
2292 </tr>
2293 <tr>
2294 <td class="paramkey"></td>
2295 <td></td>
2296 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2297 <td class="paramname"><em>output</em>, </td>
2298 </tr>
2299 <tr>
2300 <td class="paramkey"></td>
2301 <td></td>
2302 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2303 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2304 </tr>
2305 <tr>
2306 <td></td>
2307 <td>)</td>
2308 <td></td><td> const</td>
2309 </tr>
2310 </table>
2311 </td>
2312 <td class="mlabels-right">
2313<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2314 </tr>
2315</table>
2316</div><div class="memdoc">
2317
2318<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a93cf81b28c4275a338f41c536a451158">LayerSupportBase</a>.</p>
2319
2320<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00581">581</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2321
2322<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_prelu_workload_8cpp_source.xhtml#l00015">armnn::NeonPreluWorkloadValidate()</a>.</p>
2323<div class="fragment"><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160;{</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a188adc104b16db3dc23ed2c5ff06cbb8">NeonPreluWorkloadValidate</a>, reasonIfUnsupported, input, alpha, output);</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a188adc104b16db3dc23ed2c5ff06cbb8"><div class="ttname"><a href="namespacearmnn.xhtml#a188adc104b16db3dc23ed2c5ff06cbb8">armnn::NeonPreluWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonPreluWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;alpha, const TensorInfo &amp;output)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_prelu_workload_8cpp_source.xhtml#l00015">NeonPreluWorkload.cpp:15</a></div></div>
2324<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
2325</div><!-- fragment -->
2326</div>
2327</div>
2328<a id="a281eb6ce87b6ca147e681dd3f6483a87"></a>
2329<h2 class="memtitle"><span class="permalink"><a href="#a281eb6ce87b6ca147e681dd3f6483a87">&#9670;&nbsp;</a></span>IsQuantizedLstmSupported()</h2>
2330
2331<div class="memitem">
2332<div class="memproto">
2333<table class="mlabels">
2334 <tr>
2335 <td class="mlabels-left">
2336 <table class="memname">
2337 <tr>
2338 <td class="memname">bool IsQuantizedLstmSupported </td>
2339 <td>(</td>
2340 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2341 <td class="paramname"><em>input</em>, </td>
2342 </tr>
2343 <tr>
2344 <td class="paramkey"></td>
2345 <td></td>
2346 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2347 <td class="paramname"><em>cellStateIn</em>, </td>
2348 </tr>
2349 <tr>
2350 <td class="paramkey"></td>
2351 <td></td>
2352 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2353 <td class="paramname"><em>outputStateIn</em>, </td>
2354 </tr>
2355 <tr>
2356 <td class="paramkey"></td>
2357 <td></td>
2358 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2359 <td class="paramname"><em>cellStateOut</em>, </td>
2360 </tr>
2361 <tr>
2362 <td class="paramkey"></td>
2363 <td></td>
2364 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2365 <td class="paramname"><em>outputStateOut</em>, </td>
2366 </tr>
2367 <tr>
2368 <td class="paramkey"></td>
2369 <td></td>
2370 <td class="paramtype">const <a class="el" href="structarmnn_1_1_quantized_lstm_input_params_info.xhtml">QuantizedLstmInputParamsInfo</a> &amp;&#160;</td>
2371 <td class="paramname"><em>paramsInfo</em>, </td>
2372 </tr>
2373 <tr>
2374 <td class="paramkey"></td>
2375 <td></td>
2376 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2377 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2378 </tr>
2379 <tr>
2380 <td></td>
2381 <td>)</td>
2382 <td></td><td> const</td>
2383 </tr>
2384 </table>
2385 </td>
2386 <td class="mlabels-right">
2387<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2388 </tr>
2389</table>
2390</div><div class="memdoc">
2391
2392<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#af1be52d9f968bfab069344756bf232c4">LayerSupportBase</a>.</p>
2393
2394<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00599">599</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2395
2396<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_quantized_lstm_workload_8cpp_source.xhtml#l00130">armnn::NeonQuantizedLstmWorkloadValidate()</a>.</p>
2397<div class="fragment"><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;{</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#ae83632e641892ad2de78f316376f6bd0">NeonQuantizedLstmWorkloadValidate</a>,</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; input,</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; cellStateIn,</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; outputStateIn,</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; cellStateOut,</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; outputStateOut,</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; paramsInfo);</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_ae83632e641892ad2de78f316376f6bd0"><div class="ttname"><a href="namespacearmnn.xhtml#ae83632e641892ad2de78f316376f6bd0">armnn::NeonQuantizedLstmWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonQuantizedLstmWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;cellStateIn, const TensorInfo &amp;outputStateIn, const TensorInfo &amp;cellStateOut, const TensorInfo &amp;outputStateOut, const QuantizedLstmInputParamsInfo &amp;paramsInfo)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_quantized_lstm_workload_8cpp_source.xhtml#l00130">NeonQuantizedLstmWorkload.cpp:130</a></div></div>
2398<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
2399</div><!-- fragment -->
2400</div>
2401</div>
2402<a id="ad2c7be6b84b04444e514f52f593b3df7"></a>
2403<h2 class="memtitle"><span class="permalink"><a href="#ad2c7be6b84b04444e514f52f593b3df7">&#9670;&nbsp;</a></span>IsQuantizeSupported()</h2>
2404
2405<div class="memitem">
2406<div class="memproto">
2407<table class="mlabels">
2408 <tr>
2409 <td class="mlabels-left">
2410 <table class="memname">
2411 <tr>
2412 <td class="memname">bool IsQuantizeSupported </td>
2413 <td>(</td>
2414 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2415 <td class="paramname"><em>input</em>, </td>
2416 </tr>
2417 <tr>
2418 <td class="paramkey"></td>
2419 <td></td>
2420 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2421 <td class="paramname"><em>output</em>, </td>
2422 </tr>
2423 <tr>
2424 <td class="paramkey"></td>
2425 <td></td>
2426 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2427 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2428 </tr>
2429 <tr>
2430 <td></td>
2431 <td>)</td>
2432 <td></td><td> const</td>
2433 </tr>
2434 </table>
2435 </td>
2436 <td class="mlabels-right">
2437<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2438 </tr>
2439</table>
2440</div><div class="memdoc">
2441
2442<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#ad2c7be6b84b04444e514f52f593b3df7">LayerSupportBase</a>.</p>
2443
2444<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00589">589</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2445
2446<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_quantize_workload_8cpp_source.xhtml#l00019">armnn::NeonQuantizeWorkloadValidate()</a>.</p>
2447<div class="fragment"><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; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a4d1e35c8bbe48e99dd522ac0f75f77d7">NeonQuantizeWorkloadValidate</a>,</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; input,</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; output);</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a4d1e35c8bbe48e99dd522ac0f75f77d7"><div class="ttname"><a href="namespacearmnn.xhtml#a4d1e35c8bbe48e99dd522ac0f75f77d7">armnn::NeonQuantizeWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonQuantizeWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_quantize_workload_8cpp_source.xhtml#l00019">NeonQuantizeWorkload.cpp:19</a></div></div>
2448<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
2449</div><!-- fragment -->
2450</div>
2451</div>
2452<a id="aa02f01bbcb48c67f5b2efc4132ec5e86"></a>
2453<h2 class="memtitle"><span class="permalink"><a href="#aa02f01bbcb48c67f5b2efc4132ec5e86">&#9670;&nbsp;</a></span>IsReshapeSupported()</h2>
2454
2455<div class="memitem">
2456<div class="memproto">
2457<table class="mlabels">
2458 <tr>
2459 <td class="mlabels-left">
2460 <table class="memname">
2461 <tr>
2462 <td class="memname">bool IsReshapeSupported </td>
2463 <td>(</td>
2464 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2465 <td class="paramname"><em>input</em>, </td>
2466 </tr>
2467 <tr>
2468 <td class="paramkey"></td>
2469 <td></td>
2470 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2471 <td class="paramname"><em>output</em>, </td>
2472 </tr>
2473 <tr>
2474 <td class="paramkey"></td>
2475 <td></td>
2476 <td class="paramtype">const <a class="el" href="structarmnn_1_1_reshape_descriptor.xhtml">ReshapeDescriptor</a> &amp;&#160;</td>
2477 <td class="paramname"><em>descriptor</em>, </td>
2478 </tr>
2479 <tr>
2480 <td class="paramkey"></td>
2481 <td></td>
2482 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2483 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2484 </tr>
2485 <tr>
2486 <td></td>
2487 <td>)</td>
2488 <td></td><td> const</td>
2489 </tr>
2490 </table>
2491 </td>
2492 <td class="mlabels-right">
2493<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2494 </tr>
2495</table>
2496</div><div class="memdoc">
2497
2498<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#aa02f01bbcb48c67f5b2efc4132ec5e86">LayerSupportBase</a>.</p>
2499
2500<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00617">617</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2501
2502<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>, and <a class="el" href="_neon_reshape_workload_8cpp_source.xhtml#l00017">armnn::NeonReshapeWorkloadValidate()</a>.</p>
2503<div class="fragment"><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; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a430021076042c8157a926a3bb3a37152">NeonReshapeWorkloadValidate</a>,</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; input,</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; output);</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;}</div><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>
2504<div class="ttc" id="namespacearmnn_xhtml_a430021076042c8157a926a3bb3a37152"><div class="ttname"><a href="namespacearmnn.xhtml#a430021076042c8157a926a3bb3a37152">armnn::NeonReshapeWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonReshapeWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_reshape_workload_8cpp_source.xhtml#l00017">NeonReshapeWorkload.cpp:17</a></div></div>
2505<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
2506</div><!-- fragment -->
2507</div>
2508</div>
2509<a id="a0f29f31e1ba46a52eedcdecd34f4cc24"></a>
2510<h2 class="memtitle"><span class="permalink"><a href="#a0f29f31e1ba46a52eedcdecd34f4cc24">&#9670;&nbsp;</a></span>IsResizeBilinearSupported()</h2>
2511
2512<div class="memitem">
2513<div class="memproto">
2514<table class="mlabels">
2515 <tr>
2516 <td class="mlabels-left">
2517 <table class="memname">
2518 <tr>
2519 <td class="memname">bool IsResizeBilinearSupported </td>
2520 <td>(</td>
2521 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2522 <td class="paramname"><em>input</em>, </td>
2523 </tr>
2524 <tr>
2525 <td class="paramkey"></td>
2526 <td></td>
2527 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2528 <td class="paramname"><em>output</em>, </td>
2529 </tr>
2530 <tr>
2531 <td class="paramkey"></td>
2532 <td></td>
2533 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2534 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2535 </tr>
2536 <tr>
2537 <td></td>
2538 <td>)</td>
2539 <td></td><td> const</td>
2540 </tr>
2541 </table>
2542 </td>
2543 <td class="mlabels-right">
2544<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2545 </tr>
2546</table>
2547</div><div class="memdoc">
2548
2549<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a0f29f31e1ba46a52eedcdecd34f4cc24">LayerSupportBase</a>.</p>
2550
2551<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00641">641</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2552
2553<p class="reference">References <a class="el" href="namespacearmnn.xhtml#a9a2af2f8c4af4f9efa8e79417d505ac4aaf17c98bbd83c27d6426d2ff3fa81d7f">armnn::Bilinear</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00088">TensorInfo::GetShape()</a>, <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00629">NeonLayerSupport::IsResizeSupported()</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00751">ResizeDescriptor::m_DataLayout</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00749">ResizeDescriptor::m_Method</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00746">ResizeDescriptor::m_TargetHeight</a>, <a class="el" href="_descriptors_8hpp_source.xhtml#l00744">ResizeDescriptor::m_TargetWidth</a>, and <a class="el" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::NCHW</a>.</p>
2554<div class="fragment"><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;{</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; ResizeDescriptor descriptor;</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; descriptor.m_Method = <a class="code" href="namespacearmnn.xhtml#a9a2af2f8c4af4f9efa8e79417d505ac4aaf17c98bbd83c27d6426d2ff3fa81d7f">ResizeMethod::Bilinear</a>;</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; descriptor.m_DataLayout = <a class="code" href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">DataLayout::NCHW</a>;</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="keyword">const</span> TensorShape&amp; outputShape = output.GetShape();</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; descriptor.m_TargetHeight = outputShape[2];</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; descriptor.m_TargetWidth = outputShape[3];</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_neon_layer_support.xhtml#a3d27a3fc6a7df0b68d80cb113aff8b6c">IsResizeSupported</a>(input, output, descriptor, reasonIfUnsupported);</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_neon_layer_support_xhtml_a3d27a3fc6a7df0b68d80cb113aff8b6c"><div class="ttname"><a href="classarmnn_1_1_neon_layer_support.xhtml#a3d27a3fc6a7df0b68d80cb113aff8b6c">armnn::NeonLayerSupport::IsResizeSupported</a></div><div class="ttdeci">bool IsResizeSupported(const TensorInfo &amp;input, const TensorInfo &amp;output, const ResizeDescriptor &amp;descriptor, Optional&lt; std::string &amp;&gt; reasonIfUnsupported=EmptyOptional()) const override</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00629">NeonLayerSupport.cpp:629</a></div></div>
2555<div class="ttc" id="namespacearmnn_xhtml_a9a2af2f8c4af4f9efa8e79417d505ac4aaf17c98bbd83c27d6426d2ff3fa81d7f"><div class="ttname"><a href="namespacearmnn.xhtml#a9a2af2f8c4af4f9efa8e79417d505ac4aaf17c98bbd83c27d6426d2ff3fa81d7f">armnn::ResizeMethod::Bilinear</a></div></div>
2556<div class="ttc" id="namespacearmnn_xhtml_ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f"><div class="ttname"><a href="namespacearmnn.xhtml#ad1d5cce2d9e9a5d61c243e5c989112e0a6b99f356fe3b30a2a850b5ea897c289f">armnn::DataLayout::NCHW</a></div></div>
2557</div><!-- fragment -->
2558</div>
2559</div>
2560<a id="a3d27a3fc6a7df0b68d80cb113aff8b6c"></a>
2561<h2 class="memtitle"><span class="permalink"><a href="#a3d27a3fc6a7df0b68d80cb113aff8b6c">&#9670;&nbsp;</a></span>IsResizeSupported()</h2>
2562
2563<div class="memitem">
2564<div class="memproto">
2565<table class="mlabels">
2566 <tr>
2567 <td class="mlabels-left">
2568 <table class="memname">
2569 <tr>
2570 <td class="memname">bool IsResizeSupported </td>
2571 <td>(</td>
2572 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2573 <td class="paramname"><em>input</em>, </td>
2574 </tr>
2575 <tr>
2576 <td class="paramkey"></td>
2577 <td></td>
2578 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2579 <td class="paramname"><em>output</em>, </td>
2580 </tr>
2581 <tr>
2582 <td class="paramkey"></td>
2583 <td></td>
2584 <td class="paramtype">const <a class="el" href="structarmnn_1_1_resize_descriptor.xhtml">ResizeDescriptor</a> &amp;&#160;</td>
2585 <td class="paramname"><em>descriptor</em>, </td>
2586 </tr>
2587 <tr>
2588 <td class="paramkey"></td>
2589 <td></td>
2590 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2591 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2592 </tr>
2593 <tr>
2594 <td></td>
2595 <td>)</td>
2596 <td></td><td> const</td>
2597 </tr>
2598 </table>
2599 </td>
2600 <td class="mlabels-right">
2601<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2602 </tr>
2603</table>
2604</div><div class="memdoc">
2605
2606<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a3d27a3fc6a7df0b68d80cb113aff8b6c">LayerSupportBase</a>.</p>
2607
2608<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00629">629</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2609
2610<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_resize_workload_8cpp_source.xhtml#l00020">armnn::NeonResizeWorkloadValidate()</a>.</p>
2611
2612<p class="reference">Referenced by <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00641">NeonLayerSupport::IsResizeBilinearSupported()</a>.</p>
2613<div class="fragment"><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;{</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a552d65f4e0a6c9e7c7796e77590063e9">NeonResizeWorkloadValidate</a>,</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; input,</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; output,</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; descriptor);</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160;}</div><div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
2614<div class="ttc" id="namespacearmnn_xhtml_a552d65f4e0a6c9e7c7796e77590063e9"><div class="ttname"><a href="namespacearmnn.xhtml#a552d65f4e0a6c9e7c7796e77590063e9">armnn::NeonResizeWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonResizeWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const ResizeDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_resize_workload_8cpp_source.xhtml#l00020">NeonResizeWorkload.cpp:20</a></div></div>
2615</div><!-- fragment -->
2616</div>
2617</div>
2618<a id="a10ae4d84b0d31580f6fcd5107322ebcf"></a>
2619<h2 class="memtitle"><span class="permalink"><a href="#a10ae4d84b0d31580f6fcd5107322ebcf">&#9670;&nbsp;</a></span>IsRsqrtSupported()</h2>
2620
2621<div class="memitem">
2622<div class="memproto">
2623<table class="mlabels">
2624 <tr>
2625 <td class="mlabels-left">
2626 <table class="memname">
2627 <tr>
2628 <td class="memname">bool IsRsqrtSupported </td>
2629 <td>(</td>
2630 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2631 <td class="paramname"><em>input</em>, </td>
2632 </tr>
2633 <tr>
2634 <td class="paramkey"></td>
2635 <td></td>
2636 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2637 <td class="paramname"><em>output</em>, </td>
2638 </tr>
2639 <tr>
2640 <td class="paramkey"></td>
2641 <td></td>
2642 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2643 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2644 </tr>
2645 <tr>
2646 <td></td>
2647 <td>)</td>
2648 <td></td><td> const</td>
2649 </tr>
2650 </table>
2651 </td>
2652 <td class="mlabels-right">
2653<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2654 </tr>
2655</table>
2656</div><div class="memdoc">
2657
2658<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a10ae4d84b0d31580f6fcd5107322ebcf">LayerSupportBase</a>.</p>
2659
2660<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00656">656</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2661
2662<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00354">NeonLayerSupport::IsElementwiseUnarySupported()</a>, and <a class="el" href="namespacearmnn.xhtml#a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4">armnn::Rsqrt</a>.</p>
2663<div class="fragment"><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;{</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; ElementwiseUnaryDescriptor descriptor(<a class="code" href="namespacearmnn.xhtml#a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4">UnaryOperation::Rsqrt</a>);</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classarmnn_1_1_neon_layer_support.xhtml#a61c5b4e5dc224ef0c876e43353b34030">IsElementwiseUnarySupported</a>(input, output, descriptor, reasonIfUnsupported);</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_neon_layer_support_xhtml_a61c5b4e5dc224ef0c876e43353b34030"><div class="ttname"><a href="classarmnn_1_1_neon_layer_support.xhtml#a61c5b4e5dc224ef0c876e43353b34030">armnn::NeonLayerSupport::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="_neon_layer_support_8cpp_source.xhtml#l00354">NeonLayerSupport.cpp:354</a></div></div>
2664<div class="ttc" id="namespacearmnn_xhtml_a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4"><div class="ttname"><a href="namespacearmnn.xhtml#a1cfaa710db2a54673b21d2ea2da757c8a09bb7f6e2118c85a6a55bd4bf2beeca4">armnn::UnaryOperation::Rsqrt</a></div></div>
2665</div><!-- fragment -->
2666</div>
2667</div>
2668<a id="a0e14dafa85cfcd4a6b6b752284b51e63"></a>
2669<h2 class="memtitle"><span class="permalink"><a href="#a0e14dafa85cfcd4a6b6b752284b51e63">&#9670;&nbsp;</a></span>IsSliceSupported()</h2>
2670
2671<div class="memitem">
2672<div class="memproto">
2673<table class="mlabels">
2674 <tr>
2675 <td class="mlabels-left">
2676 <table class="memname">
2677 <tr>
2678 <td class="memname">bool IsSliceSupported </td>
2679 <td>(</td>
2680 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2681 <td class="paramname"><em>input</em>, </td>
2682 </tr>
2683 <tr>
2684 <td class="paramkey"></td>
2685 <td></td>
2686 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2687 <td class="paramname"><em>output</em>, </td>
2688 </tr>
2689 <tr>
2690 <td class="paramkey"></td>
2691 <td></td>
2692 <td class="paramtype">const <a class="el" href="structarmnn_1_1_slice_descriptor.xhtml">SliceDescriptor</a> &amp;&#160;</td>
2693 <td class="paramname"><em>descriptor</em>, </td>
2694 </tr>
2695 <tr>
2696 <td class="paramkey"></td>
2697 <td></td>
2698 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2699 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2700 </tr>
2701 <tr>
2702 <td></td>
2703 <td>)</td>
2704 <td></td><td> const</td>
2705 </tr>
2706 </table>
2707 </td>
2708 <td class="mlabels-right">
2709<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2710 </tr>
2711</table>
2712</div><div class="memdoc">
2713
2714<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a0e14dafa85cfcd4a6b6b752284b51e63">LayerSupportBase</a>.</p>
2715
2716<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00664">664</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2717
2718<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_slice_workload_8cpp_source.xhtml#l00019">armnn::NeonSliceWorkloadValidate()</a>.</p>
2719<div class="fragment"><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160;{</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a0a223c0997e3f7faa373ed55f954252b">NeonSliceWorkloadValidate</a>,</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; input,</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; output,</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; descriptor);</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a0a223c0997e3f7faa373ed55f954252b"><div class="ttname"><a href="namespacearmnn.xhtml#a0a223c0997e3f7faa373ed55f954252b">armnn::NeonSliceWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonSliceWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const SliceDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_slice_workload_8cpp_source.xhtml#l00019">NeonSliceWorkload.cpp:19</a></div></div>
2720<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
2721</div><!-- fragment -->
2722</div>
2723</div>
2724<a id="a8385cf8227907904a6a86fac318fc099"></a>
2725<h2 class="memtitle"><span class="permalink"><a href="#a8385cf8227907904a6a86fac318fc099">&#9670;&nbsp;</a></span>IsSoftmaxSupported()</h2>
2726
2727<div class="memitem">
2728<div class="memproto">
2729<table class="mlabels">
2730 <tr>
2731 <td class="mlabels-left">
2732 <table class="memname">
2733 <tr>
2734 <td class="memname">bool IsSoftmaxSupported </td>
2735 <td>(</td>
2736 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2737 <td class="paramname"><em>input</em>, </td>
2738 </tr>
2739 <tr>
2740 <td class="paramkey"></td>
2741 <td></td>
2742 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2743 <td class="paramname"><em>output</em>, </td>
2744 </tr>
2745 <tr>
2746 <td class="paramkey"></td>
2747 <td></td>
2748 <td class="paramtype">const <a class="el" href="structarmnn_1_1_softmax_descriptor.xhtml">SoftmaxDescriptor</a> &amp;&#160;</td>
2749 <td class="paramname"><em>descriptor</em>, </td>
2750 </tr>
2751 <tr>
2752 <td class="paramkey"></td>
2753 <td></td>
2754 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2755 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2756 </tr>
2757 <tr>
2758 <td></td>
2759 <td>)</td>
2760 <td></td><td> const</td>
2761 </tr>
2762 </table>
2763 </td>
2764 <td class="mlabels-right">
2765<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2766 </tr>
2767</table>
2768</div><div class="memdoc">
2769
2770<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a8385cf8227907904a6a86fac318fc099">LayerSupportBase</a>.</p>
2771
2772<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00676">676</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2773
2774<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_softmax_base_workload_8cpp_source.xhtml#l00016">armnn::NeonSoftmaxWorkloadValidate()</a>.</p>
2775<div class="fragment"><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160;{</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a4077a9771ba9c551f4ce61863f65e798">NeonSoftmaxWorkloadValidate</a>, reasonIfUnsupported, input, output, descriptor);</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a4077a9771ba9c551f4ce61863f65e798"><div class="ttname"><a href="namespacearmnn.xhtml#a4077a9771ba9c551f4ce61863f65e798">armnn::NeonSoftmaxWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonSoftmaxWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const SoftmaxDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_softmax_base_workload_8cpp_source.xhtml#l00016">NeonSoftmaxBaseWorkload.cpp:16</a></div></div>
2776<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
2777</div><!-- fragment -->
2778</div>
2779</div>
2780<a id="a3adfc31e079a970e028e537ec05fabf5"></a>
2781<h2 class="memtitle"><span class="permalink"><a href="#a3adfc31e079a970e028e537ec05fabf5">&#9670;&nbsp;</a></span>IsSpaceToBatchNdSupported()</h2>
2782
2783<div class="memitem">
2784<div class="memproto">
2785<table class="mlabels">
2786 <tr>
2787 <td class="mlabels-left">
2788 <table class="memname">
2789 <tr>
2790 <td class="memname">bool IsSpaceToBatchNdSupported </td>
2791 <td>(</td>
2792 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2793 <td class="paramname"><em>input</em>, </td>
2794 </tr>
2795 <tr>
2796 <td class="paramkey"></td>
2797 <td></td>
2798 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2799 <td class="paramname"><em>output</em>, </td>
2800 </tr>
2801 <tr>
2802 <td class="paramkey"></td>
2803 <td></td>
2804 <td class="paramtype">const <a class="el" href="structarmnn_1_1_space_to_batch_nd_descriptor.xhtml">SpaceToBatchNdDescriptor</a> &amp;&#160;</td>
2805 <td class="paramname"><em>descriptor</em>, </td>
2806 </tr>
2807 <tr>
2808 <td class="paramkey"></td>
2809 <td></td>
2810 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2811 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2812 </tr>
2813 <tr>
2814 <td></td>
2815 <td>)</td>
2816 <td></td><td> const</td>
2817 </tr>
2818 </table>
2819 </td>
2820 <td class="mlabels-right">
2821<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2822 </tr>
2823</table>
2824</div><div class="memdoc">
2825
2826<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a3adfc31e079a970e028e537ec05fabf5">LayerSupportBase</a>.</p>
2827
2828<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00684">684</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2829
2830<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_space_to_batch_nd_workload_8cpp_source.xhtml#l00016">armnn::NeonSpaceToBatchNdWorkloadValidate()</a>.</p>
2831<div class="fragment"><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;{</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#ab29257da888af2c4971db1344d8a526c">NeonSpaceToBatchNdWorkloadValidate</a>,</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; input,</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; output,</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; descriptor);</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_ab29257da888af2c4971db1344d8a526c"><div class="ttname"><a href="namespacearmnn.xhtml#ab29257da888af2c4971db1344d8a526c">armnn::NeonSpaceToBatchNdWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonSpaceToBatchNdWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const SpaceToBatchNdDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_space_to_batch_nd_workload_8cpp_source.xhtml#l00016">NeonSpaceToBatchNdWorkload.cpp:16</a></div></div>
2832<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
2833</div><!-- fragment -->
2834</div>
2835</div>
2836<a id="ab2af1e7da9490d29e569d271e16b0d5c"></a>
2837<h2 class="memtitle"><span class="permalink"><a href="#ab2af1e7da9490d29e569d271e16b0d5c">&#9670;&nbsp;</a></span>IsSpaceToDepthSupported()</h2>
2838
2839<div class="memitem">
2840<div class="memproto">
2841<table class="mlabels">
2842 <tr>
2843 <td class="mlabels-left">
2844 <table class="memname">
2845 <tr>
2846 <td class="memname">bool IsSpaceToDepthSupported </td>
2847 <td>(</td>
2848 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2849 <td class="paramname"><em>input</em>, </td>
2850 </tr>
2851 <tr>
2852 <td class="paramkey"></td>
2853 <td></td>
2854 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2855 <td class="paramname"><em>output</em>, </td>
2856 </tr>
2857 <tr>
2858 <td class="paramkey"></td>
2859 <td></td>
2860 <td class="paramtype">const <a class="el" href="structarmnn_1_1_space_to_depth_descriptor.xhtml">SpaceToDepthDescriptor</a> &amp;&#160;</td>
2861 <td class="paramname"><em>descriptor</em>, </td>
2862 </tr>
2863 <tr>
2864 <td class="paramkey"></td>
2865 <td></td>
2866 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
2867 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
2868 </tr>
2869 <tr>
2870 <td></td>
2871 <td>)</td>
2872 <td></td><td> const</td>
2873 </tr>
2874 </table>
2875 </td>
2876 <td class="mlabels-right">
2877<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
2878 </tr>
2879</table>
2880</div><div class="memdoc">
2881
2882<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#ab2af1e7da9490d29e569d271e16b0d5c">LayerSupportBase</a>.</p>
2883
2884<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00696">696</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2885
2886<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_space_to_depth_workload_8cpp_source.xhtml#l00015">armnn::NeonSpaceToDepthWorkloadValidate()</a>.</p>
2887<div class="fragment"><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160;{</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#af6d2d40482240def4614deb694933d1e">NeonSpaceToDepthWorkloadValidate</a>,</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; input,</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; output,</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; descriptor);</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_af6d2d40482240def4614deb694933d1e"><div class="ttname"><a href="namespacearmnn.xhtml#af6d2d40482240def4614deb694933d1e">armnn::NeonSpaceToDepthWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonSpaceToDepthWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const SpaceToDepthDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_space_to_depth_workload_8cpp_source.xhtml#l00015">NeonSpaceToDepthWorkload.cpp:15</a></div></div>
2888<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
2889</div><!-- fragment -->
2890</div>
2891</div>
2892<a id="a17dd12822d49a23d24198f425a6fb9c4"></a>
2893<h2 class="memtitle"><span class="permalink"><a href="#a17dd12822d49a23d24198f425a6fb9c4">&#9670;&nbsp;</a></span>IsSplitterSupported() <span class="overload">[1/2]</span></h2>
2894
2895<div class="memitem">
2896<div class="memproto">
2897<table class="mlabels">
2898 <tr>
2899 <td class="mlabels-left">
2900 <table class="memname">
2901 <tr>
2902 <td class="memname">bool IsSplitterSupported </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>input</em>, </td>
2906 </tr>
2907 <tr>
2908 <td class="paramkey"></td>
2909 <td></td>
2910 <td class="paramtype">const <a class="el" href="structarmnn_1_1_views_descriptor.xhtml">ViewsDescriptor</a> &amp;&#160;</td>
2911 <td class="paramname"><em>descriptor</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#a17dd12822d49a23d24198f425a6fb9c4">LayerSupportBase</a>.</p>
2933
2934<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00708">708</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2935
2936<p class="reference">References <a class="el" href="_tensor_8hpp_source.xhtml#l00095">TensorInfo::GetDataType()</a>, and <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>.</p>
2937<div class="fragment"><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160;{</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">armnn::IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">return</span> IsSupportedForDataTypeNeon(reasonIfUnsupported,</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; input.GetDataType(),</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; &amp;TrueFunc&lt;&gt;,</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; &amp;TrueFunc&lt;&gt;);</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160;}</div><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>
2938</div><!-- fragment -->
2939</div>
2940</div>
2941<a id="aa746e752ce8874669ea549f8e50896da"></a>
2942<h2 class="memtitle"><span class="permalink"><a href="#aa746e752ce8874669ea549f8e50896da">&#9670;&nbsp;</a></span>IsSplitterSupported() <span class="overload">[2/2]</span></h2>
2943
2944<div class="memitem">
2945<div class="memproto">
2946<table class="mlabels">
2947 <tr>
2948 <td class="mlabels-left">
2949 <table class="memname">
2950 <tr>
2951 <td class="memname">bool IsSplitterSupported </td>
2952 <td>(</td>
2953 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
2954 <td class="paramname"><em>input</em>, </td>
2955 </tr>
2956 <tr>
2957 <td class="paramkey"></td>
2958 <td></td>
2959 <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>
2960 <td class="paramname"><em>outputs</em>, </td>
2961 </tr>
2962 <tr>
2963 <td class="paramkey"></td>
2964 <td></td>
2965 <td class="paramtype">const <a class="el" href="structarmnn_1_1_views_descriptor.xhtml">ViewsDescriptor</a> &amp;&#160;</td>
2966 <td class="paramname"><em>descriptor</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#aa746e752ce8874669ea549f8e50896da">LayerSupportBase</a>.</p>
2988
2989<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00719">719</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
2990
2991<p class="reference">References <a class="el" href="_arm_compute_utils_8hpp_source.xhtml#l00155">armnn::ComputeSplitAxis()</a>, <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, <a class="el" href="_descriptors_8cpp_source.xhtml#l00292">ViewsDescriptor::GetNumDimensions()</a>, <a class="el" href="_tensor_8hpp_source.xhtml#l00088">TensorInfo::GetShape()</a>, <a class="el" href="_ignore_unused_8hpp_source.xhtml#l00014">armnn::IgnoreUnused()</a>, <a class="el" href="_tensor_8cpp_source.xhtml#l00218">TensorInfo::IsTypeSpaceMatch()</a>, <a class="el" href="_neon_splitter_workload_8cpp_source.xhtml#l00031">armnn::NeonSplitterWorkloadValidate()</a>, and <a class="el" href="_layer_support_common_8hpp_source.xhtml#l00017">armnn::SetValueChecked()</a>.</p>
2992<div class="fragment"><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;<span class="preprocessor">#if defined(ARMCOMPUTENEON_ENABLED)</span></div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="comment">// Split along the last dimension, cannot use sub-tensors</span></div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <span class="comment">// as width and height of the sub-tensors do not match</span></div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="comment">// the width and height of the parent tensor</span></div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="comment">// in case of input with more than 2D.</span></div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; std::set&lt;unsigned int&gt; splitAxis = <a class="code" href="namespacearmnn.xhtml#a8cbabc875597b3bed0ccdc0adb289fde">ComputeSplitAxis</a>(descriptor, input.GetShape());</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="keywordflow">if</span> (descriptor.GetNumDimensions() &gt; 2 &amp;&amp; splitAxis.size() == 1 &amp;&amp;</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; *splitAxis.begin() == descriptor.GetNumDimensions() - 1 )</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; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#aab5ea316b3decb05430323d847e3a773">NeonSplitterWorkloadValidate</a>,</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; input,</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; outputs,</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; *splitAxis.begin());</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; }</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <a class="code" href="namespacearmnn.xhtml#a44affeeb090c3c6a3062830562672e84">IgnoreUnused</a>(descriptor);</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> output : outputs)</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; {</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="keywordflow">if</span> (!input.IsTypeSpaceMatch(output)) <span class="comment">// Cannot use sub-tensors if the types are not same space</span></div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; {</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <a class="code" href="namespacearmnn.xhtml#a13c7d751e4d37f65a6d40c3c6e50d2b8">SetValueChecked</a>(reasonIfUnsupported, <span class="stringliteral">&quot;Neon Splitter: Types and quantization parameters must match.&quot;</span>);</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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; }</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_aab5ea316b3decb05430323d847e3a773"><div class="ttname"><a href="namespacearmnn.xhtml#aab5ea316b3decb05430323d847e3a773">armnn::NeonSplitterWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonSplitterWorkloadValidate(const TensorInfo &amp;input, const std::vector&lt; std::reference_wrapper&lt; TensorInfo &gt;&gt; &amp;outputs, unsigned int splitAxis)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_splitter_workload_8cpp_source.xhtml#l00031">NeonSplitterWorkload.cpp:31</a></div></div>
2993<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>
2994<div class="ttc" id="namespacearmnn_xhtml_a8cbabc875597b3bed0ccdc0adb289fde"><div class="ttname"><a href="namespacearmnn.xhtml#a8cbabc875597b3bed0ccdc0adb289fde">armnn::ComputeSplitAxis</a></div><div class="ttdeci">std::set&lt; unsigned int &gt; ComputeSplitAxis(const armnn::SplitterDescriptor &amp;desc, const TensorShape &amp;input)</div><div class="ttdef"><b>Definition:</b> <a href="_arm_compute_utils_8hpp_source.xhtml#l00155">ArmComputeUtils.hpp:155</a></div></div>
2995<div class="ttc" id="namespacearmnn_xhtml_a13c7d751e4d37f65a6d40c3c6e50d2b8"><div class="ttname"><a href="namespacearmnn.xhtml#a13c7d751e4d37f65a6d40c3c6e50d2b8">armnn::SetValueChecked</a></div><div class="ttdeci">void SetValueChecked(Optional&lt; T &amp;&gt; optionalRef, V &amp;&amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="_layer_support_common_8hpp_source.xhtml#l00017">LayerSupportCommon.hpp:17</a></div></div>
2996<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
2997</div><!-- fragment -->
2998</div>
2999</div>
3000<a id="ab4609f1baf5fcd295951f3c8abdffd90"></a>
3001<h2 class="memtitle"><span class="permalink"><a href="#ab4609f1baf5fcd295951f3c8abdffd90">&#9670;&nbsp;</a></span>IsStackSupported()</h2>
3002
3003<div class="memitem">
3004<div class="memproto">
3005<table class="mlabels">
3006 <tr>
3007 <td class="mlabels-left">
3008 <table class="memname">
3009 <tr>
3010 <td class="memname">bool IsStackSupported </td>
3011 <td>(</td>
3012 <td class="paramtype">const std::vector&lt; const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> *&gt; &amp;&#160;</td>
3013 <td class="paramname"><em>inputs</em>, </td>
3014 </tr>
3015 <tr>
3016 <td class="paramkey"></td>
3017 <td></td>
3018 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3019 <td class="paramname"><em>output</em>, </td>
3020 </tr>
3021 <tr>
3022 <td class="paramkey"></td>
3023 <td></td>
3024 <td class="paramtype">const <a class="el" href="structarmnn_1_1_stack_descriptor.xhtml">StackDescriptor</a> &amp;&#160;</td>
3025 <td class="paramname"><em>descriptor</em>, </td>
3026 </tr>
3027 <tr>
3028 <td class="paramkey"></td>
3029 <td></td>
3030 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3031 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3032 </tr>
3033 <tr>
3034 <td></td>
3035 <td>)</td>
3036 <td></td><td> const</td>
3037 </tr>
3038 </table>
3039 </td>
3040 <td class="mlabels-right">
3041<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3042 </tr>
3043</table>
3044</div><div class="memdoc">
3045
3046<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#ab4609f1baf5fcd295951f3c8abdffd90">LayerSupportBase</a>.</p>
3047
3048<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00752">752</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
3049
3050<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_stack_workload_8cpp_source.xhtml#l00028">armnn::NeonStackWorkloadValidate()</a>.</p>
3051<div class="fragment"><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; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a65c83c74bdbd66cdd547d331998952eb">NeonStackWorkloadValidate</a>,</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; inputs,</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; output,</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; descriptor);</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a65c83c74bdbd66cdd547d331998952eb"><div class="ttname"><a href="namespacearmnn.xhtml#a65c83c74bdbd66cdd547d331998952eb">armnn::NeonStackWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonStackWorkloadValidate(const std::vector&lt; const TensorInfo *&gt; &amp;inputs, const TensorInfo &amp;output, const StackDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_stack_workload_8cpp_source.xhtml#l00028">NeonStackWorkload.cpp:28</a></div></div>
3052<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
3053</div><!-- fragment -->
3054</div>
3055</div>
3056<a id="ac054cb25099005eac854afb1511340f0"></a>
3057<h2 class="memtitle"><span class="permalink"><a href="#ac054cb25099005eac854afb1511340f0">&#9670;&nbsp;</a></span>IsStridedSliceSupported()</h2>
3058
3059<div class="memitem">
3060<div class="memproto">
3061<table class="mlabels">
3062 <tr>
3063 <td class="mlabels-left">
3064 <table class="memname">
3065 <tr>
3066 <td class="memname">bool IsStridedSliceSupported </td>
3067 <td>(</td>
3068 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3069 <td class="paramname"><em>input</em>, </td>
3070 </tr>
3071 <tr>
3072 <td class="paramkey"></td>
3073 <td></td>
3074 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3075 <td class="paramname"><em>output</em>, </td>
3076 </tr>
3077 <tr>
3078 <td class="paramkey"></td>
3079 <td></td>
3080 <td class="paramtype">const <a class="el" href="structarmnn_1_1_strided_slice_descriptor.xhtml">StridedSliceDescriptor</a> &amp;&#160;</td>
3081 <td class="paramname"><em>descriptor</em>, </td>
3082 </tr>
3083 <tr>
3084 <td class="paramkey"></td>
3085 <td></td>
3086 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3087 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3088 </tr>
3089 <tr>
3090 <td></td>
3091 <td>)</td>
3092 <td></td><td> const</td>
3093 </tr>
3094 </table>
3095 </td>
3096 <td class="mlabels-right">
3097<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3098 </tr>
3099</table>
3100</div><div class="memdoc">
3101
3102<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#ac054cb25099005eac854afb1511340f0">LayerSupportBase</a>.</p>
3103
3104<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00764">764</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
3105
3106<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_strided_slice_workload_8cpp_source.xhtml#l00017">armnn::NeonStridedSliceWorkloadValidate()</a>.</p>
3107<div class="fragment"><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;{</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#ac71d08bf1257807c112b4d019802acc3">NeonStridedSliceWorkloadValidate</a>,</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; input,</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; output,</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; descriptor);</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_ac71d08bf1257807c112b4d019802acc3"><div class="ttname"><a href="namespacearmnn.xhtml#ac71d08bf1257807c112b4d019802acc3">armnn::NeonStridedSliceWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonStridedSliceWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const StridedSliceDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_strided_slice_workload_8cpp_source.xhtml#l00017">NeonStridedSliceWorkload.cpp:17</a></div></div>
3108<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
3109</div><!-- fragment -->
3110</div>
3111</div>
3112<a id="af6c947e4d4b25bc49d92d18d4ff26736"></a>
3113<h2 class="memtitle"><span class="permalink"><a href="#af6c947e4d4b25bc49d92d18d4ff26736">&#9670;&nbsp;</a></span>IsSubtractionSupported()</h2>
3114
3115<div class="memitem">
3116<div class="memproto">
3117<table class="mlabels">
3118 <tr>
3119 <td class="mlabels-left">
3120 <table class="memname">
3121 <tr>
3122 <td class="memname">bool IsSubtractionSupported </td>
3123 <td>(</td>
3124 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3125 <td class="paramname"><em>input0</em>, </td>
3126 </tr>
3127 <tr>
3128 <td class="paramkey"></td>
3129 <td></td>
3130 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3131 <td class="paramname"><em>input1</em>, </td>
3132 </tr>
3133 <tr>
3134 <td class="paramkey"></td>
3135 <td></td>
3136 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3137 <td class="paramname"><em>output</em>, </td>
3138 </tr>
3139 <tr>
3140 <td class="paramkey"></td>
3141 <td></td>
3142 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3143 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3144 </tr>
3145 <tr>
3146 <td></td>
3147 <td>)</td>
3148 <td></td><td> const</td>
3149 </tr>
3150 </table>
3151 </td>
3152 <td class="mlabels-right">
3153<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3154 </tr>
3155</table>
3156</div><div class="memdoc">
3157
3158<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#af6c947e4d4b25bc49d92d18d4ff26736">LayerSupportBase</a>.</p>
3159
3160<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00776">776</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
3161
3162<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_subtraction_workload_8cpp_source.xhtml#l00017">armnn::NeonSubtractionWorkloadValidate()</a>.</p>
3163<div class="fragment"><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;{</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a73c15f02c46f64c1adf0fafb4c7c2cac">NeonSubtractionWorkloadValidate</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; input0,</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; input1,</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; output);</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a73c15f02c46f64c1adf0fafb4c7c2cac"><div class="ttname"><a href="namespacearmnn.xhtml#a73c15f02c46f64c1adf0fafb4c7c2cac">armnn::NeonSubtractionWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonSubtractionWorkloadValidate(const TensorInfo &amp;input0, const TensorInfo &amp;input1, const TensorInfo &amp;output)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_subtraction_workload_8cpp_source.xhtml#l00017">NeonSubtractionWorkload.cpp:17</a></div></div>
3164<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
3165</div><!-- fragment -->
3166</div>
3167</div>
3168<a id="a0c69484f19ed650ad48b716719114e51"></a>
3169<h2 class="memtitle"><span class="permalink"><a href="#a0c69484f19ed650ad48b716719114e51">&#9670;&nbsp;</a></span>IsTransposeConvolution2dSupported()</h2>
3170
3171<div class="memitem">
3172<div class="memproto">
3173<table class="mlabels">
3174 <tr>
3175 <td class="mlabels-left">
3176 <table class="memname">
3177 <tr>
3178 <td class="memname">bool IsTransposeConvolution2dSupported </td>
3179 <td>(</td>
3180 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3181 <td class="paramname"><em>input</em>, </td>
3182 </tr>
3183 <tr>
3184 <td class="paramkey"></td>
3185 <td></td>
3186 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3187 <td class="paramname"><em>output</em>, </td>
3188 </tr>
3189 <tr>
3190 <td class="paramkey"></td>
3191 <td></td>
3192 <td class="paramtype">const <a class="el" href="structarmnn_1_1_transpose_convolution2d_descriptor.xhtml">TransposeConvolution2dDescriptor</a> &amp;&#160;</td>
3193 <td class="paramname"><em>descriptor</em>, </td>
3194 </tr>
3195 <tr>
3196 <td class="paramkey"></td>
3197 <td></td>
3198 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3199 <td class="paramname"><em>weights</em>, </td>
3200 </tr>
3201 <tr>
3202 <td class="paramkey"></td>
3203 <td></td>
3204 <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>
3205 <td class="paramname"><em>biases</em>, </td>
3206 </tr>
3207 <tr>
3208 <td class="paramkey"></td>
3209 <td></td>
3210 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3211 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3212 </tr>
3213 <tr>
3214 <td></td>
3215 <td>)</td>
3216 <td></td><td> const</td>
3217 </tr>
3218 </table>
3219 </td>
3220 <td class="mlabels-right">
3221<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3222 </tr>
3223</table>
3224</div><div class="memdoc">
3225
3226<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a0c69484f19ed650ad48b716719114e51">LayerSupportBase</a>.</p>
3227
3228<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00788">788</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
3229
3230<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_transpose_convolution2d_workload_8cpp_source.xhtml#l00026">armnn::NeonTransposeConvolution2dWorkloadValidate()</a>.</p>
3231<div class="fragment"><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;{</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#abc73c3c9a09f91c22c64d7c166e9be4d">NeonTransposeConvolution2dWorkloadValidate</a>,</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; reasonIfUnsupported,</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; input,</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; output,</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; descriptor,</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; weights,</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; biases);</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_abc73c3c9a09f91c22c64d7c166e9be4d"><div class="ttname"><a href="namespacearmnn.xhtml#abc73c3c9a09f91c22c64d7c166e9be4d">armnn::NeonTransposeConvolution2dWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonTransposeConvolution2dWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const TransposeConvolution2dDescriptor &amp;descriptor, const TensorInfo &amp;weights, const Optional&lt; TensorInfo &gt; &amp;biases)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_transpose_convolution2d_workload_8cpp_source.xhtml#l00026">NeonTransposeConvolution2dWorkload.cpp:26</a></div></div>
3232<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
3233</div><!-- fragment -->
3234</div>
3235</div>
3236<a id="a0189645f33641b280877a1b2f6ba9fee"></a>
3237<h2 class="memtitle"><span class="permalink"><a href="#a0189645f33641b280877a1b2f6ba9fee">&#9670;&nbsp;</a></span>IsTransposeSupported()</h2>
3238
3239<div class="memitem">
3240<div class="memproto">
3241<table class="mlabels">
3242 <tr>
3243 <td class="mlabels-left">
3244 <table class="memname">
3245 <tr>
3246 <td class="memname">bool IsTransposeSupported </td>
3247 <td>(</td>
3248 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3249 <td class="paramname"><em>input</em>, </td>
3250 </tr>
3251 <tr>
3252 <td class="paramkey"></td>
3253 <td></td>
3254 <td class="paramtype">const <a class="el" href="classarmnn_1_1_tensor_info.xhtml">TensorInfo</a> &amp;&#160;</td>
3255 <td class="paramname"><em>output</em>, </td>
3256 </tr>
3257 <tr>
3258 <td class="paramkey"></td>
3259 <td></td>
3260 <td class="paramtype">const <a class="el" href="structarmnn_1_1_transpose_descriptor.xhtml">TransposeDescriptor</a> &amp;&#160;</td>
3261 <td class="paramname"><em>descriptor</em>, </td>
3262 </tr>
3263 <tr>
3264 <td class="paramkey"></td>
3265 <td></td>
3266 <td class="paramtype"><a class="el" href="classarmnn_1_1_optional.xhtml">Optional</a>&lt; std::string &amp;&gt;&#160;</td>
3267 <td class="paramname"><em>reasonIfUnsupported</em> = <code><a class="el" href="structarmnn_1_1_empty_optional.xhtml">EmptyOptional</a>()</code>&#160;</td>
3268 </tr>
3269 <tr>
3270 <td></td>
3271 <td>)</td>
3272 <td></td><td> const</td>
3273 </tr>
3274 </table>
3275 </td>
3276 <td class="mlabels-right">
3277<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
3278 </tr>
3279</table>
3280</div><div class="memdoc">
3281
3282<p>Reimplemented from <a class="el" href="classarmnn_1_1_layer_support_base.xhtml#a0189645f33641b280877a1b2f6ba9fee">LayerSupportBase</a>.</p>
3283
3284<p class="definition">Definition at line <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00804">804</a> of file <a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a>.</p>
3285
3286<p class="reference">References <a class="el" href="_neon_layer_support_8cpp_source.xhtml#l00113">FORWARD_WORKLOAD_VALIDATE_FUNC</a>, and <a class="el" href="_neon_transpose_workload_8cpp_source.xhtml#l00015">armnn::NeonTransposeWorkloadValidate()</a>.</p>
3287<div class="fragment"><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;{</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <a class="code" href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a>(<a class="code" href="namespacearmnn.xhtml#a2b8555526752015115fa7fa00d88542b">NeonTransposeWorkloadValidate</a>, reasonIfUnsupported, input, output, descriptor);</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a2b8555526752015115fa7fa00d88542b"><div class="ttname"><a href="namespacearmnn.xhtml#a2b8555526752015115fa7fa00d88542b">armnn::NeonTransposeWorkloadValidate</a></div><div class="ttdeci">arm_compute::Status NeonTransposeWorkloadValidate(const TensorInfo &amp;input, const TensorInfo &amp;output, const TransposeDescriptor &amp;descriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_transpose_workload_8cpp_source.xhtml#l00015">NeonTransposeWorkload.cpp:15</a></div></div>
3288<div class="ttc" id="_neon_layer_support_8cpp_xhtml_af0383f6bb43d6d5df6f3265367b6ebf9"><div class="ttname"><a href="_neon_layer_support_8cpp.xhtml#af0383f6bb43d6d5df6f3265367b6ebf9">FORWARD_WORKLOAD_VALIDATE_FUNC</a></div><div class="ttdeci">#define FORWARD_WORKLOAD_VALIDATE_FUNC(func, reasonIfUnsupported,...)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_layer_support_8cpp_source.xhtml#l00113">NeonLayerSupport.cpp:113</a></div></div>
3289</div><!-- fragment -->
3290</div>
3291</div>
3292<hr/>The documentation for this class was generated from the following files:<ul>
3293<li>src/backends/neon/<a class="el" href="_neon_layer_support_8hpp_source.xhtml">NeonLayerSupport.hpp</a></li>
3294<li>src/backends/neon/<a class="el" href="_neon_layer_support_8cpp_source.xhtml">NeonLayerSupport.cpp</a></li>
3295</ul>
3296</div><!-- contents -->
3297</div><!-- doc-content -->
3298<!-- start footer part -->
3299<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
3300 <ul>
3301 <li class="navelem"><a class="el" href="namespacearmnn.xhtml">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_neon_layer_support.xhtml">NeonLayerSupport</a></li>
3302 <li class="footer">Generated on Fri Mar 13 2020 16:09:19 for ArmNN by
3303 <a href="http://www.doxygen.org/index.html">
3304 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
3305 </ul>
3306</div>
3307</body>
3308</html>