1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xmlns="http://www.w3.org/1999/xhtml"> 3<head> 4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 5<meta http-equiv="X-UA-Compatible" content="IE=9"/> 6<meta name="generator" content="Doxygen 1.8.9.1"/> 7<title>Boost.Sort: I:/modular-boost/libs/sort/example/binaryalrbreaker.cpp File Reference</title> 8<link href="tabs.css" rel="stylesheet" type="text/css"/> 9<script type="text/javascript" src="jquery.js"></script> 10<script type="text/javascript" src="dynsections.js"></script> 11<link href="search/search.css" rel="stylesheet" type="text/css"/> 12<script type="text/javascript" src="search/searchdata.js"></script> 13<script type="text/javascript" src="search/search.js"></script> 14<script type="text/javascript"> 15 $(document).ready(function() { init_search(); }); 16</script> 17<link href="doxygen.css" rel="stylesheet" type="text/css" /> 18</head> 19<body> 20<div id="top"><!-- do not remove this div, it is closed by doxygen! --> 21<div id="titlearea"> 22<table cellspacing="0" cellpadding="0"> 23 <tbody> 24 <tr style="height: 56px;"> 25 <td style="padding-left: 0.5em;"> 26 <div id="projectname">Boost.Sort 27 </div> 28 </td> 29 </tr> 30 </tbody> 31</table> 32</div> 33<!-- end header part --> 34<!-- Generated by Doxygen 1.8.9.1 --> 35<script type="text/javascript"> 36var searchBox = new SearchBox("searchBox", "search",false,'Search'); 37</script> 38 <div id="navrow1" class="tabs"> 39 <ul class="tablist"> 40 <li><a href="index.html"><span>Main Page</span></a></li> 41 <li><a href="namespaces.html"><span>Namespaces</span></a></li> 42 <li><a href="annotated.html"><span>Classes</span></a></li> 43 <li class="current"><a href="files.html"><span>Files</span></a></li> 44 <li> 45 <div id="MSearchBox" class="MSearchBoxInactive"> 46 <span class="left"> 47 <img id="MSearchSelect" src="search/mag_sel.png" 48 onmouseover="return searchBox.OnSearchSelectShow()" 49 onmouseout="return searchBox.OnSearchSelectHide()" 50 alt=""/> 51 <input type="text" id="MSearchField" value="Search" accesskey="S" 52 onfocus="searchBox.OnSearchFieldFocus(true)" 53 onblur="searchBox.OnSearchFieldFocus(false)" 54 onkeyup="searchBox.OnSearchFieldChange(event)"/> 55 </span><span class="right"> 56 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> 57 </span> 58 </div> 59 </li> 60 </ul> 61 </div> 62 <div id="navrow2" class="tabs2"> 63 <ul class="tablist"> 64 <li><a href="files.html"><span>File List</span></a></li> 65 <li><a href="globals.html"><span>File Members</span></a></li> 66 </ul> 67 </div> 68<!-- window showing the filter options --> 69<div id="MSearchSelectWindow" 70 onmouseover="return searchBox.OnSearchSelectShow()" 71 onmouseout="return searchBox.OnSearchSelectHide()" 72 onkeydown="return searchBox.OnSearchSelectKey(event)"> 73</div> 74 75<!-- iframe showing the search results (closed by default) --> 76<div id="MSearchResultsWindow"> 77<iframe src="javascript:void(0)" frameborder="0" 78 name="MSearchResults" id="MSearchResults"> 79</iframe> 80</div> 81 82<div id="nav-path" class="navpath"> 83 <ul> 84<li class="navelem"><a class="el" href="dir_cfafba98a580ce4b62f8a6fa96d7cbb0.html">example</a></li> </ul> 85</div> 86</div><!-- top --> 87<div class="header"> 88 <div class="summary"> 89<a href="#define-members">Macros</a> | 90<a href="#func-members">Functions</a> | 91<a href="#var-members">Variables</a> </div> 92 <div class="headertitle"> 93<div class="title">binaryalrbreaker.cpp File Reference</div> </div> 94</div><!--header--> 95<div class="contents"> 96<div class="textblock"><code>#include <<a class="el" href="spreadsort_8hpp_source.html">boost/sort/spreadsort/spreadsort.hpp</a>></code><br /> 97<code>#include <time.h></code><br /> 98<code>#include <stdio.h></code><br /> 99<code>#include <stdlib.h></code><br /> 100<code>#include <algorithm></code><br /> 101<code>#include <vector></code><br /> 102<code>#include <string></code><br /> 103<code>#include <fstream></code><br /> 104<code>#include <sstream></code><br /> 105<code>#include <iostream></code><br /> 106</div><table class="memberdecls"> 107<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> 108Macros</h2></td></tr> 109<tr class="memitem:afb8c72ce35c4a1f4a2588d6573e54aa1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="binaryalrbreaker_8cpp.html#afb8c72ce35c4a1f4a2588d6573e54aa1">DATA_TYPE</a>   boost::uint64_t</td></tr> 110<tr class="separator:afb8c72ce35c4a1f4a2588d6573e54aa1"><td class="memSeparator" colspan="2"> </td></tr> 111<tr class="memitem:a3bc09656dab629cfa24aa2ab3f44a3e6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="binaryalrbreaker_8cpp.html#a3bc09656dab629cfa24aa2ab3f44a3e6">ALR_THRESHOLD</a>   3</td></tr> 112<tr class="separator:a3bc09656dab629cfa24aa2ab3f44a3e6"><td class="memSeparator" colspan="2"> </td></tr> 113</table><table class="memberdecls"> 114<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> 115Functions</h2></td></tr> 116<tr class="memitem:ac9ac611850049644567c33a1b01e108a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="binaryalrbreaker_8cpp.html#ac9ac611850049644567c33a1b01e108a">fill_vector</a> (vector< <a class="el" href="struct_d_a_t_a___t_y_p_e.html">DATA_TYPE</a> > &input, const <a class="el" href="struct_d_a_t_a___t_y_p_e.html">DATA_TYPE</a> base_value, unsigned remaining_bits, const vector< unsigned > &indices, int index)</td></tr> 117<tr class="separator:ac9ac611850049644567c33a1b01e108a"><td class="memSeparator" colspan="2"> </td></tr> 118<tr class="memitem:a0154ebfc03900bb5789ff9a306a480a9"><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="binaryalrbreaker_8cpp.html#a0154ebfc03900bb5789ff9a306a480a9">get_index</a> (unsigned count)</td></tr> 119<tr class="separator:a0154ebfc03900bb5789ff9a306a480a9"><td class="memSeparator" colspan="2"> </td></tr> 120<tr class="memitem:a0fc34f49b0e6eaed5e5c3accb409b1d1"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="binaryalrbreaker_8cpp.html#a0fc34f49b0e6eaed5e5c3accb409b1d1">main</a> (int, const char **)</td></tr> 121<tr class="separator:a0fc34f49b0e6eaed5e5c3accb409b1d1"><td class="memSeparator" colspan="2"> </td></tr> 122</table><table class="memberdecls"> 123<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> 124Variables</h2></td></tr> 125<tr class="memitem:a4587b2f61869f9798cb12a8ebb37387d"><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="binaryalrbreaker_8cpp.html#a4587b2f61869f9798cb12a8ebb37387d">max_count</a> = <a class="el" href="binaryalrbreaker_8cpp.html#a3bc09656dab629cfa24aa2ab3f44a3e6">ALR_THRESHOLD</a> - 1</td></tr> 126<tr class="separator:a4587b2f61869f9798cb12a8ebb37387d"><td class="memSeparator" colspan="2"> </td></tr> 127<tr class="memitem:a50fb2847ba87c9bd84e0c5c8a951f9de"><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="binaryalrbreaker_8cpp.html#a50fb2847ba87c9bd84e0c5c8a951f9de">bit_shift</a></td></tr> 128<tr class="separator:a50fb2847ba87c9bd84e0c5c8a951f9de"><td class="memSeparator" colspan="2"> </td></tr> 129<tr class="memitem:afc30457e398e72300f20714123913b78"><td class="memItemLeft" align="right" valign="top">const unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="binaryalrbreaker_8cpp.html#afc30457e398e72300f20714123913b78">radix_threshold</a> = detail::rough_log_2_size(<a class="el" href="binaryalrbreaker_8cpp.html#a4587b2f61869f9798cb12a8ebb37387d">max_count</a>) + 1</td></tr> 130<tr class="separator:afc30457e398e72300f20714123913b78"><td class="memSeparator" colspan="2"> </td></tr> 131<tr class="memitem:a8b984673f3b3e097d3f37508923452fa"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="struct_d_a_t_a___t_y_p_e.html">DATA_TYPE</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="binaryalrbreaker_8cpp.html#a8b984673f3b3e097d3f37508923452fa">typed_one</a> = 1</td></tr> 132<tr class="separator:a8b984673f3b3e097d3f37508923452fa"><td class="memSeparator" colspan="2"> </td></tr> 133</table> 134<h2 class="groupheader">Macro Definition Documentation</h2> 135<a class="anchor" id="a3bc09656dab629cfa24aa2ab3f44a3e6"></a> 136<div class="memitem"> 137<div class="memproto"> 138 <table class="memname"> 139 <tr> 140 <td class="memname">#define ALR_THRESHOLD   3</td> 141 </tr> 142 </table> 143</div><div class="memdoc"> 144 145</div> 146</div> 147<a class="anchor" id="afb8c72ce35c4a1f4a2588d6573e54aa1"></a> 148<div class="memitem"> 149<div class="memproto"> 150 <table class="memname"> 151 <tr> 152 <td class="memname">#define <a class="el" href="struct_d_a_t_a___t_y_p_e.html">DATA_TYPE</a>   boost::uint64_t</td> 153 </tr> 154 </table> 155</div><div class="memdoc"> 156 157</div> 158</div> 159<h2 class="groupheader">Function Documentation</h2> 160<a class="anchor" id="ac9ac611850049644567c33a1b01e108a"></a> 161<div class="memitem"> 162<div class="memproto"> 163 <table class="memname"> 164 <tr> 165 <td class="memname">void fill_vector </td> 166 <td>(</td> 167 <td class="paramtype">vector< <a class="el" href="struct_d_a_t_a___t_y_p_e.html">DATA_TYPE</a> > & </td> 168 <td class="paramname"><em>input</em>, </td> 169 </tr> 170 <tr> 171 <td class="paramkey"></td> 172 <td></td> 173 <td class="paramtype">const <a class="el" href="struct_d_a_t_a___t_y_p_e.html">DATA_TYPE</a> </td> 174 <td class="paramname"><em>base_value</em>, </td> 175 </tr> 176 <tr> 177 <td class="paramkey"></td> 178 <td></td> 179 <td class="paramtype">unsigned </td> 180 <td class="paramname"><em>remaining_bits</em>, </td> 181 </tr> 182 <tr> 183 <td class="paramkey"></td> 184 <td></td> 185 <td class="paramtype">const vector< unsigned > & </td> 186 <td class="paramname"><em>indices</em>, </td> 187 </tr> 188 <tr> 189 <td class="paramkey"></td> 190 <td></td> 191 <td class="paramtype">int </td> 192 <td class="paramname"><em>index</em> </td> 193 </tr> 194 <tr> 195 <td></td> 196 <td>)</td> 197 <td></td><td></td> 198 </tr> 199 </table> 200</div><div class="memdoc"> 201 202</div> 203</div> 204<a class="anchor" id="a0154ebfc03900bb5789ff9a306a480a9"></a> 205<div class="memitem"> 206<div class="memproto"> 207 <table class="memname"> 208 <tr> 209 <td class="memname">unsigned get_index </td> 210 <td>(</td> 211 <td class="paramtype">unsigned </td> 212 <td class="paramname"><em>count</em></td><td>)</td> 213 <td></td> 214 </tr> 215 </table> 216</div><div class="memdoc"> 217 218</div> 219</div> 220<a class="anchor" id="a0fc34f49b0e6eaed5e5c3accb409b1d1"></a> 221<div class="memitem"> 222<div class="memproto"> 223 <table class="memname"> 224 <tr> 225 <td class="memname">int main </td> 226 <td>(</td> 227 <td class="paramtype">int </td> 228 <td class="paramname">, </td> 229 </tr> 230 <tr> 231 <td class="paramkey"></td> 232 <td></td> 233 <td class="paramtype">const char ** </td> 234 <td class="paramname"> </td> 235 </tr> 236 <tr> 237 <td></td> 238 <td>)</td> 239 <td></td><td></td> 240 </tr> 241 </table> 242</div><div class="memdoc"> 243 244</div> 245</div> 246<h2 class="groupheader">Variable Documentation</h2> 247<a class="anchor" id="a50fb2847ba87c9bd84e0c5c8a951f9de"></a> 248<div class="memitem"> 249<div class="memproto"> 250 <table class="memname"> 251 <tr> 252 <td class="memname">const unsigned bit_shift</td> 253 </tr> 254 </table> 255</div><div class="memdoc"> 256<b>Initial value:</b><div class="fragment"><div class="line">= detail::rough_log_2_size(<a class="code" href="binaryalrbreaker_8cpp.html#a4587b2f61869f9798cb12a8ebb37387d">max_count</a>) -</div> 257<div class="line"> detail::int_log_mean_bin_size</div> 258<div class="ttc" id="binaryalrbreaker_8cpp_html_a4587b2f61869f9798cb12a8ebb37387d"><div class="ttname"><a href="binaryalrbreaker_8cpp.html#a4587b2f61869f9798cb12a8ebb37387d">max_count</a></div><div class="ttdeci">const unsigned max_count</div><div class="ttdef"><b>Definition:</b> binaryalrbreaker.cpp:28</div></div> 259</div><!-- fragment --> 260</div> 261</div> 262<a class="anchor" id="a4587b2f61869f9798cb12a8ebb37387d"></a> 263<div class="memitem"> 264<div class="memproto"> 265 <table class="memname"> 266 <tr> 267 <td class="memname">const unsigned max_count = <a class="el" href="binaryalrbreaker_8cpp.html#a3bc09656dab629cfa24aa2ab3f44a3e6">ALR_THRESHOLD</a> - 1</td> 268 </tr> 269 </table> 270</div><div class="memdoc"> 271 272</div> 273</div> 274<a class="anchor" id="afc30457e398e72300f20714123913b78"></a> 275<div class="memitem"> 276<div class="memproto"> 277 <table class="memname"> 278 <tr> 279 <td class="memname">const unsigned radix_threshold = detail::rough_log_2_size(<a class="el" href="binaryalrbreaker_8cpp.html#a4587b2f61869f9798cb12a8ebb37387d">max_count</a>) + 1</td> 280 </tr> 281 </table> 282</div><div class="memdoc"> 283 284</div> 285</div> 286<a class="anchor" id="a8b984673f3b3e097d3f37508923452fa"></a> 287<div class="memitem"> 288<div class="memproto"> 289 <table class="memname"> 290 <tr> 291 <td class="memname">const <a class="el" href="struct_d_a_t_a___t_y_p_e.html">DATA_TYPE</a> typed_one = 1</td> 292 </tr> 293 </table> 294</div><div class="memdoc"> 295 296</div> 297</div> 298</div><!-- contents --> 299<!-- start footer part --> 300<hr class="footer"/><address class="footer"><small> 301Generated on Fri Jan 9 2015 14:20:24 for Boost.Sort by  <a href="http://www.doxygen.org/index.html"> 302<img class="footer" src="doxygen.png" alt="doxygen"/> 303</a> 1.8.9.1 304</small></address> 305</body> 306</html> 307