add Doxygen documentation
[o-du/phy.git] / docs / API / common_8hpp.html
diff --git a/docs/API/common_8hpp.html b/docs/API/common_8hpp.html
new file mode 100644 (file)
index 0000000..4be2d32
--- /dev/null
@@ -0,0 +1,1194 @@
+<!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.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>o-du/phy: common.hpp 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>
+<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">o-du/phy
+   </div>
+   <div id="projectbrief">Intel O-RAN/X-RAN Generated Doxygen Documentation</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></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_a4c74d6baed87eba72f3b201b7b4b8f2.html">fhi_lib</a></li><li class="navelem"><a class="el" href="dir_babe8eacf738372576863f88f66866a5.html">test</a></li><li class="navelem"><a class="el" href="dir_1bd9561fc3fad99ea06f3a94905f6e7f.html">common</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Macros</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">common.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;exception&gt;</code><br />
+<code>#include &lt;random&gt;</code><br />
+<code>#include &lt;string&gt;</code><br />
+<code>#include &lt;utility&gt;</code><br />
+<code>#include &lt;vector&gt;</code><br />
+<code>#include &lt;immintrin.h&gt;</code><br />
+<code>#include &lt;malloc.h&gt;</code><br />
+<code>#include &lt;rte_config.h&gt;</code><br />
+<code>#include &lt;rte_malloc.h&gt;</code><br />
+<code>#include &quot;gtest/gtest.h&quot;</code><br />
+<code>#include &quot;<a class="el" href="common__typedef__xran_8h_source.html">common_typedef_xran.h</a>&quot;</code><br />
+<code>#include &quot;<a class="el" href="json_8hpp_source.html">json.hpp</a>&quot;</code><br />
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for common.hpp:</div>
+<div class="dyncontent">
+<div class="center"><img src="common_8hpp__incl.png" border="0" usemap="#common_8hpp" alt=""/></div>
+<map name="common_8hpp" id="common_8hpp">
+<area shape="rect" id="node12" href="common__typedef__xran_8h.html" title="This header file defines those data type both used by eNB and UE. " alt="" coords="2442,80,2607,107"/>
+<area shape="rect" id="node16" href="json_8hpp.html" title="json.hpp" alt="" coords="1067,80,1137,107"/>
+</map>
+</div>
+</div><div class="textblock"><div class="dynheader">
+This graph shows which files directly or indirectly include this file:</div>
+<div class="dyncontent">
+<div class="center"><img src="common_8hpp__dep__incl.png" border="0" usemap="#common_8hppdep" alt=""/></div>
+<map name="common_8hppdep" id="common_8hppdep">
+<area shape="rect" id="node2" href="common_8cpp.html" title="common.cpp" alt="" coords="43,80,141,107"/>
+<area shape="rect" id="node3" href="xran__lib__wrap_8hpp.html" title="xran_lib_wrap.hpp" alt="" coords="267,80,394,107"/>
+<area shape="rect" id="node4" href="xranlib__unit__test__main_8cc.html" title="xranlib_unit_test_main.cc" alt="" coords="5,155,176,181"/>
+<area shape="rect" id="node5" href="c__plane__tests_8cc.html" title="c_plane_tests.cc" alt="" coords="201,155,322,181"/>
+<area shape="rect" id="node6" href="chain__tests_8cc.html" title="chain_tests.cc" alt="" coords="347,155,453,181"/>
+<area shape="rect" id="node7" href="init__sys__functional_8cc.html" title="init_sys_functional.cc" alt="" coords="478,155,626,181"/>
+<area shape="rect" id="node8" href="compander__functional_8cc.html" title="compander_functional.cc" alt="" coords="521,80,687,107"/>
+<area shape="rect" id="node9" href="prach__functional_8cc.html" title="prach_functional.cc" alt="" coords="711,80,846,107"/>
+<area shape="rect" id="node10" href="prach__performance_8cc.html" title="prach_performance.cc" alt="" coords="870,80,1021,107"/>
+<area shape="rect" id="node11" href="u__plane__functional_8cc.html" title="u_plane_functional.cc" alt="" coords="1045,80,1193,107"/>
+<area shape="rect" id="node12" href="u__plane__performance_8cc.html" title="u_plane_performance.cc" alt="" coords="1217,80,1381,107"/>
+</map>
+</div>
+</div>
+<p><a href="common_8hpp_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="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_benchmark_parameters.html">BenchmarkParameters</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmissing__config__file__exception.html">missing_config_file_exception</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreading__input__file__exception.html">reading_input_file_exception</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_kernel_tests.html">KernelTests</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:a2c73062f66b2d8c71425ef3bc75ae946"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8hpp.html#a2c73062f66b2d8c71425ef3bc75ae946">_BBLIB_DPDK_</a></td></tr>
+<tr class="separator:a2c73062f66b2d8c71425ef3bc75ae946"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a330f0a8f2feff43f1ccedfaf049e03"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8hpp.html#a9a330f0a8f2feff43f1ccedfaf049e03">ASSERT_ARRAY_NEAR</a>(reference,  actual,  size,  precision)&#160;&#160;&#160;<a class="el" href="common_8hpp.html#aea945be561738ef40c759d617b04255c">assert_array_near</a>(reference, actual, size, precision)</td></tr>
+<tr class="separator:a9a330f0a8f2feff43f1ccedfaf049e03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c463cb9865e63120f666efd5a6555b5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8hpp.html#a1c463cb9865e63120f666efd5a6555b5">ASSERT_ARRAY_EQ</a>(reference,  actual,  size)&#160;&#160;&#160;<a class="el" href="common_8hpp.html#a8f4a12d5e7aa88ef72d3a59f9d0a85f0">assert_array_eq</a>(reference, actual, size)</td></tr>
+<tr class="separator:a1c463cb9865e63120f666efd5a6555b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa748fe650bfa70c23834297931a4a2a7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8hpp.html#aa748fe650bfa70c23834297931a4a2a7">ASSERT_AVG_GREATER_COMPLEX</a>(reference,  actual,  size,  precision)&#160;&#160;&#160;<a class="el" href="common_8hpp.html#a2bbe1c5dcabc83ba7d8485888720da42">assert_avg_greater_complex</a>(reference, actual, size, precision)</td></tr>
+<tr class="separator:aa748fe650bfa70c23834297931a4a2a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:ab701e3ac61a85b337ec5c1abaad6742d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8hpp.html#ab701e3ac61a85b337ec5c1abaad6742d">json</a> = <a class="el" href="namespacenlohmann.html#ae6eede511f01c9f33342044d36a388fa">nlohmann::json</a></td></tr>
+<tr class="separator:ab701e3ac61a85b337ec5c1abaad6742d"><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:ae39390f41ba978a1f0d79691436c074a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8hpp.html#ae39390f41ba978a1f0d79691436c074a">bind_to_cpu</a> (const unsigned cpu)</td></tr>
+<tr class="memdesc:ae39390f41ba978a1f0d79691436c074a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attach current process to the selected core.  <a href="#ae39390f41ba978a1f0d79691436c074a">More...</a><br /></td></tr>
+<tr class="separator:ae39390f41ba978a1f0d79691436c074a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8265b710246f9019ff14556adf5eb35a"><td class="memItemLeft" align="right" valign="top">std::pair&lt; double, double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8hpp.html#a8265b710246f9019ff14556adf5eb35a">calculate_statistics</a> (const std::vector&lt; long &gt; values)</td></tr>
+<tr class="memdesc:a8265b710246f9019ff14556adf5eb35a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the mean and variance from the result of the run_benchmark.  <a href="#a8265b710246f9019ff14556adf5eb35a">More...</a><br /></td></tr>
+<tr class="separator:a8265b710246f9019ff14556adf5eb35a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a39bf4f7770751080f5b72046abfd01a5"><td class="memItemLeft" align="right" valign="top">std::vector&lt; unsigned &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8hpp.html#a39bf4f7770751080f5b72046abfd01a5">get_sequence</a> (const unsigned number)</td></tr>
+<tr class="memdesc:a39bf4f7770751080f5b72046abfd01a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">For a given number return sequence of number from 0 to number - 1.  <a href="#a39bf4f7770751080f5b72046abfd01a5">More...</a><br /></td></tr>
+<tr class="separator:a39bf4f7770751080f5b72046abfd01a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8c062e9b24e4b3a8408b23a0d8ab428"><td class="memItemLeft" align="right" valign="top"><a class="el" href="common_8hpp.html#ab701e3ac61a85b337ec5c1abaad6742d">json</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8hpp.html#ad8c062e9b24e4b3a8408b23a0d8ab428">read_json_from_file</a> (const std::string &amp;filename)</td></tr>
+<tr class="memdesc:ad8c062e9b24e4b3a8408b23a0d8ab428"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read JSON from the given file.  <a href="#ad8c062e9b24e4b3a8408b23a0d8ab428">More...</a><br /></td></tr>
+<tr class="separator:ad8c062e9b24e4b3a8408b23a0d8ab428"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a876ed07783b27d38779f7cef4db673e6"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8hpp.html#a876ed07783b27d38779f7cef4db673e6">read_data_to_aligned_array</a> (const std::string &amp;filename)</td></tr>
+<tr class="memdesc:a876ed07783b27d38779f7cef4db673e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read binary data from the file.  <a href="#a876ed07783b27d38779f7cef4db673e6">More...</a><br /></td></tr>
+<tr class="separator:a876ed07783b27d38779f7cef4db673e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56c41cbb9de4bce25da45ecd74b46a81"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8hpp.html#a56c41cbb9de4bce25da45ecd74b46a81">tsc_recovery</a> ()</td></tr>
+<tr class="memdesc:a56c41cbb9de4bce25da45ecd74b46a81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Measure the TSC on the machine.  <a href="#a56c41cbb9de4bce25da45ecd74b46a81">More...</a><br /></td></tr>
+<tr class="separator:a56c41cbb9de4bce25da45ecd74b46a81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ab5719a5f67d4d52057b2c4550fe930"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8hpp.html#a0ab5719a5f67d4d52057b2c4550fe930">tsc_tick</a> ()</td></tr>
+<tr class="memdesc:a0ab5719a5f67d4d52057b2c4550fe930"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current value of the TSC.  <a href="#a0ab5719a5f67d4d52057b2c4550fe930">More...</a><br /></td></tr>
+<tr class="separator:a0ab5719a5f67d4d52057b2c4550fe930"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af69d779517f2bdee3aba95bc38022074"><td class="memTemplParams" colspan="2">template&lt;typename F , typename ... Args&gt; </td></tr>
+<tr class="memitem:af69d779517f2bdee3aba95bc38022074"><td class="memTemplItemLeft" align="right" valign="top">std::pair&lt; double, double &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="common_8hpp.html#af69d779517f2bdee3aba95bc38022074">run_benchmark</a> (F function, Args ... args)</td></tr>
+<tr class="memdesc:af69d779517f2bdee3aba95bc38022074"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run the given function and return the mean run time and stddev.  <a href="#af69d779517f2bdee3aba95bc38022074">More...</a><br /></td></tr>
+<tr class="separator:af69d779517f2bdee3aba95bc38022074"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f4a12d5e7aa88ef72d3a59f9d0a85f0"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a8f4a12d5e7aa88ef72d3a59f9d0a85f0"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="common_8hpp.html#a8f4a12d5e7aa88ef72d3a59f9d0a85f0">assert_array_eq</a> (const T *reference, const T *actual, const int size)</td></tr>
+<tr class="memdesc:a8f4a12d5e7aa88ef72d3a59f9d0a85f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assert elements of two arrays. It calls ASSERT_EQ for each element of the array.  <a href="#a8f4a12d5e7aa88ef72d3a59f9d0a85f0">More...</a><br /></td></tr>
+<tr class="separator:a8f4a12d5e7aa88ef72d3a59f9d0a85f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea945be561738ef40c759d617b04255c"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:aea945be561738ef40c759d617b04255c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="common_8hpp.html#aea945be561738ef40c759d617b04255c">assert_array_near</a> (const T *reference, const T *actual, const int size, const double precision)</td></tr>
+<tr class="memdesc:aea945be561738ef40c759d617b04255c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assert elements of two arrays. It calls ASSERT_NEAR for each element of the array.  <a href="#aea945be561738ef40c759d617b04255c">More...</a><br /></td></tr>
+<tr class="separator:aea945be561738ef40c759d617b04255c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5ae003c98bada0196a7085942593271"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
+<tr class="memitem:ab5ae003c98bada0196a7085942593271"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="common_8hpp.html#ab5ae003c98bada0196a7085942593271">assert_array_near&lt; complex_float &gt;</a> (const <a class="el" href="structcomplex__float.html">complex_float</a> *reference, const <a class="el" href="structcomplex__float.html">complex_float</a> *actual, const int size, const double precision)</td></tr>
+<tr class="separator:ab5ae003c98bada0196a7085942593271"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2bbe1c5dcabc83ba7d8485888720da42"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a2bbe1c5dcabc83ba7d8485888720da42"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="common_8hpp.html#a2bbe1c5dcabc83ba7d8485888720da42">assert_avg_greater_complex</a> (const T *reference, const T *actual, const int size, const double precision)</td></tr>
+<tr class="memdesc:a2bbe1c5dcabc83ba7d8485888720da42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assert average diff of two arrays. It calls ASSERT_GT to check the average.  <a href="#a2bbe1c5dcabc83ba7d8485888720da42">More...</a><br /></td></tr>
+<tr class="separator:a2bbe1c5dcabc83ba7d8485888720da42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adfa5a01b33723394c2a1fa179abea990"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:adfa5a01b33723394c2a1fa179abea990"><td class="memTemplItemLeft" align="right" valign="top">T *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="common_8hpp.html#adfa5a01b33723394c2a1fa179abea990">aligned_malloc</a> (const int size, const unsigned alignment)</td></tr>
+<tr class="memdesc:adfa5a01b33723394c2a1fa179abea990"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates memory of the given size.  <a href="#adfa5a01b33723394c2a1fa179abea990">More...</a><br /></td></tr>
+<tr class="separator:adfa5a01b33723394c2a1fa179abea990"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f1a3a41e28280d05df6b8d212d9c5c2"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a2f1a3a41e28280d05df6b8d212d9c5c2"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="common_8hpp.html#a2f1a3a41e28280d05df6b8d212d9c5c2">aligned_free</a> (T *ptr)</td></tr>
+<tr class="memdesc:a2f1a3a41e28280d05df6b8d212d9c5c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees memory pointed by the given pointer.  <a href="#a2f1a3a41e28280d05df6b8d212d9c5c2">More...</a><br /></td></tr>
+<tr class="separator:a2f1a3a41e28280d05df6b8d212d9c5c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1d15fbbdb031b5ab34dfc289d93a6c9"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
+<tr class="memitem:ae1d15fbbdb031b5ab34dfc289d93a6c9"><td class="memTemplItemLeft" align="right" valign="top">T *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="common_8hpp.html#ae1d15fbbdb031b5ab34dfc289d93a6c9">generate_random_numbers</a> (const long size, const unsigned alignment, U &amp;distribution)</td></tr>
+<tr class="memdesc:ae1d15fbbdb031b5ab34dfc289d93a6c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">generate random numbers.  <a href="#ae1d15fbbdb031b5ab34dfc289d93a6c9">More...</a><br /></td></tr>
+<tr class="separator:ae1d15fbbdb031b5ab34dfc289d93a6c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b7eb6e3593756a484e8e73ba7456683"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a6b7eb6e3593756a484e8e73ba7456683"><td class="memTemplItemLeft" align="right" valign="top">T *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="common_8hpp.html#a6b7eb6e3593756a484e8e73ba7456683">generate_random_data</a> (const long size, const unsigned alignment)</td></tr>
+<tr class="memdesc:a6b7eb6e3593756a484e8e73ba7456683"><td class="mdescLeft">&#160;</td><td class="mdescRight">generate random data.  <a href="#a6b7eb6e3593756a484e8e73ba7456683">More...</a><br /></td></tr>
+<tr class="separator:a6b7eb6e3593756a484e8e73ba7456683"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a152b12cc7a564929ac984e570020e548"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a152b12cc7a564929ac984e570020e548"><td class="memTemplItemLeft" align="right" valign="top">T *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="common_8hpp.html#a152b12cc7a564929ac984e570020e548">generate_random_int_numbers</a> (const long size, const unsigned alignment, const T lo_range, const T up_range)</td></tr>
+<tr class="memdesc:a152b12cc7a564929ac984e570020e548"><td class="mdescLeft">&#160;</td><td class="mdescRight">generate integer random numbers.  <a href="#a152b12cc7a564929ac984e570020e548">More...</a><br /></td></tr>
+<tr class="separator:a152b12cc7a564929ac984e570020e548"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad93fb4e37255c588def24071ede04229"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ad93fb4e37255c588def24071ede04229"><td class="memTemplItemLeft" align="right" valign="top">T *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="common_8hpp.html#ad93fb4e37255c588def24071ede04229">generate_random_real_numbers</a> (const long size, const unsigned alignment, const T lo_range, const T up_range)</td></tr>
+<tr class="memdesc:ad93fb4e37255c588def24071ede04229"><td class="mdescLeft">&#160;</td><td class="mdescRight">generate real random numbers.  <a href="#ad93fb4e37255c588def24071ede04229">More...</a><br /></td></tr>
+<tr class="separator:ad93fb4e37255c588def24071ede04229"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="a2c73062f66b2d8c71425ef3bc75ae946"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2c73062f66b2d8c71425ef3bc75ae946">&#9670;&nbsp;</a></span>_BBLIB_DPDK_</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define _BBLIB_DPDK_</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="common_8hpp_source.html#l00040">40</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a1c463cb9865e63120f666efd5a6555b5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1c463cb9865e63120f666efd5a6555b5">&#9670;&nbsp;</a></span>ASSERT_ARRAY_EQ</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define ASSERT_ARRAY_EQ</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">reference, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">actual, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">size&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;<a class="el" href="common_8hpp.html#a8f4a12d5e7aa88ef72d3a59f9d0a85f0">assert_array_eq</a>(reference, actual, size)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="common_8hpp_source.html#l00058">58</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a9a330f0a8f2feff43f1ccedfaf049e03"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9a330f0a8f2feff43f1ccedfaf049e03">&#9670;&nbsp;</a></span>ASSERT_ARRAY_NEAR</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define ASSERT_ARRAY_NEAR</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">reference, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">actual, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">size, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">precision&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;<a class="el" href="common_8hpp.html#aea945be561738ef40c759d617b04255c">assert_array_near</a>(reference, actual, size, precision)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="common_8hpp_source.html#l00055">55</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+
+</div>
+</div>
+<a id="aa748fe650bfa70c23834297931a4a2a7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa748fe650bfa70c23834297931a4a2a7">&#9670;&nbsp;</a></span>ASSERT_AVG_GREATER_COMPLEX</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define ASSERT_AVG_GREATER_COMPLEX</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">reference, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">actual, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">size, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">precision&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;<a class="el" href="common_8hpp.html#a2bbe1c5dcabc83ba7d8485888720da42">assert_avg_greater_complex</a>(reference, actual, size, precision)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="common_8hpp_source.html#l00061">61</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a id="ab701e3ac61a85b337ec5c1abaad6742d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab701e3ac61a85b337ec5c1abaad6742d">&#9670;&nbsp;</a></span>json</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">using <a class="el" href="common_8hpp.html#ab701e3ac61a85b337ec5c1abaad6742d">json</a> =  <a class="el" href="namespacenlohmann.html#ae6eede511f01c9f33342044d36a388fa">nlohmann::json</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="common_8hpp_source.html#l00053">53</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a2f1a3a41e28280d05df6b8d212d9c5c2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2f1a3a41e28280d05df6b8d212d9c5c2">&#9670;&nbsp;</a></span>aligned_free()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void aligned_free </td>
+          <td>(</td>
+          <td class="paramtype">T *&#160;</td>
+          <td class="paramname"><em>ptr</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Frees memory pointed by the given pointer. </p>
+<p>aligned_free is a wrapper for functions that free memory allocated by aligned_malloc: 'rte_free' from DPDK if hugepages are defined and 'free' otherwise.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to the allocated memory. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8hpp_source.html#l00566">566</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+
+</div>
+</div>
+<a id="adfa5a01b33723394c2a1fa179abea990"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adfa5a01b33723394c2a1fa179abea990">&#9670;&nbsp;</a></span>aligned_malloc()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">T* aligned_malloc </td>
+          <td>(</td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const unsigned&#160;</td>
+          <td class="paramname"><em>alignment</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Allocates memory of the given size. </p>
+<p>aligned_malloc is wrapper to functions that allocate memory: 'rte_malloc' from DPDK if hugepages are defined, 'memalign' otherwise. Size is defined as a number of variables of given type e.g. floats, rather than bytes. It hides sizeof(T) multiplication and cast hence makes things cleaner.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the memory to allocate. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">alignment</td><td>Bytes alignment of the allocated memory. If 0, the return is a pointer that is suitably aligned for any kind of variable (in the same manner as malloc()). Otherwise, the return is a pointer that is a multiple of align. In this case, it must be a power of two. (Minimum alignment is the cacheline size, i.e. 64-bytes) </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the allocated memory. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8hpp_source.html#l00544">544</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a8f4a12d5e7aa88ef72d3a59f9d0a85f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8f4a12d5e7aa88ef72d3a59f9d0a85f0">&#9670;&nbsp;</a></span>assert_array_eq()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void assert_array_eq </td>
+          <td>(</td>
+          <td class="paramtype">const T *&#160;</td>
+          <td class="paramname"><em>reference</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T *&#160;</td>
+          <td class="paramname"><em>actual</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>size</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Assert elements of two arrays. It calls ASSERT_EQ for each element of the array. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">reference</td><td>Array with reference values. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">actual</td><td>Array with the actual output. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the array. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8hpp_source.html#l00448">448</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+
+</div>
+</div>
+<a id="aea945be561738ef40c759d617b04255c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aea945be561738ef40c759d617b04255c">&#9670;&nbsp;</a></span>assert_array_near()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void assert_array_near </td>
+          <td>(</td>
+          <td class="paramtype">const T *&#160;</td>
+          <td class="paramname"><em>reference</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T *&#160;</td>
+          <td class="paramname"><em>actual</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const double&#160;</td>
+          <td class="paramname"><em>precision</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Assert elements of two arrays. It calls ASSERT_NEAR for each element of the array. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">reference</td><td>Array with reference values. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">actual</td><td>Array with the actual output. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the array. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">precision</td><td>Precision fo the comparision used by ASSERT_NEAR. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8hpp_source.html#l00465">465</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+
+</div>
+</div>
+<a id="ab5ae003c98bada0196a7085942593271"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab5ae003c98bada0196a7085942593271">&#9670;&nbsp;</a></span>assert_array_near< complex_float >()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="common_8hpp.html#aea945be561738ef40c759d617b04255c">assert_array_near</a>&lt; <a class="el" href="structcomplex__float.html">complex_float</a> &gt; </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="structcomplex__float.html">complex_float</a> *&#160;</td>
+          <td class="paramname"><em>reference</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="structcomplex__float.html">complex_float</a> *&#160;</td>
+          <td class="paramname"><em>actual</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const double&#160;</td>
+          <td class="paramname"><em>precision</em>&#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="common_8hpp_source.html#l00475">475</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a2bbe1c5dcabc83ba7d8485888720da42"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2bbe1c5dcabc83ba7d8485888720da42">&#9670;&nbsp;</a></span>assert_avg_greater_complex()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void assert_avg_greater_complex </td>
+          <td>(</td>
+          <td class="paramtype">const T *&#160;</td>
+          <td class="paramname"><em>reference</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T *&#160;</td>
+          <td class="paramname"><em>actual</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const int&#160;</td>
+          <td class="paramname"><em>size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const double&#160;</td>
+          <td class="paramname"><em>precision</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Assert average diff of two arrays. It calls ASSERT_GT to check the average. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">reference</td><td>Array with reference values, interleaved IQ inputs. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">actual</td><td>Array with the actual output, interleaved IQ inputs. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the array, based on complex inputs. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">precision</td><td>Precision for the comparison used by ASSERT_GT. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8hpp_source.html#l00494">494</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+
+</div>
+</div>
+<a id="ae39390f41ba978a1f0d79691436c074a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae39390f41ba978a1f0d79691436c074a">&#9670;&nbsp;</a></span>bind_to_cpu()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int bind_to_cpu </td>
+          <td>(</td>
+          <td class="paramtype">const unsigned&#160;</td>
+          <td class="paramname"><em>cpu</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Attach current process to the selected core. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">cpu</td><td>Core number. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>0 on success, -1 otherwise. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8cpp_source.html#l00047">47</a> of file <a class="el" href="common_8cpp_source.html">common.cpp</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="common_8hpp_ae39390f41ba978a1f0d79691436c074a_icgraph.png" border="0" usemap="#common_8hpp_ae39390f41ba978a1f0d79691436c074a_icgraph" alt=""/></div>
+<map name="common_8hpp_ae39390f41ba978a1f0d79691436c074a_icgraph" id="common_8hpp_ae39390f41ba978a1f0d79691436c074a_icgraph">
+<area shape="rect" id="node2" href="structreading__input__file__exception.html#a70518905d36686ddeeb2eb3b2682f016" title="reading_input_file\l_exception::what" alt="" coords="170,71,293,112"/>
+<area shape="rect" id="node5" href="class_kernel_tests.html#a3cf2e25a99be565a4ab570737cfeac41" title="Run performance test case for a given function. " alt="" coords="145,137,317,163"/>
+<area shape="rect" id="node3" href="class_kernel_tests.html#a6dc1bccfd02f1a94b5c799c15cd98135" title="Load selected data from a JSON object. get_input_parameter loads data from parameters section of the ..." alt="" coords="378,5,531,47"/>
+<area shape="rect" id="node4" href="class_kernel_tests.html#adfbe724335d86320c9839c426c4d5715" title="KernelTests::get_reference\l_parameter" alt="" coords="365,71,544,112"/>
+<area shape="rect" id="node6" href="c__plane__tests_8cc.html#a21d05f2c6607fc534e67ed32883de81f" title="TEST_P" alt="" coords="419,137,491,163"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a8265b710246f9019ff14556adf5eb35a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8265b710246f9019ff14556adf5eb35a">&#9670;&nbsp;</a></span>calculate_statistics()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::pair&lt;double, double&gt; calculate_statistics </td>
+          <td>(</td>
+          <td class="paramtype">const std::vector&lt; long &gt;&#160;</td>
+          <td class="paramname"><em>values</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Calculate the mean and variance from the result of the run_benchmark. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">values</td><td>Vector with result values. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>std::pair where the first element is mean and the second one is standard deviation. </dd></dl>
+<dl class="section note"><dt>Note</dt><dd>It's not a general mean/stddev function it only works properly when feed with data from the benchmark function. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8cpp_source.html#l00060">60</a> of file <a class="el" href="common_8cpp_source.html">common.cpp</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="common_8hpp_a8265b710246f9019ff14556adf5eb35a_icgraph.png" border="0" usemap="#common_8hpp_a8265b710246f9019ff14556adf5eb35a_icgraph" alt=""/></div>
+<map name="common_8hpp_a8265b710246f9019ff14556adf5eb35a_icgraph" id="common_8hpp_a8265b710246f9019ff14556adf5eb35a_icgraph">
+<area shape="rect" id="node2" href="structreading__input__file__exception.html#a70518905d36686ddeeb2eb3b2682f016" title="reading_input_file\l_exception::what" alt="" coords="188,71,311,112"/>
+<area shape="rect" id="node5" href="common_8hpp.html#af69d779517f2bdee3aba95bc38022074" title="Run the given function and return the mean run time and stddev. " alt="" coords="194,137,305,163"/>
+<area shape="rect" id="node3" href="class_kernel_tests.html#a6dc1bccfd02f1a94b5c799c15cd98135" title="Load selected data from a JSON object. get_input_parameter loads data from parameters section of the ..." alt="" coords="371,5,525,47"/>
+<area shape="rect" id="node4" href="class_kernel_tests.html#adfbe724335d86320c9839c426c4d5715" title="KernelTests::get_reference\l_parameter" alt="" coords="359,71,537,112"/>
+<area shape="rect" id="node6" href="class_kernel_tests.html#a3cf2e25a99be565a4ab570737cfeac41" title="Run performance test case for a given function. " alt="" coords="362,137,534,163"/>
+<area shape="rect" id="node7" href="c__plane__tests_8cc.html#a21d05f2c6607fc534e67ed32883de81f" title="TEST_P" alt="" coords="585,137,657,163"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a6b7eb6e3593756a484e8e73ba7456683"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6b7eb6e3593756a484e8e73ba7456683">&#9670;&nbsp;</a></span>generate_random_data()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">T* generate_random_data </td>
+          <td>(</td>
+          <td class="paramtype">const long&#160;</td>
+          <td class="paramname"><em>size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const unsigned&#160;</td>
+          <td class="paramname"><em>alignment</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>generate random data. </p>
+<p>It allocates memory and populate it with random data using C++11 default engine and uniform integer distribution (bytes not floats are uniformly distributed). Don't forget to free allocated memory!</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the memory to be filled with random data. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">alignment</td><td>Bytes alignment of the memory. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the allocated memory with random data. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8hpp_source.html#l00618">618</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a152b12cc7a564929ac984e570020e548"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a152b12cc7a564929ac984e570020e548">&#9670;&nbsp;</a></span>generate_random_int_numbers()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">T* generate_random_int_numbers </td>
+          <td>(</td>
+          <td class="paramtype">const long&#160;</td>
+          <td class="paramname"><em>size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const unsigned&#160;</td>
+          <td class="paramname"><em>alignment</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T&#160;</td>
+          <td class="paramname"><em>lo_range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T&#160;</td>
+          <td class="paramname"><em>up_range</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>generate integer random numbers. </p>
+<p>It allocates memory and populate it with random numbers using C++11 default engine and uniform integer distribution (where lo_range &lt;= x &lt; up_range). Don't forget to free allocated memory! The result type generated by the generator should be one of int types.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the memory to be filled with random data. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">alignment</td><td>Bytes alignment of the memory. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">lo_range</td><td>Lower bound of range of values returned by random generator. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">up_range</td><td>Upper bound of range of values returned by random generator. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the allocated memory with random data. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8hpp_source.html#l00640">640</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+
+</div>
+</div>
+<a id="ae1d15fbbdb031b5ab34dfc289d93a6c9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae1d15fbbdb031b5ab34dfc289d93a6c9">&#9670;&nbsp;</a></span>generate_random_numbers()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">T* generate_random_numbers </td>
+          <td>(</td>
+          <td class="paramtype">const long&#160;</td>
+          <td class="paramname"><em>size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const unsigned&#160;</td>
+          <td class="paramname"><em>alignment</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">U &amp;&#160;</td>
+          <td class="paramname"><em>distribution</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>generate random numbers. </p>
+<p>It allocates memory and populate it with random numbers using C++11 default engine and uniform real / int distribution (where lo_range &lt;= x &lt;up_range). Don't forget to free allocated memory!</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the memory to be filled with random data. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">alignment</td><td>Bytes alignment of the memory. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">distribution</td><td>Distribuiton for random generator. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the allocated memory with random data. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8hpp_source.html#l00593">593</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+
+</div>
+</div>
+<a id="ad93fb4e37255c588def24071ede04229"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad93fb4e37255c588def24071ede04229">&#9670;&nbsp;</a></span>generate_random_real_numbers()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">T* generate_random_real_numbers </td>
+          <td>(</td>
+          <td class="paramtype">const long&#160;</td>
+          <td class="paramname"><em>size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const unsigned&#160;</td>
+          <td class="paramname"><em>alignment</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T&#160;</td>
+          <td class="paramname"><em>lo_range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T&#160;</td>
+          <td class="paramname"><em>up_range</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>generate real random numbers. </p>
+<p>It allocates memory and populate it with random numbers using C++11 default engine and uniform real distribution (where lo_range &lt;= x &lt;up_range). Don't forget to free allocated memory! The result type generated by the generator should be one of real types: float, double or long double.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the memory to be filled with random data. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">alignment</td><td>Bytes alignment of the memory. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">lo_range</td><td>Lower bound of range of values returned by random generator. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">up_range</td><td>Upper bound of range of values returned by random generator. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the allocated memory with random data. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8hpp_source.html#l00663">663</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+
+</div>
+</div>
+<a id="a39bf4f7770751080f5b72046abfd01a5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a39bf4f7770751080f5b72046abfd01a5">&#9670;&nbsp;</a></span>get_sequence()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::vector&lt;unsigned&gt; get_sequence </td>
+          <td>(</td>
+          <td class="paramtype">const unsigned&#160;</td>
+          <td class="paramname"><em>number</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>For a given number return sequence of number from 0 to number - 1. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">number</td><td>Positive integer value. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Vector with the sorted integer numbers between 0 and number - 1. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8cpp_source.html#l00078">78</a> of file <a class="el" href="common_8cpp_source.html">common.cpp</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="common_8hpp_a39bf4f7770751080f5b72046abfd01a5_icgraph.png" border="0" usemap="#common_8hpp_a39bf4f7770751080f5b72046abfd01a5_icgraph" alt=""/></div>
+<map name="common_8hpp_a39bf4f7770751080f5b72046abfd01a5_icgraph" id="common_8hpp_a39bf4f7770751080f5b72046abfd01a5_icgraph">
+<area shape="rect" id="node2" href="c__plane__tests_8cc.html#ab0ad0e23f1b51f15bd9594a24a2c438f" title="TEST_P" alt="" coords="181,5,253,32"/>
+<area shape="rect" id="node3" href="structreading__input__file__exception.html#a70518905d36686ddeeb2eb3b2682f016" title="reading_input_file\l_exception::what" alt="" coords="156,57,279,98"/>
+<area shape="rect" id="node4" href="class_kernel_tests.html#a6dc1bccfd02f1a94b5c799c15cd98135" title="Load selected data from a JSON object. get_input_parameter loads data from parameters section of the ..." alt="" coords="339,23,493,65"/>
+<area shape="rect" id="node5" href="class_kernel_tests.html#adfbe724335d86320c9839c426c4d5715" title="KernelTests::get_reference\l_parameter" alt="" coords="327,89,505,130"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a876ed07783b27d38779f7cef4db673e6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a876ed07783b27d38779f7cef4db673e6">&#9670;&nbsp;</a></span>read_data_to_aligned_array()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">char* read_data_to_aligned_array </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>filename</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Read binary data from the file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>name of the binary file. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Pointer to the allocated memory with data from the file. </dd></dl>
+<dl class="exception"><dt>Exceptions</dt><dd>
+  <table class="exception">
+    <tr><td class="paramname">std::runtime_error</td><td>when memory cannot be allocated. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8cpp_source.html#l00086">86</a> of file <a class="el" href="common_8cpp_source.html">common.cpp</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="common_8hpp_a876ed07783b27d38779f7cef4db673e6_icgraph.png" border="0" usemap="#common_8hpp_a876ed07783b27d38779f7cef4db673e6_icgraph" alt=""/></div>
+<map name="common_8hpp_a876ed07783b27d38779f7cef4db673e6_icgraph" id="common_8hpp_a876ed07783b27d38779f7cef4db673e6_icgraph">
+<area shape="rect" id="node2" href="structreading__input__file__exception.html#a70518905d36686ddeeb2eb3b2682f016" title="reading_input_file\l_exception::what" alt="" coords="211,71,333,112"/>
+<area shape="rect" id="node5" href="class_kernel_tests.html#abf28e5ea54fab2b0685972fe6e75560a" title="Defines section in the conf.json that is used to load parameters from. " alt="" coords="199,238,345,265"/>
+<area shape="rect" id="node3" href="class_kernel_tests.html#a6dc1bccfd02f1a94b5c799c15cd98135" title="Load selected data from a JSON object. get_input_parameter loads data from parameters section of the ..." alt="" coords="406,5,559,47"/>
+<area shape="rect" id="node4" href="class_kernel_tests.html#adfbe724335d86320c9839c426c4d5715" title="KernelTests::get_reference\l_parameter" alt="" coords="393,71,572,112"/>
+<area shape="rect" id="node6" href="class_c__plane.html#a3a1707f6479611fdc609a3eb8a0cef1b" title="C_plane::SetUp" alt="" coords="425,137,540,163"/>
+<area shape="rect" id="node7" href="class_test_chain.html#a3a1707f6479611fdc609a3eb8a0cef1b" title="TestChain::SetUp" alt="" coords="419,187,546,214"/>
+<area shape="rect" id="node8" href="class_prach_check.html#a3a1707f6479611fdc609a3eb8a0cef1b" title="PrachCheck::SetUp" alt="" coords="413,238,552,265"/>
+<area shape="rect" id="node9" href="class_prach_perf.html#a3a1707f6479611fdc609a3eb8a0cef1b" title="PrachPerf::SetUp" alt="" coords="420,289,545,315"/>
+<area shape="rect" id="node10" href="class_u__plane_check.html#a3a1707f6479611fdc609a3eb8a0cef1b" title="U_planeCheck::SetUp" alt="" coords="406,339,559,366"/>
+<area shape="rect" id="node11" href="class_u__plane_perf.html#a3a1707f6479611fdc609a3eb8a0cef1b" title="U_planePerf::SetUp" alt="" coords="413,390,552,417"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="ad8c062e9b24e4b3a8408b23a0d8ab428"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8c062e9b24e4b3a8408b23a0d8ab428">&#9670;&nbsp;</a></span>read_json_from_file()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="common_8hpp.html#ab701e3ac61a85b337ec5c1abaad6742d">json</a> read_json_from_file </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>filename</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Read JSON from the given file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>name of the .json file. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>JSON object with data. </dd></dl>
+<dl class="exception"><dt>Exceptions</dt><dd>
+  <table class="exception">
+    <tr><td class="paramname"><a class="el" href="structmissing__config__file__exception.html">missing_config_file_exception</a></td><td>when file cannot be opened. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8cpp_source.html#l00106">106</a> of file <a class="el" href="common_8cpp_source.html">common.cpp</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="common_8hpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph.png" border="0" usemap="#common_8hpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph" alt=""/></div>
+<map name="common_8hpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph" id="common_8hpp_ad8c062e9b24e4b3a8408b23a0d8ab428_icgraph">
+<area shape="rect" id="node2" href="structreading__input__file__exception.html#a70518905d36686ddeeb2eb3b2682f016" title="reading_input_file\l_exception::what" alt="" coords="226,41,349,83"/>
+<area shape="rect" id="node5" href="class_kernel_tests.html#aad8181b222f27240e9f07dcb6e620fa3" title="KernelTests::SetUpTestCase" alt="" coords="190,107,385,134"/>
+<area shape="rect" id="node6" href="class_kernel_tests.html#a6157ff083be863bba0a7804cd1788d96" title="KernelTests::get_number\l_of_cases" alt="" coords="203,159,371,200"/>
+<area shape="rect" id="node8" href="classxran_lib_wraper.html#a2e64fc338fcfaac25af91aae564777fa" title="xranLibWraper::xranLibWraper" alt="" coords="188,225,387,251"/>
+<area shape="rect" id="node3" href="class_kernel_tests.html#a6dc1bccfd02f1a94b5c799c15cd98135" title="Load selected data from a JSON object. get_input_parameter loads data from parameters section of the ..." alt="" coords="447,5,601,47"/>
+<area shape="rect" id="node4" href="class_kernel_tests.html#adfbe724335d86320c9839c426c4d5715" title="KernelTests::get_reference\l_parameter" alt="" coords="435,71,613,112"/>
+<area shape="rect" id="node7" href="c__plane__tests_8cc.html#ab0ad0e23f1b51f15bd9594a24a2c438f" title="TEST_P" alt="" coords="488,166,560,193"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="af69d779517f2bdee3aba95bc38022074"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af69d779517f2bdee3aba95bc38022074">&#9670;&nbsp;</a></span>run_benchmark()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::pair&lt;double, double&gt; run_benchmark </td>
+          <td>(</td>
+          <td class="paramtype">F&#160;</td>
+          <td class="paramname"><em>function</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Args ...&#160;</td>
+          <td class="paramname"><em>args</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Run the given function and return the mean run time and stddev. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">function</td><td>Function to benchmark. </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>Function's arguments. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>std::pair where the first element is mean and the second one is standard deviation. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8hpp_source.html#l00425">425</a> of file <a class="el" href="common_8hpp_source.html">common.hpp</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="common_8hpp_af69d779517f2bdee3aba95bc38022074_cgraph.png" border="0" usemap="#common_8hpp_af69d779517f2bdee3aba95bc38022074_cgraph" alt=""/></div>
+<map name="common_8hpp_af69d779517f2bdee3aba95bc38022074_cgraph" id="common_8hpp_af69d779517f2bdee3aba95bc38022074_cgraph">
+<area shape="rect" id="node2" href="common_8hpp.html#a8265b710246f9019ff14556adf5eb35a" title="Calculate the mean and variance from the result of the run_benchmark. " alt="" coords="164,5,299,32"/>
+</map>
+</div>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="common_8hpp_af69d779517f2bdee3aba95bc38022074_icgraph.png" border="0" usemap="#common_8hpp_af69d779517f2bdee3aba95bc38022074_icgraph" alt=""/></div>
+<map name="common_8hpp_af69d779517f2bdee3aba95bc38022074_icgraph" id="common_8hpp_af69d779517f2bdee3aba95bc38022074_icgraph">
+<area shape="rect" id="node2" href="class_kernel_tests.html#a3cf2e25a99be565a4ab570737cfeac41" title="Run performance test case for a given function. " alt="" coords="164,5,336,32"/>
+<area shape="rect" id="node3" href="c__plane__tests_8cc.html#a21d05f2c6607fc534e67ed32883de81f" title="TEST_P" alt="" coords="384,5,456,32"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a56c41cbb9de4bce25da45ecd74b46a81"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a56c41cbb9de4bce25da45ecd74b46a81">&#9670;&nbsp;</a></span>tsc_recovery()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned long tsc_recovery </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Measure the TSC on the machine. </p>
+<dl class="section return"><dt>Returns</dt><dd>Number of ticks per us </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8cpp_source.html#l00119">119</a> of file <a class="el" href="common_8cpp_source.html">common.cpp</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph.png" border="0" usemap="#common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph" alt=""/></div>
+<map name="common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph" id="common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_cgraph">
+<area shape="rect" id="node2" href="common_8cpp.html#a0ab5719a5f67d4d52057b2c4550fe930" title="Return the current value of the TSC. " alt="" coords="151,5,219,32"/>
+</map>
+</div>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph.png" border="0" usemap="#common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph" alt=""/></div>
+<map name="common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph" id="common_8hpp_a56c41cbb9de4bce25da45ecd74b46a81_icgraph">
+<area shape="rect" id="node2" href="structreading__input__file__exception.html#a70518905d36686ddeeb2eb3b2682f016" title="reading_input_file\l_exception::what" alt="" coords="187,39,309,80"/>
+<area shape="rect" id="node5" href="class_kernel_tests.html#aad8181b222f27240e9f07dcb6e620fa3" title="KernelTests::SetUpTestCase" alt="" coords="151,105,345,131"/>
+<area shape="rect" id="node3" href="class_kernel_tests.html#a6dc1bccfd02f1a94b5c799c15cd98135" title="Load selected data from a JSON object. get_input_parameter loads data from parameters section of the ..." alt="" coords="406,5,559,47"/>
+<area shape="rect" id="node4" href="class_kernel_tests.html#adfbe724335d86320c9839c426c4d5715" title="KernelTests::get_reference\l_parameter" alt="" coords="393,71,572,112"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="a0ab5719a5f67d4d52057b2c4550fe930"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ab5719a5f67d4d52057b2c4550fe930">&#9670;&nbsp;</a></span>tsc_tick()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned long tsc_tick </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Return the current value of the TSC. </p>
+<dl class="section return"><dt>Returns</dt><dd>Current TSC value </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="common_8cpp_source.html#l00162">162</a> of file <a class="el" href="common_8cpp_source.html">common.cpp</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="common_8hpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph.png" border="0" usemap="#common_8hpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph" alt=""/></div>
+<map name="common_8hpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph" id="common_8hpp_a0ab5719a5f67d4d52057b2c4550fe930_icgraph">
+<area shape="rect" id="node2" href="common_8hpp.html#a56c41cbb9de4bce25da45ecd74b46a81" title="Measure the TSC on the machine. " alt="" coords="121,95,219,122"/>
+<area shape="rect" id="node3" href="structreading__input__file__exception.html#a70518905d36686ddeeb2eb3b2682f016" title="reading_input_file\l_exception::what" alt="" coords="303,37,425,79"/>
+<area shape="rect" id="node6" href="class_kernel_tests.html#aad8181b222f27240e9f07dcb6e620fa3" title="KernelTests::SetUpTestCase" alt="" coords="267,103,461,130"/>
+<area shape="rect" id="node4" href="class_kernel_tests.html#a6dc1bccfd02f1a94b5c799c15cd98135" title="Load selected data from a JSON object. get_input_parameter loads data from parameters section of the ..." alt="" coords="522,5,675,47"/>
+<area shape="rect" id="node5" href="class_kernel_tests.html#adfbe724335d86320c9839c426c4d5715" title="KernelTests::get_reference\l_parameter" alt="" coords="509,71,688,112"/>
+</map>
+</div>
+
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.13
+</small></address>
+</body>
+</html>