intel-qs/docs/html/highperfkernels_8cpp.html

1296 lines
90 KiB
HTML

<!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.11"/>
<title>Intel qHiPSTER: qureg/highperfkernels.cpp 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="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/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.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;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Intel qHiPSTER
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_4ab131b591b993d07872bcc398a0ac1c.html">qureg</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">highperfkernels.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="highperfkernels_8hpp_source.html">highperfkernels.hpp</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for highperfkernels.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="highperfkernels_8cpp__incl.png" border="0" usemap="#qureg_2highperfkernels_8cpp" alt=""/></div>
<map name="qureg_2highperfkernels_8cpp" id="qureg_2highperfkernels_8cpp">
<area shape="rect" id="node2" href="highperfkernels_8hpp.html" title="highperfkernels.hpp" alt="" coords="1259,80,1393,107"/>
<area shape="rect" id="node3" href="qureg_8hpp.html" title="qureg.hpp" alt="" coords="1287,155,1365,181"/>
<area shape="rect" id="node4" href="permute_8hpp.html" title="permute.hpp" alt="" coords="1236,229,1331,256"/>
<area shape="rect" id="node5" href="utils_8hpp.html" title="util/utils.hpp" alt="" coords="1223,304,1315,331"/>
<area shape="rect" id="node6" href="mpi_8hpp.html" title="util/mpi.hpp" alt="" coords="1029,379,1119,405"/>
<area shape="rect" id="node23" href="conversion_8hpp.html" title="util/conversion.hpp" alt="" coords="947,304,1078,331"/>
<area shape="rect" id="node26" href="timer_8hpp.html" title="util/timer.hpp" alt="" coords="1012,229,1109,256"/>
<area shape="rect" id="node28" href="alignedallocator_8hpp.html" title="util/alignedallocator.hpp" alt="" coords="189,229,348,256"/>
<area shape="rect" id="node29" href="bitops_8hpp.html" title="util/bitops.hpp" alt="" coords="5,304,108,331"/>
<area shape="rect" id="node35" href="tinymatrix_8hpp.html" title="util/tinymatrix.hpp" alt="" coords="630,229,755,256"/>
<area shape="rect" id="node42" href="QbitRegisterMetric_8hpp.html" title="QbitRegisterMetric.hpp" alt="" coords="1508,229,1664,256"/>
<area shape="rect" id="node43" href="NoisyQureg_8hpp.html" title="NoisyQureg.hpp" alt="" coords="1688,229,1804,256"/>
<area shape="rect" id="node7" href="openmp__affinity__noomp_8hpp.html" title="openmp_affinity_noomp.hpp" alt="" coords="892,453,1077,480"/>
<area shape="rect" id="node8" href="openmp__affinity__v1_8hpp.html" title="openmp_affinity_v1.hpp" alt="" coords="905,528,1065,555"/>
</map>
</div>
</div>
<p><a href="highperfkernels_8cpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:acd968d157b4e3e190159d147ae2479b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#acd968d157b4e3e190159d147ae2479b8">Specialization</a>(MainLoop_)</td></tr>
<tr class="separator:acd968d157b4e3e190159d147ae2479b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1ab836291a12a078c0b378699e1de73"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#ad1ab836291a12a078c0b378699e1de73">SIMD</a></td></tr>
<tr class="separator:ad1ab836291a12a078c0b378699e1de73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac073b2bd663b45de06bbcb3521a45aee"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#ac073b2bd663b45de06bbcb3521a45aee">KeyLoop_TTTT</a>(simdpragma, from, to, indsht0, indsht1, state0, state1, t00, t01, t10, t11)</td></tr>
<tr class="separator:ac073b2bd663b45de06bbcb3521a45aee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af409a74f4a37036f11c820183c0d4be2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#af409a74f4a37036f11c820183c0d4be2">KeyLoop_T00T</a>(simdpragma, from, to, indsht0, indsht1, state0, state1, t00, t01, t10, t11)</td></tr>
<tr class="separator:af409a74f4a37036f11c820183c0d4be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab28ea0a10c91cab7141bc6a2c7e9e7d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#ab28ea0a10c91cab7141bc6a2c7e9e7d8">KeyLoop_0TT0</a>(simdpragma, from, to, indsht0, indsht1, state0, state1, t00, t01, t10, t11)</td></tr>
<tr class="separator:ab28ea0a10c91cab7141bc6a2c7e9e7d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42a059d49fb250657ee0132582568b9a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a42a059d49fb250657ee0132582568b9a">KeyLoop_000T</a>(simdpragma, from, to, indsht0, indsht1, state0, state1, t00, t01, t10, t11)</td></tr>
<tr class="separator:a42a059d49fb250657ee0132582568b9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ade78bf94e9deb033f98804a35734cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a6ade78bf94e9deb033f98804a35734cc">_Loop_SN_</a>(KeyLoop, t00, t01, t10, t11)</td></tr>
<tr class="separator:a6ade78bf94e9deb033f98804a35734cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a370f5b84db6e86cbd4472794f73af8c7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a370f5b84db6e86cbd4472794f73af8c7">_Loop_DN_</a>(KeyLoop, t00, t01, t10, t11)</td></tr>
<tr class="separator:a370f5b84db6e86cbd4472794f73af8c7"><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:aab67bc49786c7bfd41600c0d74efeb71"><td class="memTemplParams" colspan="2">template&lt;class Type &gt; </td></tr>
<tr class="memitem:aab67bc49786c7bfd41600c0d74efeb71"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#aab67bc49786c7bfd41600c0d74efeb71">__attribute__</a> ((noinline)) void Loop_SN(std</td></tr>
<tr class="separator:aab67bc49786c7bfd41600c0d74efeb71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d2eb9107ecd35464657c2842f4a4941"><td class="memTemplParams" colspan="2">template&lt;class Type &gt; </td></tr>
<tr class="memitem:a8d2eb9107ecd35464657c2842f4a4941"><td class="memTemplItemLeft" align="right" valign="top">template __attribute__((noinline)) void Loop_DN(std template __attribute__((noinline)) void Loop_DN(std&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a8d2eb9107ecd35464657c2842f4a4941">__attribute__</a> ((noinline)) void Loop_TN(<a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> *state</td></tr>
<tr class="separator:a8d2eb9107ecd35464657c2842f4a4941"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a721cd358aa5a70288d8c769357c5e80d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a721cd358aa5a70288d8c769357c5e80d">if</a> ((<a class="el" href="highperfkernels_8hpp.html#accf464e4de4f7cac7efe9ecc40dde4a4">c12</a>-<a class="el" href="highperfkernels_8hpp.html#a2bd20c6075319fe943898f1e25c35568">c11</a>)/<a class="el" href="highperfkernels_8hpp.html#a087af2d53244746330070d4dd2028d21">c13</a> &gt;=<a class="el" href="highperfkernels_8cpp.html#a66a588988a3bc62a9ba92966365696f2">nthreads</a>)</td></tr>
<tr class="separator:a721cd358aa5a70288d8c769357c5e80d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c5c1de356c65cc2bfca5046ecd71e6d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a3c5c1de356c65cc2bfca5046ecd71e6d">assert</a> (((<a class="el" href="highperfkernels_8hpp.html#ae6d6f41c70fe36f3b193c709418ee36b">c22</a>-<a class="el" href="highperfkernels_8hpp.html#a4a346f5763babc2633b82a8601839699">c21</a>)%<a class="el" href="highperfkernels_8hpp.html#a460055566c4f3c20d492e6dd8068afd7">c23</a>)==0)</td></tr>
<tr class="separator:a3c5c1de356c65cc2bfca5046ecd71e6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03dfd938e4a7749b279c73592837253b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a03dfd938e4a7749b279c73592837253b">if</a> (<a class="el" href="highperfkernels_8hpp.html#a8aff339d39df72f8df5c3934bf853052">timer</a>)</td></tr>
<tr class="separator:a03dfd938e4a7749b279c73592837253b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f38e4fe8c6dbd8373e443203cc0fa6b"><td class="memTemplParams" colspan="2">template&lt;typename Type &gt; </td></tr>
<tr class="memitem:a5f38e4fe8c6dbd8373e443203cc0fa6b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a5f38e4fe8c6dbd8373e443203cc0fa6b">ScaleState</a> (std::size_t start, std::size_t end, <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> *state, const <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &amp;s, <a class="el" href="classTimer.html">Timer</a> *<a class="el" href="highperfkernels_8hpp.html#a8aff339d39df72f8df5c3934bf853052">timer</a>)</td></tr>
<tr class="separator:a5f38e4fe8c6dbd8373e443203cc0fa6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6346d56363383c94f9d4be5f19f24f70"><td class="memItemLeft" align="right" valign="top">template void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a6346d56363383c94f9d4be5f19f24f70">ScaleState&lt; ComplexSP &gt;</a> (std::size_t start, std::size_t end, <a class="el" href="utils_8hpp.html#aef8f51dd9d5fbdef30a0fccd9eceeaad">ComplexSP</a> *state, const <a class="el" href="utils_8hpp.html#aef8f51dd9d5fbdef30a0fccd9eceeaad">ComplexSP</a> &amp;s, <a class="el" href="classTimer.html">Timer</a> *<a class="el" href="highperfkernels_8hpp.html#a8aff339d39df72f8df5c3934bf853052">timer</a>)</td></tr>
<tr class="separator:a6346d56363383c94f9d4be5f19f24f70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2513b0c094c6530db416f0b10984a31d"><td class="memItemLeft" align="right" valign="top">template void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a2513b0c094c6530db416f0b10984a31d">ScaleState&lt; ComplexDP &gt;</a> (std::size_t start, std::size_t end, <a class="el" href="utils_8hpp.html#a4c74584109a8b5cd204ca575784b51fa">ComplexDP</a> *state, const <a class="el" href="utils_8hpp.html#a4c74584109a8b5cd204ca575784b51fa">ComplexDP</a> &amp;s, <a class="el" href="classTimer.html">Timer</a> *<a class="el" href="highperfkernels_8hpp.html#a8aff339d39df72f8df5c3934bf853052">timer</a>)</td></tr>
<tr class="separator:a2513b0c094c6530db416f0b10984a31d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:acb0325d664f77caf759d5c5fbc5b5914"><td class="memItemLeft" align="right" valign="top">template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#acb0325d664f77caf759d5c5fbc5b5914">c11</a></td></tr>
<tr class="separator:acb0325d664f77caf759d5c5fbc5b5914"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa90f5a535998aef23a8967aae25d007d"><td class="memItemLeft" align="right" valign="top">template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std std::size_t std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#aa90f5a535998aef23a8967aae25d007d">c12</a></td></tr>
<tr class="separator:aa90f5a535998aef23a8967aae25d007d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2877643a65521b19a6fb0db41e040d6"><td class="memItemLeft" align="right" valign="top">template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#ae2877643a65521b19a6fb0db41e040d6">c13</a></td></tr>
<tr class="separator:ae2877643a65521b19a6fb0db41e040d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af02fa46e95ebfe82a0f91d55f61b0ce4"><td class="memItemLeft" align="right" valign="top">template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#af02fa46e95ebfe82a0f91d55f61b0ce4">c21</a></td></tr>
<tr class="separator:af02fa46e95ebfe82a0f91d55f61b0ce4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3b66f48a6cd5ce21ab15518f36b95eb"><td class="memItemLeft" align="right" valign="top">template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t std::size_t std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#ae3b66f48a6cd5ce21ab15518f36b95eb">c22</a></td></tr>
<tr class="separator:ae3b66f48a6cd5ce21ab15518f36b95eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af65699b5071f2f9f34e9a264d85be092"><td class="memItemLeft" align="right" valign="top">template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#af65699b5071f2f9f34e9a264d85be092">c23</a></td></tr>
<tr class="separator:af65699b5071f2f9f34e9a264d85be092"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5a00aba84bfefef32612c264d770a82"><td class="memItemLeft" align="right" valign="top">template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#ac5a00aba84bfefef32612c264d770a82">c31</a></td></tr>
<tr class="separator:ac5a00aba84bfefef32612c264d770a82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addd097e19af15e6807acd67210b76d16"><td class="memItemLeft" align="right" valign="top">template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#addd097e19af15e6807acd67210b76d16">c32</a></td></tr>
<tr class="separator:addd097e19af15e6807acd67210b76d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d97cc900bb4098cee368abe80a4a341"><td class="memItemLeft" align="right" valign="top">template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a4d97cc900bb4098cee368abe80a4a341">ind_shift</a></td></tr>
<tr class="separator:a4d97cc900bb4098cee368abe80a4a341"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55aace691be1a8a57eec700a41d42ade"><td class="memItemLeft" align="right" valign="top">template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t <a class="el" href="qureg_8hpp.html#a90e805eec5b19800f0df2ec75985bfc9">TM2x2</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt; const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a55aace691be1a8a57eec700a41d42ade">m</a></td></tr>
<tr class="separator:a55aace691be1a8a57eec700a41d42ade"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49b349aa14c546bf701f715c8692cdfd"><td class="memItemLeft" align="right" valign="top">template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t <a class="el" href="qureg_8hpp.html#a90e805eec5b19800f0df2ec75985bfc9">TM2x2</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt; const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a49b349aa14c546bf701f715c8692cdfd">specialize</a></td></tr>
<tr class="separator:a49b349aa14c546bf701f715c8692cdfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06635fb44da2492f955f6eb17deb9ee5"><td class="memItemLeft" align="right" valign="top">template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std template <a class="el" href="highperfkernels_8hpp.html#a9008b0438294a072ba91a62d98e25862">__attribute__</a>((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t <a class="el" href="qureg_8hpp.html#a90e805eec5b19800f0df2ec75985bfc9">TM2x2</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt; const bool <a class="el" href="classTimer.html">Timer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a06635fb44da2492f955f6eb17deb9ee5">timer</a></td></tr>
<tr class="separator:a06635fb44da2492f955f6eb17deb9ee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac2287de1a4cc9b7f0c81aef1ec676d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#aac2287de1a4cc9b7f0c81aef1ec676d2">m00</a> = <a class="el" href="highperfkernels_8hpp.html#acdb7c8de54a397c8b3bdf94b81c5ef5b">m</a>[0][0]</td></tr>
<tr class="separator:aac2287de1a4cc9b7f0c81aef1ec676d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedebef9a9d860f345c46042f0e9224b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#aedebef9a9d860f345c46042f0e9224b7">m01</a> = <a class="el" href="highperfkernels_8hpp.html#acdb7c8de54a397c8b3bdf94b81c5ef5b">m</a>[0][1]</td></tr>
<tr class="separator:aedebef9a9d860f345c46042f0e9224b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8f4818050757aaedd8067be8d1cdb49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#ac8f4818050757aaedd8067be8d1cdb49">m10</a> = <a class="el" href="highperfkernels_8hpp.html#acdb7c8de54a397c8b3bdf94b81c5ef5b">m</a>[1][0]</td></tr>
<tr class="separator:ac8f4818050757aaedd8067be8d1cdb49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a088831c73820a3a2b731e0db8baecc72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a088831c73820a3a2b731e0db8baecc72">m11</a> = <a class="el" href="highperfkernels_8hpp.html#acdb7c8de54a397c8b3bdf94b81c5ef5b">m</a>[1][1]</td></tr>
<tr class="separator:a088831c73820a3a2b731e0db8baecc72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66a588988a3bc62a9ba92966365696f2"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a66a588988a3bc62a9ba92966365696f2">nthreads</a> = glb_affinity.get_num_threads()</td></tr>
<tr class="separator:a66a588988a3bc62a9ba92966365696f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0544c3fe466e421738dae463968b70ba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="highperfkernels_8cpp.html#a0544c3fe466e421738dae463968b70ba">else</a></td></tr>
<tr class="separator:a0544c3fe466e421738dae463968b70ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a370f5b84db6e86cbd4472794f73af8c7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _Loop_DN_</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">KeyLoop, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t00, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t01, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t10, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t11&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00263">263</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a6ade78bf94e9deb033f98804a35734cc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _Loop_SN_</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">KeyLoop, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t00, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t01, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t10, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t11&#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">{\</div><div class="line"> _Pragma(<span class="stringliteral">&quot;omp parallel for&quot;</span>) \</div><div class="line"> KeyLoop(<a class="code" href="highperfkernels_8cpp.html#ad1ab836291a12a078c0b378699e1de73">SIMD</a>, start, end, indsht0, indsht1, state0, state1, t00, t01, t10, t11) \</div><div class="line">}</div><div class="ttc" id="highperfkernels_8cpp_html_ad1ab836291a12a078c0b378699e1de73"><div class="ttname"><a href="highperfkernels_8cpp.html#ad1ab836291a12a078c0b378699e1de73">SIMD</a></div><div class="ttdeci">#define SIMD</div><div class="ttdef"><b>Definition:</b> <a href="highperfkernels_8cpp_source.html#l00155">highperfkernels.cpp:155</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00201">201</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a42a059d49fb250657ee0132582568b9a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define KeyLoop_000T</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">simdpragma, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">from, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">to, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">indsht0, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">indsht1, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">state0, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">state1, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t00, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t01, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t10, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t11&#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">simdpragma \</div><div class="line"> _Pragma(<span class="stringliteral">&quot;vector aligned&quot;</span>) \</div><div class="line"> for (std::size_t ind0 = from; ind0 &lt; to; ind0++) { \</div><div class="line"> std::size_t i0 = ind0 + indsht0; \</div><div class="line"> std::size_t i1 = ind0 + indsht1; <a class="code" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">\</a></div><div class="line"><a class="code" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347"> Type</a> in1 = state1[i1]; \</div><div class="line"> state1[i1] = t11; \</div><div class="line"> }</div><div class="ttc" id="interface__api__memory_8cpp_html_a8a7796dc492015686a15b44dfa64e347"><div class="ttname"><a href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a></div><div class="ttdeci">ComplexDP Type</div><div class="ttdef"><b>Definition:</b> <a href="interface__api__memory_8cpp_source.html#l00025">interface_api_memory.cpp:25</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00190">190</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="ab28ea0a10c91cab7141bc6a2c7e9e7d8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define KeyLoop_0TT0</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">simdpragma, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">from, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">to, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">indsht0, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">indsht1, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">state0, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">state1, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t00, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t01, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t10, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t11&#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">simdpragma \</div><div class="line"> _Pragma(<span class="stringliteral">&quot;vector aligned&quot;</span>) \</div><div class="line"> for (std::size_t ind0 = from; ind0 &lt; to; ind0++) { \</div><div class="line"> std::size_t i0 = ind0 + indsht0; \</div><div class="line"> std::size_t i1 = ind0 + indsht1; <a class="code" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">\</a></div><div class="line"><a class="code" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347"> Type</a> in0 = state0[i0], in1 = state1[i1]; \</div><div class="line"> state0[i0] = t01; \</div><div class="line"> state1[i1] = t10; \</div><div class="line"> }</div><div class="ttc" id="interface__api__memory_8cpp_html_a8a7796dc492015686a15b44dfa64e347"><div class="ttname"><a href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a></div><div class="ttdeci">ComplexDP Type</div><div class="ttdef"><b>Definition:</b> <a href="interface__api__memory_8cpp_source.html#l00025">interface_api_memory.cpp:25</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00178">178</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="af409a74f4a37036f11c820183c0d4be2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define KeyLoop_T00T</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">simdpragma, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">from, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">to, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">indsht0, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">indsht1, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">state0, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">state1, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t00, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t01, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t10, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t11&#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">simdpragma \</div><div class="line"> _Pragma(<span class="stringliteral">&quot;vector aligned&quot;</span>) \</div><div class="line"> for (std::size_t ind0 = from; ind0 &lt; to; ind0++) { \</div><div class="line"> std::size_t i0 = ind0 + indsht0; \</div><div class="line"> std::size_t i1 = ind0 + indsht1; <a class="code" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">\</a></div><div class="line"><a class="code" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347"> Type</a> in0 = state0[i0], in1 = state1[i1]; \</div><div class="line"> state0[i0] = t00; \</div><div class="line"> state1[i1] = t11; \</div><div class="line"> }</div><div class="ttc" id="interface__api__memory_8cpp_html_a8a7796dc492015686a15b44dfa64e347"><div class="ttname"><a href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a></div><div class="ttdeci">ComplexDP Type</div><div class="ttdef"><b>Definition:</b> <a href="interface__api__memory_8cpp_source.html#l00025">interface_api_memory.cpp:25</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00167">167</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="ac073b2bd663b45de06bbcb3521a45aee"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define KeyLoop_TTTT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">simdpragma, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">from, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">to, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">indsht0, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">indsht1, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">state0, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">state1, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t00, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t01, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t10, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">t11&#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">simdpragma \</div><div class="line"> _Pragma(<span class="stringliteral">&quot;vector aligned&quot;</span>) \</div><div class="line"> for (std::size_t ind0 = from; ind0 &lt; to; ind0++) { \</div><div class="line"> std::size_t i0 = ind0 + indsht0; \</div><div class="line"> std::size_t i1 = ind0 + indsht1; <a class="code" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">\</a></div><div class="line"><a class="code" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347"> Type</a> in0 = state0[i0], in1 = state1[i1]; \</div><div class="line"> state0[i0] = (t00) + (t01); \</div><div class="line"> state1[i1] = (t10) + (t11); \</div><div class="line"> }</div><div class="ttc" id="interface__api__memory_8cpp_html_a8a7796dc492015686a15b44dfa64e347"><div class="ttname"><a href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a></div><div class="ttdeci">ComplexDP Type</div><div class="ttdef"><b>Definition:</b> <a href="interface__api__memory_8cpp_source.html#l00025">interface_api_memory.cpp:25</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00156">156</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="ad1ab836291a12a078c0b378699e1de73"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SIMD</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00155">155</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="acd968d157b4e3e190159d147ae2479b8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define Specialization</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">MainLoop_</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00019">19</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="aab67bc49786c7bfd41600c0d74efeb71"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">static __attribute__ </td>
<td>(</td>
<td class="paramtype">(noinline)&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00207">207</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="highperfkernels_8cpp_aab67bc49786c7bfd41600c0d74efeb71_icgraph.png" border="0" usemap="#highperfkernels_8cpp_aab67bc49786c7bfd41600c0d74efeb71_icgraph" alt=""/></div>
<map name="highperfkernels_8cpp_aab67bc49786c7bfd41600c0d74efeb71_icgraph" id="highperfkernels_8cpp_aab67bc49786c7bfd41600c0d74efeb71_icgraph">
<area shape="rect" id="node2" href="highperfkernels_8cpp.html#a03dfd938e4a7749b279c73592837253b" title="if" alt="" coords="151,5,189,32"/>
</map>
</div>
</p>
</div>
</div>
<a class="anchor" id="a8d2eb9107ecd35464657c2842f4a4941"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">template __attribute__ ((noinline)) void Loop_DN(std template __attribute__ ((noinline)) void Loop_DN(std __attribute__ </td>
<td>(</td>
<td class="paramtype">(noinline)&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a3c5c1de356c65cc2bfca5046ecd71e6d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">assert </td>
<td>(</td>
<td class="paramtype">((<a class="el" href="highperfkernels_8hpp.html#ae6d6f41c70fe36f3b193c709418ee36b">c22</a>-<a class="el" href="highperfkernels_8hpp.html#a4a346f5763babc2633b82a8601839699">c21</a>)%<a class="el" href="highperfkernels_8hpp.html#a460055566c4f3c20d492e6dd8068afd7">c23</a>)&#160;</td>
<td class="paramname"> = <code>=0</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="highperfkernels_8cpp_a3c5c1de356c65cc2bfca5046ecd71e6d_icgraph.png" border="0" usemap="#highperfkernels_8cpp_a3c5c1de356c65cc2bfca5046ecd71e6d_icgraph" alt=""/></div>
<map name="highperfkernels_8cpp_a3c5c1de356c65cc2bfca5046ecd71e6d_icgraph" id="highperfkernels_8cpp_a3c5c1de356c65cc2bfca5046ecd71e6d_icgraph">
<area shape="rect" id="node2" href="group__NoisyQureg.html#ga3729907931febea597bdcdeb11d49ef4" title="NoisyQureg::NoiseGate" alt="" coords="379,157,541,184"/>
<area shape="rect" id="node3" href="classPermutation.html#a4532b440c083aa75ebf4aab69ee87568" title="Permutation::operator[]" alt="" coords="135,56,289,83"/>
<area shape="rect" id="node4" href="classPermutation.html#ac7b8bdc5aeede96370a80aa2ca91da8c" title="Permutation::Find" alt="" coords="149,107,275,133"/>
<area shape="rect" id="node5" href="classPermutation.html#a37e8745bcbba145e9f7de16e12e3c091" title="Permutation::SetNewPerm" alt="" coords="123,5,301,32"/>
<area shape="rect" id="node7" href="classPermutation.html#aa2f2a076a21a0f79081394146f8df1b1" title="Permutation::prange" alt="" coords="608,69,747,96"/>
<area shape="rect" id="node8" href="group__qureg.html#gafe0ffe91271466805943c6b6112f02fc" title="QbitRegister::HP_Distrpair" alt="" coords="371,1183,549,1209"/>
<area shape="rect" id="node9" href="group__qureg.html#gaedf1dd13993178f2a14983605b20e480" title="QbitRegister::apply1Qubit\lGate_helper" alt="" coords="374,1741,546,1782"/>
<area shape="rect" id="node10" href="group__qureg.html#gafc50c9735e592dafbe8e5e49e196e2a0" title="QbitRegister::apply1QubitGate" alt="" coords="112,259,312,285"/>
<area shape="rect" id="node12" href="benchgates_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="652,360,703,387"/>
<area shape="rect" id="node13" href="classQbitRegister.html#a672e66fb6d27f3b1f8144a796e21a72a" title="QbitRegister::apply2QubitGate" alt="" coords="360,528,560,555"/>
<area shape="rect" id="node14" href="classQbitRegister.html#a843fbe4c491202dfcaf87b6ca574df4b" title="QbitRegister::applyControlled1\lQubitGate_helper" alt="" coords="360,1653,560,1694"/>
<area shape="rect" id="node15" href="classQbitRegister.html#a7d76a5abd3cf6bce62238d7244160423" title="QbitRegister::applyControlled1\lQubitGate" alt="" coords="112,361,312,402"/>
<area shape="rect" id="node17" href="qft__test_8cpp.html#aa9dd8f6a5643e6d0a79644144d923222" title="qft" alt="" coords="441,477,479,504"/>
<area shape="rect" id="node18" href="classQbitRegister.html#a70e1d4b9c959323a1b29a9462d066d17" title="QbitRegister::applyDiag" alt="" coords="379,655,541,681"/>
<area shape="rect" id="node19" href="classQbitRegister.html#a1df7d4a899a7423b9558363ef12beb62" title="QbitRegister::applySwap\l_helper" alt="" coords="377,579,543,621"/>
<area shape="rect" id="node20" href="classQbitRegister.html#abe17b51e93e1f610db2dec154cee83e8" title="QbitRegister::swap" alt="" coords="145,781,279,808"/>
<area shape="rect" id="node21" href="group__qureg.html#gaff59d4b5e5e6c68516723fcbad2d9eea" title="Compute expectation value of a Pauli string for multiple qubits over the full&#45;register state..." alt="" coords="127,833,297,874"/>
<area shape="rect" id="node22" href="classQbitRegister.html#a4614a6c3c6a3a1506b4fcb7b0ac34a13" title="QbitRegister::applyFused\lGates" alt="" coords="127,898,297,939"/>
<area shape="rect" id="node23" href="classQbitRegister.html#afdf8d1d0421b4f67cb8123f0df049254" title="QbitRegister::QbitRegister" alt="" coords="124,964,300,991"/>
<area shape="rect" id="node24" href="classQbitRegister.html#ab8bdcc049e7c69a628fc5c5ed7909727" title="QbitRegister::resize" alt="" coords="391,723,529,749"/>
<area shape="rect" id="node25" href="classQbitRegister.html#ae289a23f862d4bd442acc71e6c672443" title="QbitRegister::Init" alt="" coords="399,839,521,865"/>
<area shape="rect" id="node26" href="classQbitRegister.html#a108498963225edf69d58793e4526a51b" title="QbitRegister::util\l_rand_init" alt="" coords="152,1117,272,1158"/>
<area shape="rect" id="node27" href="group__qureg.html#gaa3937a2f66ce48f4520955ca649b86e9" title="?? explanation needed ?? " alt="" coords="373,1002,547,1043"/>
<area shape="rect" id="node28" href="classQbitRegister.html#a7c454e32d59b5e8509889b4526e77795" title="QbitRegister::Permute" alt="" coords="136,1233,288,1260"/>
<area shape="rect" id="node29" href="group__qureg.html#gac2b1e448aba8723d62924739f4b07bed" title="??? " alt="" coords="129,1284,295,1311"/>
<area shape="rect" id="node30" href="group__qureg.html#ga3963f1b17db8cab57698dae064f19ffb" title="??? " alt="" coords="129,1335,295,1361"/>
<area shape="rect" id="node31" href="group__qureg.html#ga25006c0641b16e5e3ad9a9e54ff68419" title="??? " alt="" coords="119,1385,305,1412"/>
<area shape="rect" id="node32" href="group__qureg.html#ga629eb3a21a13e7f9be5acba78e2da4be" title="Print on screen some information about the state. " alt="" coords="147,1436,277,1463"/>
<area shape="rect" id="node33" href="group__qureg.html#ga1bea829eeff491bdfa7aeb350279622a" title="??? " alt="" coords="136,1487,288,1513"/>
<area shape="rect" id="node34" href="group__qureg.html#ga14455385632216213a23f82ef8f61c4e" title="??? " alt="" coords="385,1407,535,1433"/>
<area shape="rect" id="node35" href="group__qureg.html#gab8202459af1477623fa59b0b61ccc9fb" title="??? " alt="" coords="386,2044,534,2071"/>
<area shape="rect" id="node36" href="namespaceopenqu.html#a0c00ea7605ace62e602ebfc48d2e7b99" title="returns the highest bit set in a non&#45;zero integer " alt="" coords="147,528,277,555"/>
<area shape="rect" id="node37" href="namespaceopenqu.html#a9cbfc48ff8a69fa8618c4eeaad4f2765" title="returns the logarithm base 2 of a non&#45;zero integer " alt="" coords="163,731,261,757"/>
<area shape="rect" id="node38" href="classTimer.html#ae7c0c1e7d12de4b8a6e7c64e451cdd2a" title="Timer::Reset" alt="" coords="163,1740,261,1767"/>
<area shape="rect" id="node39" href="classTimer.html#a7b6515b02c968e32b333241fd808d778" title="Timer::Start" alt="" coords="167,1791,257,1817"/>
<area shape="rect" id="node40" href="classTimer.html#ac1005d4867b5005a786532bcf3cbeac9" title="Timer::record_sn" alt="" coords="152,1841,272,1868"/>
<area shape="rect" id="node41" href="classTimer.html#a9fbff99ace84997159f50a315132e47c" title="Timer::record_dn" alt="" coords="152,1892,272,1919"/>
<area shape="rect" id="node42" href="classTimer.html#a74cc1b55da9e11deebace9358b133cb8" title="Timer::record_tn" alt="" coords="153,1943,271,1969"/>
<area shape="rect" id="node43" href="classTimer.html#a3ed4be0be81cd08097e11415abaf6c5c" title="Timer::record_cm" alt="" coords="150,1183,274,1209"/>
<area shape="rect" id="node44" href="classTimer.html#a6379e797f968aaee6ac3bb12dc6b81c5" title="Timer::Stop" alt="" coords="167,1689,257,1716"/>
<area shape="rect" id="node45" href="classTimer.html#a90488c0efd4e80b865b0d3d3b92a525b" title="Timer::Breakdown" alt="" coords="148,2044,276,2071"/>
<area shape="rect" id="node46" href="classopenqu_1_1TinyMatrix.html#a538311e6b9e6ca0c692fa37d66b7f1c1" title="openqu::TinyMatrix\l::operator()" alt="" coords="145,2146,279,2187"/>
<area shape="rect" id="node47" href="classopenqu_1_1TinyMatrix.html#ad55302909f01657df51e3a8ca79b2364" title="openqu::TinyMatrix\l::operator[]" alt="" coords="145,2211,279,2253"/>
<area shape="rect" id="node48" href="classopenqu_1_1TinyMatrix.html#a65842b6da75d8bc70de11e99f2579994" title="openqu::TinyMatrix\l::getSubMatrix" alt="" coords="145,2277,279,2318"/>
<area shape="rect" id="node49" href="tinymatrix__test_8cpp.html#a41a395d8e6a3b1a49307d011fb549dcc" title="testsize" alt="" coords="178,2343,246,2369"/>
<area shape="rect" id="node50" href="tinymatrix__test_8cpp.html#ad2cad766cb1ab4f746969731a699825d" title="testassign" alt="" coords="171,2393,253,2420"/>
<area shape="rect" id="node6" href="classPermutation.html#a55c02d7bfbc53bbc7f244915a3de2020" title="Permutation::Permutation" alt="" coords="375,31,545,57"/>
<area shape="rect" id="node11" href="group__NoisyQureg.html#ga03c6f2bd90c251f33763a1249da4d63f" title="NoisyQureg::apply1QubitGate" alt="" coords="362,208,558,235"/>
<area shape="rect" id="node16" href="group__NoisyQureg.html#ga0e8ae891441c06ada5a31d12d103841b" title="NoisyQureg::applyControlled1\lQubitGate" alt="" coords="362,411,558,453"/>
</map>
</div>
</p>
</div>
</div>
<a class="anchor" id="a721cd358aa5a70288d8c769357c5e80d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">if </td>
<td>(</td>
<td class="paramtype">(<a class="el" href="highperfkernels_8hpp.html#accf464e4de4f7cac7efe9ecc40dde4a4">c12</a>-<a class="el" href="highperfkernels_8hpp.html#a2bd20c6075319fe943898f1e25c35568">c11</a>)/<a class="el" href="highperfkernels_8hpp.html#a087af2d53244746330070d4dd2028d21">c13</a> &gt;=&#160;</td>
<td class="paramname"><em>nthreads</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00408">408</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a03dfd938e4a7749b279c73592837253b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">if </td>
<td>(</td>
<td class="paramtype"><a class="el" href="highperfkernels_8hpp.html#a8aff339d39df72f8df5c3934bf853052">timer</a>&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00446">446</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="highperfkernels_8cpp_a03dfd938e4a7749b279c73592837253b_cgraph.png" border="0" usemap="#highperfkernels_8cpp_a03dfd938e4a7749b279c73592837253b_cgraph" alt=""/></div>
<map name="highperfkernels_8cpp_a03dfd938e4a7749b279c73592837253b_cgraph" id="highperfkernels_8cpp_a03dfd938e4a7749b279c73592837253b_cgraph">
<area shape="rect" id="node2" href="highperfkernels_8cpp.html#aab67bc49786c7bfd41600c0d74efeb71" title="__attribute__" alt="" coords="92,5,189,32"/>
</map>
</div>
</p>
</div>
</div>
<a class="anchor" id="a5f38e4fe8c6dbd8373e443203cc0fa6b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">void ScaleState </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>start</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>end</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> *&#160;</td>
<td class="paramname"><em>state</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &amp;&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classTimer.html">Timer</a> *&#160;</td>
<td class="paramname"><em>timer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00471">471</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="highperfkernels_8cpp_a5f38e4fe8c6dbd8373e443203cc0fa6b_cgraph.png" border="0" usemap="#highperfkernels_8cpp_a5f38e4fe8c6dbd8373e443203cc0fa6b_cgraph" alt=""/></div>
<map name="highperfkernels_8cpp_a5f38e4fe8c6dbd8373e443203cc0fa6b_cgraph" id="highperfkernels_8cpp_a5f38e4fe8c6dbd8373e443203cc0fa6b_cgraph">
<area shape="rect" id="node2" href="classTimer.html#ac1005d4867b5005a786532bcf3cbeac9" title="Timer::record_sn" alt="" coords="171,5,291,32"/>
<area shape="rect" id="node4" href="highperfkernels_8cpp.html#a6346d56363383c94f9d4be5f19f24f70" title="ScaleState\&lt; ComplexSP \&gt;" alt="" coords="141,56,321,83"/>
<area shape="rect" id="node5" href="highperfkernels_8cpp.html#a2513b0c094c6530db416f0b10984a31d" title="ScaleState\&lt; ComplexDP \&gt;" alt="" coords="140,107,321,133"/>
<area shape="rect" id="node3" href="highperfkernels_8cpp.html#a3c5c1de356c65cc2bfca5046ecd71e6d" title="assert" alt="" coords="369,5,428,32"/>
</map>
</div>
</p>
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="highperfkernels_8cpp_a5f38e4fe8c6dbd8373e443203cc0fa6b_icgraph.png" border="0" usemap="#highperfkernels_8cpp_a5f38e4fe8c6dbd8373e443203cc0fa6b_icgraph" alt=""/></div>
<map name="highperfkernels_8cpp_a5f38e4fe8c6dbd8373e443203cc0fa6b_icgraph" id="highperfkernels_8cpp_a5f38e4fe8c6dbd8373e443203cc0fa6b_icgraph">
<area shape="rect" id="node2" href="group__qureg.html#gafe0ffe91271466805943c6b6112f02fc" title="QbitRegister::HP_Distrpair" alt="" coords="151,5,329,32"/>
<area shape="rect" id="node3" href="group__qureg.html#gaedf1dd13993178f2a14983605b20e480" title="QbitRegister::apply1Qubit\lGate_helper" alt="" coords="154,57,326,98"/>
<area shape="rect" id="node4" href="classQbitRegister.html#a843fbe4c491202dfcaf87b6ca574df4b" title="QbitRegister::applyControlled1\lQubitGate_helper" alt="" coords="140,122,340,163"/>
</map>
</div>
</p>
</div>
</div>
<a class="anchor" id="a2513b0c094c6530db416f0b10984a31d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">template void <a class="el" href="highperfkernels_8hpp.html#a5f38e4fe8c6dbd8373e443203cc0fa6b">ScaleState</a>&lt; <a class="el" href="utils_8hpp.html#a4c74584109a8b5cd204ca575784b51fa">ComplexDP</a> &gt; </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>start</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>end</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utils_8hpp.html#a4c74584109a8b5cd204ca575784b51fa">ComplexDP</a> *&#160;</td>
<td class="paramname"><em>state</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="utils_8hpp.html#a4c74584109a8b5cd204ca575784b51fa">ComplexDP</a> &amp;&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classTimer.html">Timer</a> *&#160;</td>
<td class="paramname"><em>timer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="highperfkernels_8cpp_a2513b0c094c6530db416f0b10984a31d_icgraph.png" border="0" usemap="#highperfkernels_8cpp_a2513b0c094c6530db416f0b10984a31d_icgraph" alt=""/></div>
<map name="highperfkernels_8cpp_a2513b0c094c6530db416f0b10984a31d_icgraph" id="highperfkernels_8cpp_a2513b0c094c6530db416f0b10984a31d_icgraph">
<area shape="rect" id="node2" href="highperfkernels_8hpp.html#a5f38e4fe8c6dbd8373e443203cc0fa6b" title="ScaleState" alt="" coords="235,64,321,91"/>
<area shape="rect" id="node3" href="group__qureg.html#gafe0ffe91271466805943c6b6112f02fc" title="QbitRegister::HP_Distrpair" alt="" coords="380,5,559,32"/>
<area shape="rect" id="node4" href="group__qureg.html#gaedf1dd13993178f2a14983605b20e480" title="QbitRegister::apply1Qubit\lGate_helper" alt="" coords="383,57,555,98"/>
<area shape="rect" id="node5" href="classQbitRegister.html#a843fbe4c491202dfcaf87b6ca574df4b" title="QbitRegister::applyControlled1\lQubitGate_helper" alt="" coords="369,122,569,163"/>
</map>
</div>
</p>
</div>
</div>
<a class="anchor" id="a6346d56363383c94f9d4be5f19f24f70"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">template void <a class="el" href="highperfkernels_8hpp.html#a5f38e4fe8c6dbd8373e443203cc0fa6b">ScaleState</a>&lt; <a class="el" href="utils_8hpp.html#aef8f51dd9d5fbdef30a0fccd9eceeaad">ComplexSP</a> &gt; </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>start</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>end</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utils_8hpp.html#aef8f51dd9d5fbdef30a0fccd9eceeaad">ComplexSP</a> *&#160;</td>
<td class="paramname"><em>state</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="utils_8hpp.html#aef8f51dd9d5fbdef30a0fccd9eceeaad">ComplexSP</a> &amp;&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classTimer.html">Timer</a> *&#160;</td>
<td class="paramname"><em>timer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="highperfkernels_8cpp_a6346d56363383c94f9d4be5f19f24f70_icgraph.png" border="0" usemap="#highperfkernels_8cpp_a6346d56363383c94f9d4be5f19f24f70_icgraph" alt=""/></div>
<map name="highperfkernels_8cpp_a6346d56363383c94f9d4be5f19f24f70_icgraph" id="highperfkernels_8cpp_a6346d56363383c94f9d4be5f19f24f70_icgraph">
<area shape="rect" id="node2" href="highperfkernels_8hpp.html#a5f38e4fe8c6dbd8373e443203cc0fa6b" title="ScaleState" alt="" coords="233,64,320,91"/>
<area shape="rect" id="node3" href="group__qureg.html#gafe0ffe91271466805943c6b6112f02fc" title="QbitRegister::HP_Distrpair" alt="" coords="379,5,557,32"/>
<area shape="rect" id="node4" href="group__qureg.html#gaedf1dd13993178f2a14983605b20e480" title="QbitRegister::apply1Qubit\lGate_helper" alt="" coords="382,57,554,98"/>
<area shape="rect" id="node5" href="classQbitRegister.html#a843fbe4c491202dfcaf87b6ca574df4b" title="QbitRegister::applyControlled1\lQubitGate_helper" alt="" coords="368,122,568,163"/>
</map>
</div>
</p>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="acb0325d664f77caf759d5c5fbc5b5914"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">template std::size_t c11</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00394">394</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="aa90f5a535998aef23a8967aae25d007d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">template std::size_t std::size_t c12</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00394">394</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="ae2877643a65521b19a6fb0db41e040d6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">template std::size_t std::size_t std::size_t c13</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00394">394</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="af02fa46e95ebfe82a0f91d55f61b0ce4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">template std::size_t std::size_t std::size_t std::size_t c21</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00394">394</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="ae3b66f48a6cd5ce21ab15518f36b95eb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">template std::size_t std::size_t std::size_t std::size_t std::size_t c22</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00394">394</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="af65699b5071f2f9f34e9a264d85be092"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">template std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t c23</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00394">394</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="ac5a00aba84bfefef32612c264d770a82"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">template std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t c31</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00394">394</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="addd097e19af15e6807acd67210b76d16"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">template std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t c32</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00394">394</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a0544c3fe466e421738dae463968b70ba"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">else</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">{</div><div class="line"> <span class="keywordflow">for</span> (std::size_t l1 = <a class="code" href="highperfkernels_8cpp.html#acb0325d664f77caf759d5c5fbc5b5914">c11</a>; l1 &lt; <a class="code" href="highperfkernels_8cpp.html#aa90f5a535998aef23a8967aae25d007d">c12</a>; l1 += <a class="code" href="highperfkernels_8cpp.html#ae2877643a65521b19a6fb0db41e040d6">c13</a>) {</div><div class="line"> <span class="keywordflow">if</span> ((l1 + <a class="code" href="highperfkernels_8cpp.html#ae3b66f48a6cd5ce21ab15518f36b95eb">c22</a> - l1 - <a class="code" href="highperfkernels_8cpp.html#af02fa46e95ebfe82a0f91d55f61b0ce4">c21</a>) / <a class="code" href="highperfkernels_8cpp.html#af65699b5071f2f9f34e9a264d85be092">c23</a> &gt;= <a class="code" href="highperfkernels_8cpp.html#a66a588988a3bc62a9ba92966365696f2">nthreads</a>) {</div><div class="line"></div><div class="line"> <span class="keywordflow">for</span> (std::size_t l2 = l1 + <a class="code" href="highperfkernels_8cpp.html#af02fa46e95ebfe82a0f91d55f61b0ce4">c21</a>; l2 &lt; l1 + <a class="code" href="highperfkernels_8cpp.html#ae3b66f48a6cd5ce21ab15518f36b95eb">c22</a>; l2 += <a class="code" href="highperfkernels_8cpp.html#af65699b5071f2f9f34e9a264d85be092">c23</a>)</div><div class="line"> <span class="keywordflow">for</span> (std::size_t ind0 = l2 + <a class="code" href="highperfkernels_8cpp.html#ac5a00aba84bfefef32612c264d770a82">c31</a>; ind0 &lt; l2 + <a class="code" href="highperfkernels_8cpp.html#addd097e19af15e6807acd67210b76d16">c32</a>; ind0++) {</div><div class="line"> std::size_t ind1 = ind0 + <a class="code" href="highperfkernels_8cpp.html#a4d97cc900bb4098cee368abe80a4a341">ind_shift</a>;</div><div class="line"> <a class="code" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> in0 = state[ind0], in1 = state[ind1];</div><div class="line"> state[ind0] = <a class="code" href="highperfkernels_8cpp.html#aac2287de1a4cc9b7f0c81aef1ec676d2">m00</a> * in0 + <a class="code" href="highperfkernels_8cpp.html#aedebef9a9d860f345c46042f0e9224b7">m01</a> * in1;</div><div class="line"> state[ind1] = <a class="code" href="highperfkernels_8cpp.html#ac8f4818050757aaedd8067be8d1cdb49">m10</a> * in0 + <a class="code" href="highperfkernels_8cpp.html#a088831c73820a3a2b731e0db8baecc72">m11</a> * in1;</div><div class="line"> }</div><div class="line"> } <span class="keywordflow">else</span> {</div><div class="line"> <span class="keywordflow">for</span> (std::size_t l2 = l1 + <a class="code" href="highperfkernels_8cpp.html#af02fa46e95ebfe82a0f91d55f61b0ce4">c21</a>; l2 &lt; l1 + <a class="code" href="highperfkernels_8cpp.html#ae3b66f48a6cd5ce21ab15518f36b95eb">c22</a>; l2 += <a class="code" href="highperfkernels_8cpp.html#af65699b5071f2f9f34e9a264d85be092">c23</a>) {</div><div class="line"></div><div class="line"> <span class="keywordflow">for</span> (std::size_t ind0 = l2 + <a class="code" href="highperfkernels_8cpp.html#ac5a00aba84bfefef32612c264d770a82">c31</a>; ind0 &lt; l2 + <a class="code" href="highperfkernels_8cpp.html#addd097e19af15e6807acd67210b76d16">c32</a>; ind0++) {</div><div class="line"> std::size_t ind1 = ind0 + <a class="code" href="highperfkernels_8cpp.html#a4d97cc900bb4098cee368abe80a4a341">ind_shift</a>;</div><div class="line"> <a class="code" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> in0 = state[ind0], in1 = state[ind1];</div><div class="line"> state[ind0] = <a class="code" href="highperfkernels_8cpp.html#aac2287de1a4cc9b7f0c81aef1ec676d2">m00</a> * in0 + <a class="code" href="highperfkernels_8cpp.html#aedebef9a9d860f345c46042f0e9224b7">m01</a> * in1;</div><div class="line"> state[ind1] = <a class="code" href="highperfkernels_8cpp.html#ac8f4818050757aaedd8067be8d1cdb49">m10</a> * in0 + <a class="code" href="highperfkernels_8cpp.html#a088831c73820a3a2b731e0db8baecc72">m11</a> * in1;</div><div class="line"> }</div><div class="line"> }</div><div class="line"> }</div><div class="line"> }</div><div class="line"> }</div><div class="line"></div><div class="line"> <a class="code" href="highperfkernels_8cpp.html#a3c5c1de356c65cc2bfca5046ecd71e6d">assert</a>(((c12 - <a class="code" href="highperfkernels_8cpp.html#acb0325d664f77caf759d5c5fbc5b5914">c11</a>) % <a class="code" href="highperfkernels_8cpp.html#ae2877643a65521b19a6fb0db41e040d6">c13</a>) == 0)</div><div class="ttc" id="highperfkernels_8cpp_html_aedebef9a9d860f345c46042f0e9224b7"><div class="ttname"><a href="highperfkernels_8cpp.html#aedebef9a9d860f345c46042f0e9224b7">m01</a></div><div class="ttdeci">Type m01</div><div class="ttdef"><b>Definition:</b> <a href="highperfkernels_8cpp_source.html#l00401">highperfkernels.cpp:401</a></div></div>
<div class="ttc" id="highperfkernels_8cpp_html_acb0325d664f77caf759d5c5fbc5b5914"><div class="ttname"><a href="highperfkernels_8cpp.html#acb0325d664f77caf759d5c5fbc5b5914">c11</a></div><div class="ttdeci">template __attribute__((noinline)) void Loop_DN(std template __attribute__((noinline)) void Loop_DN(std std::size_t c11</div><div class="ttdef"><b>Definition:</b> <a href="highperfkernels_8cpp_source.html#l00394">highperfkernels.cpp:394</a></div></div>
<div class="ttc" id="highperfkernels_8cpp_html_a088831c73820a3a2b731e0db8baecc72"><div class="ttname"><a href="highperfkernels_8cpp.html#a088831c73820a3a2b731e0db8baecc72">m11</a></div><div class="ttdeci">Type m11</div><div class="ttdef"><b>Definition:</b> <a href="highperfkernels_8cpp_source.html#l00403">highperfkernels.cpp:403</a></div></div>
<div class="ttc" id="highperfkernels_8cpp_html_af65699b5071f2f9f34e9a264d85be092"><div class="ttname"><a href="highperfkernels_8cpp.html#af65699b5071f2f9f34e9a264d85be092">c23</a></div><div class="ttdeci">template __attribute__((noinline)) void Loop_DN(std template __attribute__((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t c23</div><div class="ttdef"><b>Definition:</b> <a href="highperfkernels_8cpp_source.html#l00394">highperfkernels.cpp:394</a></div></div>
<div class="ttc" id="highperfkernels_8cpp_html_aac2287de1a4cc9b7f0c81aef1ec676d2"><div class="ttname"><a href="highperfkernels_8cpp.html#aac2287de1a4cc9b7f0c81aef1ec676d2">m00</a></div><div class="ttdeci">Type m00</div><div class="ttdef"><b>Definition:</b> <a href="highperfkernels_8cpp_source.html#l00400">highperfkernels.cpp:400</a></div></div>
<div class="ttc" id="highperfkernels_8cpp_html_aa90f5a535998aef23a8967aae25d007d"><div class="ttname"><a href="highperfkernels_8cpp.html#aa90f5a535998aef23a8967aae25d007d">c12</a></div><div class="ttdeci">template __attribute__((noinline)) void Loop_DN(std template __attribute__((noinline)) void Loop_DN(std std::size_t std::size_t c12</div><div class="ttdef"><b>Definition:</b> <a href="highperfkernels_8cpp_source.html#l00394">highperfkernels.cpp:394</a></div></div>
<div class="ttc" id="highperfkernels_8cpp_html_ae3b66f48a6cd5ce21ab15518f36b95eb"><div class="ttname"><a href="highperfkernels_8cpp.html#ae3b66f48a6cd5ce21ab15518f36b95eb">c22</a></div><div class="ttdeci">template __attribute__((noinline)) void Loop_DN(std template __attribute__((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t std::size_t std::size_t c22</div><div class="ttdef"><b>Definition:</b> <a href="highperfkernels_8cpp_source.html#l00394">highperfkernels.cpp:394</a></div></div>
<div class="ttc" id="interface__api__memory_8cpp_html_a8a7796dc492015686a15b44dfa64e347"><div class="ttname"><a href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a></div><div class="ttdeci">ComplexDP Type</div><div class="ttdef"><b>Definition:</b> <a href="interface__api__memory_8cpp_source.html#l00025">interface_api_memory.cpp:25</a></div></div>
<div class="ttc" id="highperfkernels_8cpp_html_ac8f4818050757aaedd8067be8d1cdb49"><div class="ttname"><a href="highperfkernels_8cpp.html#ac8f4818050757aaedd8067be8d1cdb49">m10</a></div><div class="ttdeci">Type m10</div><div class="ttdef"><b>Definition:</b> <a href="highperfkernels_8cpp_source.html#l00402">highperfkernels.cpp:402</a></div></div>
<div class="ttc" id="highperfkernels_8cpp_html_a66a588988a3bc62a9ba92966365696f2"><div class="ttname"><a href="highperfkernels_8cpp.html#a66a588988a3bc62a9ba92966365696f2">nthreads</a></div><div class="ttdeci">size_t nthreads</div><div class="ttdef"><b>Definition:</b> <a href="highperfkernels_8cpp_source.html#l00406">highperfkernels.cpp:406</a></div></div>
<div class="ttc" id="highperfkernels_8cpp_html_a4d97cc900bb4098cee368abe80a4a341"><div class="ttname"><a href="highperfkernels_8cpp.html#a4d97cc900bb4098cee368abe80a4a341">ind_shift</a></div><div class="ttdeci">template __attribute__((noinline)) void Loop_DN(std template __attribute__((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t ind_shift</div><div class="ttdef"><b>Definition:</b> <a href="highperfkernels_8cpp_source.html#l00394">highperfkernels.cpp:394</a></div></div>
<div class="ttc" id="highperfkernels_8cpp_html_a3c5c1de356c65cc2bfca5046ecd71e6d"><div class="ttname"><a href="highperfkernels_8cpp.html#a3c5c1de356c65cc2bfca5046ecd71e6d">assert</a></div><div class="ttdeci">assert(((c22-c21)%c23)==0)</div></div>
<div class="ttc" id="highperfkernels_8cpp_html_addd097e19af15e6807acd67210b76d16"><div class="ttname"><a href="highperfkernels_8cpp.html#addd097e19af15e6807acd67210b76d16">c32</a></div><div class="ttdeci">template __attribute__((noinline)) void Loop_DN(std template __attribute__((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t c32</div><div class="ttdef"><b>Definition:</b> <a href="highperfkernels_8cpp_source.html#l00394">highperfkernels.cpp:394</a></div></div>
<div class="ttc" id="highperfkernels_8cpp_html_af02fa46e95ebfe82a0f91d55f61b0ce4"><div class="ttname"><a href="highperfkernels_8cpp.html#af02fa46e95ebfe82a0f91d55f61b0ce4">c21</a></div><div class="ttdeci">template __attribute__((noinline)) void Loop_DN(std template __attribute__((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t std::size_t c21</div><div class="ttdef"><b>Definition:</b> <a href="highperfkernels_8cpp_source.html#l00394">highperfkernels.cpp:394</a></div></div>
<div class="ttc" id="highperfkernels_8cpp_html_ac5a00aba84bfefef32612c264d770a82"><div class="ttname"><a href="highperfkernels_8cpp.html#ac5a00aba84bfefef32612c264d770a82">c31</a></div><div class="ttdeci">template __attribute__((noinline)) void Loop_DN(std template __attribute__((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t c31</div><div class="ttdef"><b>Definition:</b> <a href="highperfkernels_8cpp_source.html#l00394">highperfkernels.cpp:394</a></div></div>
<div class="ttc" id="highperfkernels_8cpp_html_ae2877643a65521b19a6fb0db41e040d6"><div class="ttname"><a href="highperfkernels_8cpp.html#ae2877643a65521b19a6fb0db41e040d6">c13</a></div><div class="ttdeci">template __attribute__((noinline)) void Loop_DN(std template __attribute__((noinline)) void Loop_DN(std std::size_t std::size_t std::size_t c13</div><div class="ttdef"><b>Definition:</b> <a href="highperfkernels_8cpp_source.html#l00394">highperfkernels.cpp:394</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00418">418</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a4d97cc900bb4098cee368abe80a4a341"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">template std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t ind_shift</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00394">394</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a55aace691be1a8a57eec700a41d42ade"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">template std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t <a class="el" href="qureg_8hpp.html#a90e805eec5b19800f0df2ec75985bfc9">TM2x2</a>&lt; <a class="el" href="utils_8hpp.html#a4c74584109a8b5cd204ca575784b51fa">ComplexDP</a> &gt; const &amp; m</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00394">394</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="aac2287de1a4cc9b7f0c81aef1ec676d2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> m00 = <a class="el" href="highperfkernels_8hpp.html#acdb7c8de54a397c8b3bdf94b81c5ef5b">m</a>[0][0]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00400">400</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="aedebef9a9d860f345c46042f0e9224b7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> m01 = <a class="el" href="highperfkernels_8hpp.html#acdb7c8de54a397c8b3bdf94b81c5ef5b">m</a>[0][1]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00401">401</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="ac8f4818050757aaedd8067be8d1cdb49"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> m10 = <a class="el" href="highperfkernels_8hpp.html#acdb7c8de54a397c8b3bdf94b81c5ef5b">m</a>[1][0]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00402">402</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a088831c73820a3a2b731e0db8baecc72"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> m11 = <a class="el" href="highperfkernels_8hpp.html#acdb7c8de54a397c8b3bdf94b81c5ef5b">m</a>[1][1]</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00403">403</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a66a588988a3bc62a9ba92966365696f2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t nthreads = glb_affinity.get_num_threads()</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00406">406</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a49b349aa14c546bf701f715c8692cdfd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">template std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t <a class="el" href="qureg_8hpp.html#a90e805eec5b19800f0df2ec75985bfc9">TM2x2</a>&lt; <a class="el" href="utils_8hpp.html#a4c74584109a8b5cd204ca575784b51fa">ComplexDP</a> &gt; const bool specialize</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00394">394</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
<a class="anchor" id="a06635fb44da2492f955f6eb17deb9ee5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">template std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t std::size_t <a class="el" href="qureg_8hpp.html#a90e805eec5b19800f0df2ec75985bfc9">TM2x2</a>&lt; <a class="el" href="utils_8hpp.html#a4c74584109a8b5cd204ca575784b51fa">ComplexDP</a> &gt; const bool <a class="el" href="classTimer.html">Timer</a> * timer</td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">{</div><div class="line"> <span class="keywordtype">double</span> ttmp1 = <a class="code" href="utils_8hpp.html#a0ad89918f7c38ab50bd01249fb98f97b">sec</a>(), ttot = 0.</div><div class="ttc" id="utils_8hpp_html_a0ad89918f7c38ab50bd01249fb98f97b"><div class="ttname"><a href="utils_8hpp.html#a0ad89918f7c38ab50bd01249fb98f97b">sec</a></div><div class="ttdeci">#define sec()</div><div class="ttdef"><b>Definition:</b> <a href="utils_8hpp_source.html#l00035">utils.hpp:35</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="highperfkernels_8cpp_source.html#l00398">398</a> of file <a class="el" href="highperfkernels_8cpp_source.html">highperfkernels.cpp</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Nov 6 2017 10:53:55 for Intel qHiPSTER by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>