<!-- HTML header for doxygen 1.8.15-->
<!-- Remember to use version doxygen 1.8.15 +-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: arm_compute/core/NEON/wrapper/intrinsics/getlane.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <img alt="Compute Library" src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png" style="max-width: 100%;margin-top: 15px;margin-left: 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">19.08</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('getlane_8h.xhtml','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">getlane.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;arm_neon.h&gt;</code><br />
</div>
<p><a href="getlane_8h_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacearm__compute"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></td></tr>
<tr class="memdesc:namespacearm__compute"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copyright (c) 2017-2018 ARM Limited. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacearm__compute_1_1wrapper"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml">arm_compute::wrapper</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a8c1f71cee67d8f261738daec48f791b3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="getlane_8h.xhtml#a8c1f71cee67d8f261738daec48f791b3">VGETLANE_IMPL_8</a>(stype,  vtype,  postfix)</td></tr>
<tr class="separator:a8c1f71cee67d8f261738daec48f791b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab21355519afdee817ec3095881a40da4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="getlane_8h.xhtml#ab21355519afdee817ec3095881a40da4">VGETLANE_IMPL_4</a>(stype,  vtype,  postfix)</td></tr>
<tr class="separator:ab21355519afdee817ec3095881a40da4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a613f369eab3c81d4644ec91a9e0e16db"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="getlane_8h.xhtml#a613f369eab3c81d4644ec91a9e0e16db">VGETLANE_IMPL_2</a>(stype,  vtype,  postfix)</td></tr>
<tr class="separator:a613f369eab3c81d4644ec91a9e0e16db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37206d490f1251da106a185eab356881"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="getlane_8h.xhtml#a37206d490f1251da106a185eab356881">VGETQLANE_IMPL_16</a>(stype,  vtype,  postfix)</td></tr>
<tr class="separator:a37206d490f1251da106a185eab356881"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae68e7caec08496db4a3590e1aed6f606"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="getlane_8h.xhtml#ae68e7caec08496db4a3590e1aed6f606">VGETQLANE_IMPL_8</a>(stype,  vtype,  postfix)</td></tr>
<tr class="separator:ae68e7caec08496db4a3590e1aed6f606"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac99257d17af60fc10fea00c4c6b21755"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="getlane_8h.xhtml#ac99257d17af60fc10fea00c4c6b21755">VGETQLANE_IMPL_4</a>(stype,  vtype,  postfix)</td></tr>
<tr class="separator:ac99257d17af60fc10fea00c4c6b21755"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aa16ace001ab8287faa46d6962f369219"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml#aa16ace001ab8287faa46d6962f369219">vgetlane</a> (const uint8x8_t vector, const unsigned int lane)</td></tr>
<tr class="separator:aa16ace001ab8287faa46d6962f369219"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58856d5e33204b7d362cea988ba3f608"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml#a58856d5e33204b7d362cea988ba3f608">vgetlane</a> (const int8x8_t vector, const unsigned int lane)</td></tr>
<tr class="separator:a58856d5e33204b7d362cea988ba3f608"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6a155bca7827cfe94fd04a0d3fa0f36"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml#ad6a155bca7827cfe94fd04a0d3fa0f36">vgetlane</a> (const uint16x4_t vector, const unsigned int lane)</td></tr>
<tr class="separator:ad6a155bca7827cfe94fd04a0d3fa0f36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58f917e11f37590fcfa3391e1e1e06ee"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml#a58f917e11f37590fcfa3391e1e1e06ee">vgetlane</a> (const int16x4_t vector, const unsigned int lane)</td></tr>
<tr class="separator:a58f917e11f37590fcfa3391e1e1e06ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9f16a1518f6a2a4bad0532bf6080a1c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml#ab9f16a1518f6a2a4bad0532bf6080a1c">vgetlane</a> (const uint32x2_t vector, const unsigned int lane)</td></tr>
<tr class="separator:ab9f16a1518f6a2a4bad0532bf6080a1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a948fe39abb6ce89ffb87de8d332c87aa"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml#a948fe39abb6ce89ffb87de8d332c87aa">vgetlane</a> (const int32x2_t vector, const unsigned int lane)</td></tr>
<tr class="separator:a948fe39abb6ce89ffb87de8d332c87aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f43a3bdf084f33d306eb6e050a682be"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml#a3f43a3bdf084f33d306eb6e050a682be">vgetlane</a> (const float32x2_t vector, const unsigned int lane)</td></tr>
<tr class="separator:a3f43a3bdf084f33d306eb6e050a682be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affd20ad81488509d2c826f989d4e69b8"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml#affd20ad81488509d2c826f989d4e69b8">vgetlane</a> (const uint8x16_t vector, const unsigned int lane)</td></tr>
<tr class="separator:affd20ad81488509d2c826f989d4e69b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bd3e6cd567d645ad6a1788764ccaa9d"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml#a0bd3e6cd567d645ad6a1788764ccaa9d">vgetlane</a> (const int8x16_t vector, const unsigned int lane)</td></tr>
<tr class="separator:a0bd3e6cd567d645ad6a1788764ccaa9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a865f7d46d623ca9f2a56bc69c25fb319"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml#a865f7d46d623ca9f2a56bc69c25fb319">vgetlane</a> (const uint16x8_t vector, const unsigned int lane)</td></tr>
<tr class="separator:a865f7d46d623ca9f2a56bc69c25fb319"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5abca006a0d9d71f42c12425c6cb9e9b"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml#a5abca006a0d9d71f42c12425c6cb9e9b">vgetlane</a> (const int16x8_t vector, const unsigned int lane)</td></tr>
<tr class="separator:a5abca006a0d9d71f42c12425c6cb9e9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a903fd5324e155c0f864cb244a3eff50d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml#a903fd5324e155c0f864cb244a3eff50d">vgetlane</a> (const uint32x4_t vector, const unsigned int lane)</td></tr>
<tr class="separator:a903fd5324e155c0f864cb244a3eff50d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f67032361df236ca59f9bc806589971"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml#a8f67032361df236ca59f9bc806589971">vgetlane</a> (const int32x4_t vector, const unsigned int lane)</td></tr>
<tr class="separator:a8f67032361df236ca59f9bc806589971"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66b37188df7f842a57621e343dfe1129"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1wrapper.xhtml#a66b37188df7f842a57621e343dfe1129">vgetlane</a> (const float32x4_t vector, const unsigned int lane)</td></tr>
<tr class="separator:a66b37188df7f842a57621e343dfe1129"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a613f369eab3c81d4644ec91a9e0e16db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a613f369eab3c81d4644ec91a9e0e16db">&#9670;&nbsp;</a></span>VGETLANE_IMPL_2</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VGETLANE_IMPL_2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">stype, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">vtype, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">postfix&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> stype <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a66b37188df7f842a57621e343dfe1129">vgetlane</a>(<span class="keyword">const</span> vtype vector, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> lane) \</div><div class="line">    {                                                                  \</div><div class="line">        switch(lane)                                                   \</div><div class="line">        {                                                              \</div><div class="line">            case 0:                                                    \</div><div class="line">                return vget_lane_##postfix(vector, 0);                 \</div><div class="line">            case 1:                                                    \</div><div class="line">                return vget_lane_##postfix(vector, 1);                 \</div><div class="line">            default:                                                   \</div><div class="line">                ARM_COMPUTE_ERROR(<span class="stringliteral">&quot;Invalid lane&quot;</span>);                     \</div><div class="line">        }                                                              \</div><div class="line">    }</div><div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_a66b37188df7f842a57621e343dfe1129"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#a66b37188df7f842a57621e343dfe1129">arm_compute::wrapper::vgetlane</a></div><div class="ttdeci">float vgetlane(const float32x4_t vector, const unsigned int lane)</div><div class="ttdef"><b>Definition:</b> <a href="getlane_8h_source.xhtml#l00194">getlane.h:194</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="getlane_8h_source.xhtml#l00077">77</a> of file <a class="el" href="getlane_8h_source.xhtml">getlane.h</a>.</p>

</div>
</div>
<a id="ab21355519afdee817ec3095881a40da4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab21355519afdee817ec3095881a40da4">&#9670;&nbsp;</a></span>VGETLANE_IMPL_4</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VGETLANE_IMPL_4</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">stype, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">vtype, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">postfix&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> stype <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a66b37188df7f842a57621e343dfe1129">vgetlane</a>(<span class="keyword">const</span> vtype vector, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> lane) \</div><div class="line">    {                                                                  \</div><div class="line">        switch(lane)                                                   \</div><div class="line">        {                                                              \</div><div class="line">            case 0:                                                    \</div><div class="line">                return vget_lane_##postfix(vector, 0);                 \</div><div class="line">            case 1:                                                    \</div><div class="line">                return vget_lane_##postfix(vector, 1);                 \</div><div class="line">            case 2:                                                    \</div><div class="line">                return vget_lane_##postfix(vector, 2);                 \</div><div class="line">            case 3:                                                    \</div><div class="line">                return vget_lane_##postfix(vector, 3);                 \</div><div class="line">            default:                                                   \</div><div class="line">                ARM_COMPUTE_ERROR(<span class="stringliteral">&quot;Invalid lane&quot;</span>);                     \</div><div class="line">        }                                                              \</div><div class="line">    }</div><div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_a66b37188df7f842a57621e343dfe1129"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#a66b37188df7f842a57621e343dfe1129">arm_compute::wrapper::vgetlane</a></div><div class="ttdeci">float vgetlane(const float32x4_t vector, const unsigned int lane)</div><div class="ttdef"><b>Definition:</b> <a href="getlane_8h_source.xhtml#l00194">getlane.h:194</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="getlane_8h_source.xhtml#l00059">59</a> of file <a class="el" href="getlane_8h_source.xhtml">getlane.h</a>.</p>

</div>
</div>
<a id="a8c1f71cee67d8f261738daec48f791b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c1f71cee67d8f261738daec48f791b3">&#9670;&nbsp;</a></span>VGETLANE_IMPL_8</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VGETLANE_IMPL_8</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">stype, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">vtype, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">postfix&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> stype <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a66b37188df7f842a57621e343dfe1129">vgetlane</a>(<span class="keyword">const</span> vtype vector, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> lane) \</div><div class="line">    {                                                                  \</div><div class="line">        switch(lane)                                                   \</div><div class="line">        {                                                              \</div><div class="line">            case 0:                                                    \</div><div class="line">                return vget_lane_##postfix(vector, 0);                 \</div><div class="line">            case 1:                                                    \</div><div class="line">                return vget_lane_##postfix(vector, 1);                 \</div><div class="line">            case 2:                                                    \</div><div class="line">                return vget_lane_##postfix(vector, 2);                 \</div><div class="line">            case 3:                                                    \</div><div class="line">                return vget_lane_##postfix(vector, 3);                 \</div><div class="line">            case 4:                                                    \</div><div class="line">                return vget_lane_##postfix(vector, 4);                 \</div><div class="line">            case 5:                                                    \</div><div class="line">                return vget_lane_##postfix(vector, 5);                 \</div><div class="line">            case 6:                                                    \</div><div class="line">                return vget_lane_##postfix(vector, 6);                 \</div><div class="line">            case 7:                                                    \</div><div class="line">                return vget_lane_##postfix(vector, 7);                 \</div><div class="line">            default:                                                   \</div><div class="line">                ARM_COMPUTE_ERROR(<span class="stringliteral">&quot;Invalid lane&quot;</span>);                     \</div><div class="line">        }                                                              \</div><div class="line">    }</div><div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_a66b37188df7f842a57621e343dfe1129"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#a66b37188df7f842a57621e343dfe1129">arm_compute::wrapper::vgetlane</a></div><div class="ttdeci">float vgetlane(const float32x4_t vector, const unsigned int lane)</div><div class="ttdef"><b>Definition:</b> <a href="getlane_8h_source.xhtml#l00194">getlane.h:194</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="getlane_8h_source.xhtml#l00033">33</a> of file <a class="el" href="getlane_8h_source.xhtml">getlane.h</a>.</p>

</div>
</div>
<a id="a37206d490f1251da106a185eab356881"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37206d490f1251da106a185eab356881">&#9670;&nbsp;</a></span>VGETQLANE_IMPL_16</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VGETQLANE_IMPL_16</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">stype, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">vtype, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">postfix&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="getlane_8h_source.xhtml#l00102">102</a> of file <a class="el" href="getlane_8h_source.xhtml">getlane.h</a>.</p>

</div>
</div>
<a id="ac99257d17af60fc10fea00c4c6b21755"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac99257d17af60fc10fea00c4c6b21755">&#9670;&nbsp;</a></span>VGETQLANE_IMPL_4</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VGETQLANE_IMPL_4</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">stype, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">vtype, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">postfix&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> stype <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a66b37188df7f842a57621e343dfe1129">vgetlane</a>(<span class="keyword">const</span> vtype vector, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> lane) \</div><div class="line">    {                                                                  \</div><div class="line">        switch(lane)                                                   \</div><div class="line">        {                                                              \</div><div class="line">            case 0:                                                    \</div><div class="line">                return vgetq_lane_##postfix(vector, 0);                \</div><div class="line">            case 1:                                                    \</div><div class="line">                return vgetq_lane_##postfix(vector, 1);                \</div><div class="line">            case 2:                                                    \</div><div class="line">                return vgetq_lane_##postfix(vector, 2);                \</div><div class="line">            case 3:                                                    \</div><div class="line">                return vgetq_lane_##postfix(vector, 3);                \</div><div class="line">            default:                                                   \</div><div class="line">                ARM_COMPUTE_ERROR(<span class="stringliteral">&quot;Invalid lane&quot;</span>);                     \</div><div class="line">        }                                                              \</div><div class="line">    }</div><div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_a66b37188df7f842a57621e343dfe1129"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#a66b37188df7f842a57621e343dfe1129">arm_compute::wrapper::vgetlane</a></div><div class="ttdeci">float vgetlane(const float32x4_t vector, const unsigned int lane)</div><div class="ttdef"><b>Definition:</b> <a href="getlane_8h_source.xhtml#l00194">getlane.h:194</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="getlane_8h_source.xhtml#l00170">170</a> of file <a class="el" href="getlane_8h_source.xhtml">getlane.h</a>.</p>

</div>
</div>
<a id="ae68e7caec08496db4a3590e1aed6f606"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae68e7caec08496db4a3590e1aed6f606">&#9670;&nbsp;</a></span>VGETQLANE_IMPL_8</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VGETQLANE_IMPL_8</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">stype, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">vtype, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">postfix&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">inline</span> stype <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a66b37188df7f842a57621e343dfe1129">vgetlane</a>(<span class="keyword">const</span> vtype vector, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> lane) \</div><div class="line">    {                                                                  \</div><div class="line">        switch(lane)                                                   \</div><div class="line">        {                                                              \</div><div class="line">            case 0:                                                    \</div><div class="line">                return vgetq_lane_##postfix(vector, 0);                \</div><div class="line">            case 1:                                                    \</div><div class="line">                return vgetq_lane_##postfix(vector, 1);                \</div><div class="line">            case 2:                                                    \</div><div class="line">                return vgetq_lane_##postfix(vector, 2);                \</div><div class="line">            case 3:                                                    \</div><div class="line">                return vgetq_lane_##postfix(vector, 3);                \</div><div class="line">            case 4:                                                    \</div><div class="line">                return vgetq_lane_##postfix(vector, 4);                \</div><div class="line">            case 5:                                                    \</div><div class="line">                return vgetq_lane_##postfix(vector, 5);                \</div><div class="line">            case 6:                                                    \</div><div class="line">                return vgetq_lane_##postfix(vector, 6);                \</div><div class="line">            case 7:                                                    \</div><div class="line">                return vgetq_lane_##postfix(vector, 7);                \</div><div class="line">            default:                                                   \</div><div class="line">                ARM_COMPUTE_ERROR(<span class="stringliteral">&quot;Invalid lane&quot;</span>);                     \</div><div class="line">        }                                                              \</div><div class="line">    }</div><div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_a66b37188df7f842a57621e343dfe1129"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#a66b37188df7f842a57621e343dfe1129">arm_compute::wrapper::vgetlane</a></div><div class="ttdeci">float vgetlane(const float32x4_t vector, const unsigned int lane)</div><div class="ttdef"><b>Definition:</b> <a href="getlane_8h_source.xhtml#l00194">getlane.h:194</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="getlane_8h_source.xhtml#l00144">144</a> of file <a class="el" href="getlane_8h_source.xhtml">getlane.h</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_214608ef36d61442cb2b0c1c4e9a7def.xhtml">arm_compute</a></li><li class="navelem"><a class="el" href="dir_1fb090f0c6070330bfaccc4236d3ca0d.xhtml">core</a></li><li class="navelem"><a class="el" href="dir_315f6cf1ec0b2df3ae747ff8286a19f5.xhtml">NEON</a></li><li class="navelem"><a class="el" href="dir_9eca3c725728e372597fcd0d17c1ea0f.xhtml">wrapper</a></li><li class="navelem"><a class="el" href="dir_36bd1941057d7130e210a25993eacc69.xhtml">intrinsics</a></li><li class="navelem"><a class="el" href="getlane_8h.xhtml">getlane.h</a></li>
    <li class="footer">Generated on Mon Sep 2 2019 11:47:29 for Compute Library by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
  </ul>
</div>
</body>
</html>
