-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbose__nelson_8hpp_source.html
167 lines (165 loc) · 96.9 KB
/
bose__nelson_8hpp_source.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<!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>tlx: tlx/sort/networks/bose_nelson.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.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">tlx
</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 Page</span></a></li>
<li><a href="pages.html"><span>Related 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>Classes</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 List</span></a></li>
<li><a href="globals.html"><span>File Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('bose__nelson_8hpp_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">bose_nelson.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="bose__nelson_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*******************************************************************************</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * tlx/sort/networks/bose_nelson.hpp</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Recursively called Bose-Nelson sorting networks.</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * Part of tlx - http://panthema.net/tlx</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * Copyright (C) 2018-2020 Jasper Marianczuk <[email protected]></span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * Copyright (C) 2020 Timo Bingmann <[email protected]></span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * All rights reserved. Published under the Boost Software License, Version 1.0</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> ******************************************************************************/</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#ifndef TLX_SORT_NETWORKS_BOSE_NELSON_HEADER</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#define TLX_SORT_NETWORKS_BOSE_NELSON_HEADER</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include <<a class="code" href="cswap_8hpp.html">tlx/sort/networks/cswap.hpp</a>></span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include <functional></span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">namespace </span><a class="code" href="namespacetlx.html">tlx</a> {</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"></span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">//! Implementations of sorting networks for up to sixteen elements.</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"></span><span class="keyword">namespace </span>sort_networks {</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"></span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">//! \addtogroup tlx_sort</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">//! \{</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">//! \name Implementations of Sorting Networks</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">//! \{</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"></span><span class="comment"></span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">//! Implementation of Bose-Nelson sorting networks for up to sixteen elements.</span></div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html"> 32</a></span> <span class="comment"></span><span class="keyword">namespace </span>bose_nelson {</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment"></span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">//! default conditional swap implementation</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">using</span> <a class="code" href="classtlx_1_1sort__networks_1_1CS__IfSwap.html">DefaultCSwap</a> = <a class="code" href="classtlx_1_1sort__networks_1_1CS__IfSwap.html">CS_IfSwap</a><</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a6e72380222a72175185190517f195e2c"> 37</a></span>  std::less<typename std::iterator_traits<Iterator>::value_type> >;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"></span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">//! merge network for element arrays length one and one</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a162281151337deed258964ebc89e5023"> 43</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a162281151337deed258964ebc89e5023">merge1_1</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  cswap(a[0], b[0]);</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> }</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"></span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">//! merge network for element arrays length one and two</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a784fcc7d7e1465be4664999e2e0c82e7"> 49</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a784fcc7d7e1465be4664999e2e0c82e7">merge1_2</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  cswap(a[0], b[1]);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  cswap(a[0], b[0]);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> }</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"></span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">//! merge network for element arrays length two and one</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a3a1d2a8f079d98bc37ef4d90294765f8"> 56</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a3a1d2a8f079d98bc37ef4d90294765f8">merge2_1</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  cswap(a[0], b[0]);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  cswap(a[1], b[0]);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> }</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"></span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">//! merge network for element arrays length two and two</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abd7aba72116a760a8d24270cbf350182"> 63</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abd7aba72116a760a8d24270cbf350182">merge2_2</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a162281151337deed258964ebc89e5023">merge1_1</a>(a, b, cswap);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a162281151337deed258964ebc89e5023">merge1_1</a>(a + 1, b + 1, cswap);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a162281151337deed258964ebc89e5023">merge1_1</a>(a + 1, b, cswap);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> }</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"></span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">//! merge network for element arrays length two and three</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a67dd405fb86913fc9b2c9e9afecf0408"> 71</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a67dd405fb86913fc9b2c9e9afecf0408">merge2_3</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a784fcc7d7e1465be4664999e2e0c82e7">merge1_2</a>(a, b, cswap);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a162281151337deed258964ebc89e5023">merge1_1</a>(a + 1, b + 2, cswap);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a784fcc7d7e1465be4664999e2e0c82e7">merge1_2</a>(a + 1, b, cswap);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> }</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"></span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">//! merge network for element arrays length three and two</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a1765de342456370be55f384b1abcb5eb"> 79</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a1765de342456370be55f384b1abcb5eb">merge3_2</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a162281151337deed258964ebc89e5023">merge1_1</a>(a, b, cswap);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a3a1d2a8f079d98bc37ef4d90294765f8">merge2_1</a>(a + 1, b + 1, cswap);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a3a1d2a8f079d98bc37ef4d90294765f8">merge2_1</a>(a + 1, b, cswap);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"></span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">//! merge network for element arrays length three and three</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af29ed0261057bb2c0dc8a281f860af89"> 87</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af29ed0261057bb2c0dc8a281f860af89">merge3_3</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a162281151337deed258964ebc89e5023">merge1_1</a>(a, b, cswap);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abd7aba72116a760a8d24270cbf350182">merge2_2</a>(a + 1, b + 1, cswap);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a3a1d2a8f079d98bc37ef4d90294765f8">merge2_1</a>(a + 1, b, cswap);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> }</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"></span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">//! merge network for element arrays length three and four</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a536e97aa969e2372a8b808f3161ffef0"> 95</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a536e97aa969e2372a8b808f3161ffef0">merge3_4</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a784fcc7d7e1465be4664999e2e0c82e7">merge1_2</a>(a, b, cswap);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abd7aba72116a760a8d24270cbf350182">merge2_2</a>(a + 1, b + 2, cswap);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abd7aba72116a760a8d24270cbf350182">merge2_2</a>(a + 1, b, cswap);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> }</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"></span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">//! merge network for element arrays length four and three</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a580f5ac64f054fbccdae22264392aec2"> 103</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a580f5ac64f054fbccdae22264392aec2">merge4_3</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abd7aba72116a760a8d24270cbf350182">merge2_2</a>(a, b, cswap);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a3a1d2a8f079d98bc37ef4d90294765f8">merge2_1</a>(a + 2, b + 2, cswap);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abd7aba72116a760a8d24270cbf350182">merge2_2</a>(a + 2, b, cswap);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> }</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"></span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">//! merge network for element arrays length four and four</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ac938664f3aaeaab6dfce41a0aac04166"> 111</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ac938664f3aaeaab6dfce41a0aac04166">merge4_4</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abd7aba72116a760a8d24270cbf350182">merge2_2</a>(a, b, cswap);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abd7aba72116a760a8d24270cbf350182">merge2_2</a>(a + 2, b + 2, cswap);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abd7aba72116a760a8d24270cbf350182">merge2_2</a>(a + 2, b, cswap);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"></span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">//! merge network for element arrays length four and five</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a9c0f72c27e511caaa6aa74d7aca6b08d"> 119</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a9c0f72c27e511caaa6aa74d7aca6b08d">merge4_5</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a67dd405fb86913fc9b2c9e9afecf0408">merge2_3</a>(a, b, cswap);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abd7aba72116a760a8d24270cbf350182">merge2_2</a>(a + 2, b + 3, cswap);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a67dd405fb86913fc9b2c9e9afecf0408">merge2_3</a>(a + 2, b, cswap);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"></span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">//! merge network for element arrays length five and five</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ab052bba6a191b564078711a1110ce401"> 127</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ab052bba6a191b564078711a1110ce401">merge5_5</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abd7aba72116a760a8d24270cbf350182">merge2_2</a>(a, b, cswap);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af29ed0261057bb2c0dc8a281f860af89">merge3_3</a>(a + 2, b + 2, cswap);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a1765de342456370be55f384b1abcb5eb">merge3_2</a>(a + 2, b, cswap);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="comment"></span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">//! merge network for element arrays length five and six</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#acef4e787ec8d6cc439faa7815950a7c3"> 135</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#acef4e787ec8d6cc439faa7815950a7c3">merge5_6</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a67dd405fb86913fc9b2c9e9afecf0408">merge2_3</a>(a, b, cswap);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af29ed0261057bb2c0dc8a281f860af89">merge3_3</a>(a + 2, b + 3, cswap);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af29ed0261057bb2c0dc8a281f860af89">merge3_3</a>(a + 2, b, cswap);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> }</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"></span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">//! merge network for element arrays length six and six</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aa7ba081acdfe3ab873664fa114024b1c"> 143</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aa7ba081acdfe3ab873664fa114024b1c">merge6_6</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af29ed0261057bb2c0dc8a281f860af89">merge3_3</a>(a, b, cswap);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af29ed0261057bb2c0dc8a281f860af89">merge3_3</a>(a + 3, b + 3, cswap);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af29ed0261057bb2c0dc8a281f860af89">merge3_3</a>(a + 3, b, cswap);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> }</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"></span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment">//! merge network for element arrays length six and seven</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a21b69537fa973b69e8ec4c8bc3e1e773"> 151</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a21b69537fa973b69e8ec4c8bc3e1e773">merge6_7</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a536e97aa969e2372a8b808f3161ffef0">merge3_4</a>(a, b, cswap);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af29ed0261057bb2c0dc8a281f860af89">merge3_3</a>(a + 3, b + 4, cswap);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a536e97aa969e2372a8b808f3161ffef0">merge3_4</a>(a + 3, b, cswap);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"></span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment">//! merge network for element arrays length seven and seven</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a910215d50c5ecc44089f7df3775e1a8f"> 159</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a910215d50c5ecc44089f7df3775e1a8f">merge7_7</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af29ed0261057bb2c0dc8a281f860af89">merge3_3</a>(a, b, cswap);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ac938664f3aaeaab6dfce41a0aac04166">merge4_4</a>(a + 3, b + 3, cswap);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a580f5ac64f054fbccdae22264392aec2">merge4_3</a>(a + 3, b, cswap);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"></span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment">//! merge network for element arrays length seven and eight</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ab5ed83b1f33a060eb4f656c93dad6785"> 167</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ab5ed83b1f33a060eb4f656c93dad6785">merge7_8</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a536e97aa969e2372a8b808f3161ffef0">merge3_4</a>(a, b, cswap);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ac938664f3aaeaab6dfce41a0aac04166">merge4_4</a>(a + 3, b + 4, cswap);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ac938664f3aaeaab6dfce41a0aac04166">merge4_4</a>(a + 3, b, cswap);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> }</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment"></span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment">//! merge network for element arrays length eight and eight</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap></div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a04bf6240205cc1698f1663eb5ddc5408"> 175</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a04bf6240205cc1698f1663eb5ddc5408">merge8_8</a>(Iterator a, Iterator b, CSwap cswap) {</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ac938664f3aaeaab6dfce41a0aac04166">merge4_4</a>(a, b, cswap);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ac938664f3aaeaab6dfce41a0aac04166">merge4_4</a>(a + 4, b + 4, cswap);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ac938664f3aaeaab6dfce41a0aac04166">merge4_4</a>(a + 4, b, cswap);</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> }</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment"></span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment">//! Bose-Nelson sorting network for two elements</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap = DefaultCSwap<Iterator> ></div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a5335f65bb558dfec48f7854c99c6a9b9"> 185</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a5335f65bb558dfec48f7854c99c6a9b9">sort2</a>(Iterator a, CSwap cswap = CSwap()) {</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a162281151337deed258964ebc89e5023">merge1_1</a>(a, a + 1, cswap);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"></span></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">//! Bose-Nelson sorting network for three elements</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap = DefaultCSwap<Iterator> ></div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a7411a3124fad532cf0b5533e61ea7190"> 191</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a7411a3124fad532cf0b5533e61ea7190">sort3</a>(Iterator a, CSwap cswap = CSwap()) {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a5335f65bb558dfec48f7854c99c6a9b9">sort2</a>(a + 1, cswap);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a784fcc7d7e1465be4664999e2e0c82e7">merge1_2</a>(a, a + 1, cswap);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> }</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"></span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">//! Bose-Nelson sorting network for four elements</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap = DefaultCSwap<Iterator> ></div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abf04a9cd7ec769a3a1f36de05819ad5b"> 198</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abf04a9cd7ec769a3a1f36de05819ad5b">sort4</a>(Iterator a, CSwap cswap = CSwap()) {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a5335f65bb558dfec48f7854c99c6a9b9">sort2</a>(a, cswap);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a5335f65bb558dfec48f7854c99c6a9b9">sort2</a>(a + 2, cswap);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abd7aba72116a760a8d24270cbf350182">merge2_2</a>(a, a + 2, cswap);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> }</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment"></span></div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">//! Bose-Nelson sorting network for five elements</span></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap = DefaultCSwap<Iterator> ></div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aa687af9a2a3ef6acebaf5d54682109b9"> 206</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aa687af9a2a3ef6acebaf5d54682109b9">sort5</a>(Iterator a, CSwap cswap = CSwap()) {</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a5335f65bb558dfec48f7854c99c6a9b9">sort2</a>(a, cswap);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a7411a3124fad532cf0b5533e61ea7190">sort3</a>(a + 2, cswap);</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a67dd405fb86913fc9b2c9e9afecf0408">merge2_3</a>(a, a + 2, cswap);</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> }</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment"></span></div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment">//! Bose-Nelson sorting network for six elements</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap = DefaultCSwap<Iterator> ></div><div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aca04461eb002abd65154f0b8909ba558"> 214</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aca04461eb002abd65154f0b8909ba558">sort6</a>(Iterator a, CSwap cswap = CSwap()) {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a7411a3124fad532cf0b5533e61ea7190">sort3</a>(a, cswap);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a7411a3124fad532cf0b5533e61ea7190">sort3</a>(a + 3, cswap);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af29ed0261057bb2c0dc8a281f860af89">merge3_3</a>(a, a + 3, cswap);</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> }</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="comment"></span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment">//! Bose-Nelson sorting network for seven elements</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap = DefaultCSwap<Iterator> ></div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#add9992db0722b05c91763c904e0c2c66"> 222</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#add9992db0722b05c91763c904e0c2c66">sort7</a>(Iterator a, CSwap cswap = CSwap()) {</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a7411a3124fad532cf0b5533e61ea7190">sort3</a>(a, cswap);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abf04a9cd7ec769a3a1f36de05819ad5b">sort4</a>(a + 3, cswap);</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a536e97aa969e2372a8b808f3161ffef0">merge3_4</a>(a, a + 3, cswap);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> }</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment"></span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment">//! Bose-Nelson sorting network for eight elements</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap = DefaultCSwap<Iterator> ></div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ad56cdd6f478e4f99be5af0756f63930a"> 230</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ad56cdd6f478e4f99be5af0756f63930a">sort8</a>(Iterator a, CSwap cswap = CSwap()) {</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abf04a9cd7ec769a3a1f36de05819ad5b">sort4</a>(a, cswap);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abf04a9cd7ec769a3a1f36de05819ad5b">sort4</a>(a + 4, cswap);</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ac938664f3aaeaab6dfce41a0aac04166">merge4_4</a>(a, a + 4, cswap);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> }</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment"></span></div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">//! Bose-Nelson sorting network for nine elements</span></div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap = DefaultCSwap<Iterator> ></div><div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aef777d05606a77a89f62a32f96baa08a"> 238</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aef777d05606a77a89f62a32f96baa08a">sort9</a>(Iterator a, CSwap cswap = CSwap()) {</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abf04a9cd7ec769a3a1f36de05819ad5b">sort4</a>(a, cswap);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aa687af9a2a3ef6acebaf5d54682109b9">sort5</a>(a + 4, cswap);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a9c0f72c27e511caaa6aa74d7aca6b08d">merge4_5</a>(a, a + 4, cswap);</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> }</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment"></span></div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment">//! Bose-Nelson sorting network for ten elements</span></div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap = DefaultCSwap<Iterator> ></div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a79e0027259c80ba8ae50dab6e004da5a"> 246</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a79e0027259c80ba8ae50dab6e004da5a">sort10</a>(Iterator a, CSwap cswap = CSwap()) {</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aa687af9a2a3ef6acebaf5d54682109b9">sort5</a>(a, cswap);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aa687af9a2a3ef6acebaf5d54682109b9">sort5</a>(a + 5, cswap);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ab052bba6a191b564078711a1110ce401">merge5_5</a>(a, a + 5, cswap);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span> }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="comment"></span></div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="comment">//! Bose-Nelson sorting network for eleven elements</span></div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap = DefaultCSwap<Iterator> ></div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#acbdf9ca6763117b3acce5074802774a5"> 254</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#acbdf9ca6763117b3acce5074802774a5">sort11</a>(Iterator a, CSwap cswap = CSwap()) {</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aa687af9a2a3ef6acebaf5d54682109b9">sort5</a>(a, cswap);</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aca04461eb002abd65154f0b8909ba558">sort6</a>(a + 5, cswap);</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#acef4e787ec8d6cc439faa7815950a7c3">merge5_6</a>(a, a + 5, cswap);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> }</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="comment"></span></div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment">//! Bose-Nelson sorting network for twelve elements</span></div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap = DefaultCSwap<Iterator> ></div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a520f55e299d97389087dc5f156f936b0"> 262</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a520f55e299d97389087dc5f156f936b0">sort12</a>(Iterator a, CSwap cswap = CSwap()) {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aca04461eb002abd65154f0b8909ba558">sort6</a>(a, cswap);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aca04461eb002abd65154f0b8909ba558">sort6</a>(a + 6, cswap);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aa7ba081acdfe3ab873664fa114024b1c">merge6_6</a>(a, a + 6, cswap);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="comment"></span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment">//! Bose-Nelson sorting network for thirteen elements</span></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap = DefaultCSwap<Iterator> ></div><div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a23dbbf8f276447009cb2a6bd1773c713"> 270</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a23dbbf8f276447009cb2a6bd1773c713">sort13</a>(Iterator a, CSwap cswap = CSwap()) {</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aca04461eb002abd65154f0b8909ba558">sort6</a>(a, cswap);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#add9992db0722b05c91763c904e0c2c66">sort7</a>(a + 6, cswap);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a21b69537fa973b69e8ec4c8bc3e1e773">merge6_7</a>(a, a + 6, cswap);</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="comment"></span></div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment">//! Bose-Nelson sorting network for fourteen elements</span></div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap = DefaultCSwap<Iterator> ></div><div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a0917c7e6c4ff1e1bc4e20d7f01fb20e2"> 278</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a0917c7e6c4ff1e1bc4e20d7f01fb20e2">sort14</a>(Iterator a, CSwap cswap = CSwap()) {</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#add9992db0722b05c91763c904e0c2c66">sort7</a>(a, cswap);</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#add9992db0722b05c91763c904e0c2c66">sort7</a>(a + 7, cswap);</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a910215d50c5ecc44089f7df3775e1a8f">merge7_7</a>(a, a + 7, cswap);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span> }</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment"></span></div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment">//! Bose-Nelson sorting network for fifteen elements</span></div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap = DefaultCSwap<Iterator> ></div><div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a52b4536bb2d71c86ef588daa83e4cff9"> 286</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a52b4536bb2d71c86ef588daa83e4cff9">sort15</a>(Iterator a, CSwap cswap = CSwap()) {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#add9992db0722b05c91763c904e0c2c66">sort7</a>(a, cswap);</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ad56cdd6f478e4f99be5af0756f63930a">sort8</a>(a + 7, cswap);</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ab5ed83b1f33a060eb4f656c93dad6785">merge7_8</a>(a, a + 7, cswap);</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> }</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment"></span></div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="comment">//! Bose-Nelson sorting network for sixteen elements</span></div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> CSwap = DefaultCSwap<Iterator> ></div><div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af345f02b4162281e89ce686bb8e46e05"> 294</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af345f02b4162281e89ce686bb8e46e05">sort16</a>(Iterator a, CSwap cswap = CSwap()) {</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ad56cdd6f478e4f99be5af0756f63930a">sort8</a>(a, cswap);</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ad56cdd6f478e4f99be5af0756f63930a">sort8</a>(a + 8, cswap);</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a04bf6240205cc1698f1663eb5ddc5408">merge8_8</a>(a, a + 8, cswap);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span> }</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment">/*----------------------------------------------------------------------------*/</span></div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment"></span></div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment">//! Call Bose-Network sorting network for up to sixteen elements with given</span></div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment">//! comparison method</span></div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> Iterator, <span class="keyword">typename</span> Comparator =</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  std::less<typename std::iterator_traits<Iterator>::value_type> ></div><div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a8130c649a38707f1f91bbd2fc29ac0dc"> 306</a></span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a8130c649a38707f1f91bbd2fc29ac0dc">sort</a>(Iterator begin, Iterator end, Comparator cmp = Comparator()) {</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <a class="code" href="classtlx_1_1sort__networks_1_1CS__IfSwap.html">CS_IfSwap<Comparator></a> cswap(cmp);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordflow">switch</span> (end - begin) {</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">case</span> 0:</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">case</span> 1:</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keywordflow">case</span> 2:</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a5335f65bb558dfec48f7854c99c6a9b9">sort2</a>(begin, cswap);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordflow">case</span> 3:</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a7411a3124fad532cf0b5533e61ea7190">sort3</a>(begin, cswap);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">case</span> 4:</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abf04a9cd7ec769a3a1f36de05819ad5b">sort4</a>(begin, cswap);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">case</span> 5:</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aa687af9a2a3ef6acebaf5d54682109b9">sort5</a>(begin, cswap);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">case</span> 6:</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aca04461eb002abd65154f0b8909ba558">sort6</a>(begin, cswap);</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">case</span> 7:</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#add9992db0722b05c91763c904e0c2c66">sort7</a>(begin, cswap);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">case</span> 8:</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ad56cdd6f478e4f99be5af0756f63930a">sort8</a>(begin, cswap);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">case</span> 9:</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aef777d05606a77a89f62a32f96baa08a">sort9</a>(begin, cswap);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">case</span> 10:</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a79e0027259c80ba8ae50dab6e004da5a">sort10</a>(begin, cswap);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">case</span> 11:</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#acbdf9ca6763117b3acce5074802774a5">sort11</a>(begin, cswap);</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">case</span> 12:</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a520f55e299d97389087dc5f156f936b0">sort12</a>(begin, cswap);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">case</span> 13:</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a23dbbf8f276447009cb2a6bd1773c713">sort13</a>(begin, cswap);</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keywordflow">case</span> 14:</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a0917c7e6c4ff1e1bc4e20d7f01fb20e2">sort14</a>(begin, cswap);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keywordflow">case</span> 15:</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a52b4536bb2d71c86ef588daa83e4cff9">sort15</a>(begin, cswap);</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">case</span> 16:</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <a class="code" href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af345f02b4162281e89ce686bb8e46e05">sort16</a>(begin, cswap);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  abort();</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  }</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span> }</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span> } <span class="comment">// namespace bose_nelson</span></div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="comment">/******************************************************************************/</span></div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment"></span></div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment">//! \}</span></div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment">//! \}</span></div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment"></span></div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> } <span class="comment">// namespace sort_networks</span></div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span> } <span class="comment">// namespace tlx</span></div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="preprocessor">#endif // !TLX_SORT_NETWORKS_BOSE_NELSON_HEADER</span></div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="comment">/******************************************************************************/</span></div><div class="ttc" id="cswap_8hpp_html"><div class="ttname"><a href="cswap_8hpp.html">cswap.hpp</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a1765de342456370be55f384b1abcb5eb"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a1765de342456370be55f384b1abcb5eb">tlx::sort_networks::bose_nelson::merge3_2</a></div><div class="ttdeci">static void merge3_2(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length three and two </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00079">bose_nelson.hpp:79</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a67dd405fb86913fc9b2c9e9afecf0408"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a67dd405fb86913fc9b2c9e9afecf0408">tlx::sort_networks::bose_nelson::merge2_3</a></div><div class="ttdeci">static void merge2_3(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length two and three </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00071">bose_nelson.hpp:71</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a910215d50c5ecc44089f7df3775e1a8f"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a910215d50c5ecc44089f7df3775e1a8f">tlx::sort_networks::bose_nelson::merge7_7</a></div><div class="ttdeci">static void merge7_7(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length seven and seven </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00159">bose_nelson.hpp:159</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_af29ed0261057bb2c0dc8a281f860af89"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af29ed0261057bb2c0dc8a281f860af89">tlx::sort_networks::bose_nelson::merge3_3</a></div><div class="ttdeci">static void merge3_3(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length three and three </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00087">bose_nelson.hpp:87</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_abd7aba72116a760a8d24270cbf350182"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abd7aba72116a760a8d24270cbf350182">tlx::sort_networks::bose_nelson::merge2_2</a></div><div class="ttdeci">static void merge2_2(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length two and two </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00063">bose_nelson.hpp:63</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a04bf6240205cc1698f1663eb5ddc5408"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a04bf6240205cc1698f1663eb5ddc5408">tlx::sort_networks::bose_nelson::merge8_8</a></div><div class="ttdeci">static void merge8_8(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length eight and eight </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00175">bose_nelson.hpp:175</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a8130c649a38707f1f91bbd2fc29ac0dc"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a8130c649a38707f1f91bbd2fc29ac0dc">tlx::sort_networks::bose_nelson::sort</a></div><div class="ttdeci">static void sort(Iterator begin, Iterator end, Comparator cmp=Comparator())</div><div class="ttdoc">Call Bose-Network sorting network for up to sixteen elements with given comparison method...</div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00306">bose_nelson.hpp:306</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a9c0f72c27e511caaa6aa74d7aca6b08d"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a9c0f72c27e511caaa6aa74d7aca6b08d">tlx::sort_networks::bose_nelson::merge4_5</a></div><div class="ttdeci">static void merge4_5(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length four and five </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00119">bose_nelson.hpp:119</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a5335f65bb558dfec48f7854c99c6a9b9"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a5335f65bb558dfec48f7854c99c6a9b9">tlx::sort_networks::bose_nelson::sort2</a></div><div class="ttdeci">static void sort2(Iterator a, CSwap cswap=CSwap())</div><div class="ttdoc">Bose-Nelson sorting network for two elements. </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00185">bose_nelson.hpp:185</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_add9992db0722b05c91763c904e0c2c66"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#add9992db0722b05c91763c904e0c2c66">tlx::sort_networks::bose_nelson::sort7</a></div><div class="ttdeci">static void sort7(Iterator a, CSwap cswap=CSwap())</div><div class="ttdoc">Bose-Nelson sorting network for seven elements. </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00222">bose_nelson.hpp:222</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_ab5ed83b1f33a060eb4f656c93dad6785"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ab5ed83b1f33a060eb4f656c93dad6785">tlx::sort_networks::bose_nelson::merge7_8</a></div><div class="ttdeci">static void merge7_8(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length seven and eight </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00167">bose_nelson.hpp:167</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_ac938664f3aaeaab6dfce41a0aac04166"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ac938664f3aaeaab6dfce41a0aac04166">tlx::sort_networks::bose_nelson::merge4_4</a></div><div class="ttdeci">static void merge4_4(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length four and four </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00111">bose_nelson.hpp:111</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a536e97aa969e2372a8b808f3161ffef0"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a536e97aa969e2372a8b808f3161ffef0">tlx::sort_networks::bose_nelson::merge3_4</a></div><div class="ttdeci">static void merge3_4(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length three and four </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00095">bose_nelson.hpp:95</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_aa7ba081acdfe3ab873664fa114024b1c"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aa7ba081acdfe3ab873664fa114024b1c">tlx::sort_networks::bose_nelson::merge6_6</a></div><div class="ttdeci">static void merge6_6(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length six and six </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00143">bose_nelson.hpp:143</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a784fcc7d7e1465be4664999e2e0c82e7"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a784fcc7d7e1465be4664999e2e0c82e7">tlx::sort_networks::bose_nelson::merge1_2</a></div><div class="ttdeci">static void merge1_2(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length one and two </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00049">bose_nelson.hpp:49</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a162281151337deed258964ebc89e5023"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a162281151337deed258964ebc89e5023">tlx::sort_networks::bose_nelson::merge1_1</a></div><div class="ttdeci">static void merge1_1(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length one and one </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00043">bose_nelson.hpp:43</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_aef777d05606a77a89f62a32f96baa08a"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aef777d05606a77a89f62a32f96baa08a">tlx::sort_networks::bose_nelson::sort9</a></div><div class="ttdeci">static void sort9(Iterator a, CSwap cswap=CSwap())</div><div class="ttdoc">Bose-Nelson sorting network for nine elements. </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00238">bose_nelson.hpp:238</a></div></div>
<div class="ttc" id="classtlx_1_1sort__networks_1_1CS__IfSwap_html"><div class="ttname"><a href="classtlx_1_1sort__networks_1_1CS__IfSwap.html">tlx::sort_networks::CS_IfSwap</a></div><div class="ttdoc">Conditional swap implementation used for sorting networks: trivial portable C++ implementation with c...</div><div class="ttdef"><b>Definition:</b> <a href="cswap_8hpp_source.html#l00032">cswap.hpp:32</a></div></div>
<div class="ttc" id="namespacetlx_html"><div class="ttname"><a href="namespacetlx.html">tlx</a></div><div class="ttdef"><b>Definition:</b> <a href="exclusive__scan_8hpp_source.html#l00017">exclusive_scan.hpp:17</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_ab052bba6a191b564078711a1110ce401"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ab052bba6a191b564078711a1110ce401">tlx::sort_networks::bose_nelson::merge5_5</a></div><div class="ttdeci">static void merge5_5(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length five and five </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00127">bose_nelson.hpp:127</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a52b4536bb2d71c86ef588daa83e4cff9"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a52b4536bb2d71c86ef588daa83e4cff9">tlx::sort_networks::bose_nelson::sort15</a></div><div class="ttdeci">static void sort15(Iterator a, CSwap cswap=CSwap())</div><div class="ttdoc">Bose-Nelson sorting network for fifteen elements. </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00286">bose_nelson.hpp:286</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_aa687af9a2a3ef6acebaf5d54682109b9"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aa687af9a2a3ef6acebaf5d54682109b9">tlx::sort_networks::bose_nelson::sort5</a></div><div class="ttdeci">static void sort5(Iterator a, CSwap cswap=CSwap())</div><div class="ttdoc">Bose-Nelson sorting network for five elements. </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00206">bose_nelson.hpp:206</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a0917c7e6c4ff1e1bc4e20d7f01fb20e2"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a0917c7e6c4ff1e1bc4e20d7f01fb20e2">tlx::sort_networks::bose_nelson::sort14</a></div><div class="ttdeci">static void sort14(Iterator a, CSwap cswap=CSwap())</div><div class="ttdoc">Bose-Nelson sorting network for fourteen elements. </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00278">bose_nelson.hpp:278</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a79e0027259c80ba8ae50dab6e004da5a"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a79e0027259c80ba8ae50dab6e004da5a">tlx::sort_networks::bose_nelson::sort10</a></div><div class="ttdeci">static void sort10(Iterator a, CSwap cswap=CSwap())</div><div class="ttdoc">Bose-Nelson sorting network for ten elements. </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00246">bose_nelson.hpp:246</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a3a1d2a8f079d98bc37ef4d90294765f8"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a3a1d2a8f079d98bc37ef4d90294765f8">tlx::sort_networks::bose_nelson::merge2_1</a></div><div class="ttdeci">static void merge2_1(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length two and one </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00056">bose_nelson.hpp:56</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a21b69537fa973b69e8ec4c8bc3e1e773"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a21b69537fa973b69e8ec4c8bc3e1e773">tlx::sort_networks::bose_nelson::merge6_7</a></div><div class="ttdeci">static void merge6_7(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length six and seven </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00151">bose_nelson.hpp:151</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_acbdf9ca6763117b3acce5074802774a5"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#acbdf9ca6763117b3acce5074802774a5">tlx::sort_networks::bose_nelson::sort11</a></div><div class="ttdeci">static void sort11(Iterator a, CSwap cswap=CSwap())</div><div class="ttdoc">Bose-Nelson sorting network for eleven elements. </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00254">bose_nelson.hpp:254</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_aca04461eb002abd65154f0b8909ba558"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#aca04461eb002abd65154f0b8909ba558">tlx::sort_networks::bose_nelson::sort6</a></div><div class="ttdeci">static void sort6(Iterator a, CSwap cswap=CSwap())</div><div class="ttdoc">Bose-Nelson sorting network for six elements. </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00214">bose_nelson.hpp:214</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a23dbbf8f276447009cb2a6bd1773c713"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a23dbbf8f276447009cb2a6bd1773c713">tlx::sort_networks::bose_nelson::sort13</a></div><div class="ttdeci">static void sort13(Iterator a, CSwap cswap=CSwap())</div><div class="ttdoc">Bose-Nelson sorting network for thirteen elements. </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00270">bose_nelson.hpp:270</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_acef4e787ec8d6cc439faa7815950a7c3"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#acef4e787ec8d6cc439faa7815950a7c3">tlx::sort_networks::bose_nelson::merge5_6</a></div><div class="ttdeci">static void merge5_6(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length five and six </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00135">bose_nelson.hpp:135</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a520f55e299d97389087dc5f156f936b0"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a520f55e299d97389087dc5f156f936b0">tlx::sort_networks::bose_nelson::sort12</a></div><div class="ttdeci">static void sort12(Iterator a, CSwap cswap=CSwap())</div><div class="ttdoc">Bose-Nelson sorting network for twelve elements. </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00262">bose_nelson.hpp:262</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_abf04a9cd7ec769a3a1f36de05819ad5b"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#abf04a9cd7ec769a3a1f36de05819ad5b">tlx::sort_networks::bose_nelson::sort4</a></div><div class="ttdeci">static void sort4(Iterator a, CSwap cswap=CSwap())</div><div class="ttdoc">Bose-Nelson sorting network for four elements. </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00198">bose_nelson.hpp:198</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_af345f02b4162281e89ce686bb8e46e05"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#af345f02b4162281e89ce686bb8e46e05">tlx::sort_networks::bose_nelson::sort16</a></div><div class="ttdeci">static void sort16(Iterator a, CSwap cswap=CSwap())</div><div class="ttdoc">Bose-Nelson sorting network for sixteen elements. </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00294">bose_nelson.hpp:294</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_ad56cdd6f478e4f99be5af0756f63930a"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#ad56cdd6f478e4f99be5af0756f63930a">tlx::sort_networks::bose_nelson::sort8</a></div><div class="ttdeci">static void sort8(Iterator a, CSwap cswap=CSwap())</div><div class="ttdoc">Bose-Nelson sorting network for eight elements. </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00230">bose_nelson.hpp:230</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a7411a3124fad532cf0b5533e61ea7190"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a7411a3124fad532cf0b5533e61ea7190">tlx::sort_networks::bose_nelson::sort3</a></div><div class="ttdeci">static void sort3(Iterator a, CSwap cswap=CSwap())</div><div class="ttdoc">Bose-Nelson sorting network for three elements. </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00191">bose_nelson.hpp:191</a></div></div>
<div class="ttc" id="namespacetlx_1_1sort__networks_1_1bose__nelson_html_a580f5ac64f054fbccdae22264392aec2"><div class="ttname"><a href="namespacetlx_1_1sort__networks_1_1bose__nelson.html#a580f5ac64f054fbccdae22264392aec2">tlx::sort_networks::bose_nelson::merge4_3</a></div><div class="ttdeci">static void merge4_3(Iterator a, Iterator b, CSwap cswap)</div><div class="ttdoc">merge network for element arrays length four and three </div><div class="ttdef"><b>Definition:</b> <a href="bose__nelson_8hpp_source.html#l00103">bose_nelson.hpp:103</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_8b4d4685f7eaf29e53aad23645930303.html">tlx</a></li><li class="navelem"><a class="el" href="dir_82d49b977daa72f9a1145b61404a8efe.html">sort</a></li><li class="navelem"><a class="el" href="dir_872e6a8813ecb7759061c0981c1eeec5.html">networks</a></li><li class="navelem"><a class="el" href="bose__nelson_8hpp.html">bose_nelson.hpp</a></li>
<li class="footer">Generated on Sat Oct 2 2021 20:29:00 for tlx by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
</ul>
</div>
</body>
</html>