tlx
|
Implementation of Bose-Nelson sorting networks for up to sixteen elements. More...
Typedefs | |
template<typename Iterator > | |
using | DefaultCSwap = CS_IfSwap< std::less< typename std::iterator_traits< Iterator >::value_type > > |
default conditional swap implementation More... | |
Functions | |
template<typename Iterator , typename CSwap > | |
static void | merge1_1 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length one and one More... | |
template<typename Iterator , typename CSwap > | |
static void | merge1_2 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length one and two More... | |
template<typename Iterator , typename CSwap > | |
static void | merge2_1 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length two and one More... | |
template<typename Iterator , typename CSwap > | |
static void | merge2_2 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length two and two More... | |
template<typename Iterator , typename CSwap > | |
static void | merge2_3 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length two and three More... | |
template<typename Iterator , typename CSwap > | |
static void | merge3_2 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length three and two More... | |
template<typename Iterator , typename CSwap > | |
static void | merge3_3 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length three and three More... | |
template<typename Iterator , typename CSwap > | |
static void | merge3_4 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length three and four More... | |
template<typename Iterator , typename CSwap > | |
static void | merge4_3 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length four and three More... | |
template<typename Iterator , typename CSwap > | |
static void | merge4_4 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length four and four More... | |
template<typename Iterator , typename CSwap > | |
static void | merge4_5 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length four and five More... | |
template<typename Iterator , typename CSwap > | |
static void | merge5_5 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length five and five More... | |
template<typename Iterator , typename CSwap > | |
static void | merge5_6 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length five and six More... | |
template<typename Iterator , typename CSwap > | |
static void | merge6_6 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length six and six More... | |
template<typename Iterator , typename CSwap > | |
static void | merge6_7 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length six and seven More... | |
template<typename Iterator , typename CSwap > | |
static void | merge7_7 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length seven and seven More... | |
template<typename Iterator , typename CSwap > | |
static void | merge7_8 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length seven and eight More... | |
template<typename Iterator , typename CSwap > | |
static void | merge8_8 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length eight and eight More... | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort2 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for two elements. More... | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort3 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for three elements. More... | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort4 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for four elements. More... | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort5 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for five elements. More... | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort6 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for six elements. More... | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort7 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for seven elements. More... | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort8 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for eight elements. More... | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort9 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for nine elements. More... | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort10 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for ten elements. More... | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort11 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for eleven elements. More... | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort12 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for twelve elements. More... | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort13 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for thirteen elements. More... | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort14 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for fourteen elements. More... | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort15 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for fifteen elements. More... | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort16 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for sixteen elements. More... | |
template<typename Iterator , typename Comparator = std::less<typename std::iterator_traits<Iterator>::value_type>> | |
static void | sort (Iterator begin, Iterator end, Comparator cmp=Comparator()) |
Call Bose-Network sorting network for up to sixteen elements with given comparison method. More... | |
Implementation of Bose-Nelson sorting networks for up to sixteen elements.
using DefaultCSwap = CS_IfSwap< std::less<typename std::iterator_traits<Iterator>::value_type> > |
default conditional swap implementation
Definition at line 58 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length one and one
Definition at line 65 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length one and two
Definition at line 71 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length two and one
Definition at line 78 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length two and two
Definition at line 85 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length two and three
Definition at line 93 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length three and two
Definition at line 101 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length three and three
Definition at line 109 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length three and four
Definition at line 117 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length four and three
Definition at line 125 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length four and four
Definition at line 133 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length four and five
Definition at line 141 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length five and five
Definition at line 149 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length five and six
Definition at line 157 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length six and six
Definition at line 165 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length six and seven
Definition at line 173 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length seven and seven
Definition at line 181 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length seven and eight
Definition at line 189 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length eight and eight
Definition at line 197 of file bose_nelson.hpp.
|
static |
Call Bose-Network sorting network for up to sixteen elements with given comparison method.
Definition at line 328 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for ten elements.
Definition at line 268 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for eleven elements.
Definition at line 276 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for twelve elements.
Definition at line 284 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for thirteen elements.
Definition at line 292 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for fourteen elements.
Definition at line 300 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for fifteen elements.
Definition at line 308 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for sixteen elements.
Definition at line 316 of file bose_nelson.hpp.
|
inlinestatic |
Bose-Nelson sorting network for two elements.
Definition at line 207 of file bose_nelson.hpp.
|
inlinestatic |
Bose-Nelson sorting network for three elements.
Definition at line 213 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for four elements.
Definition at line 220 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for five elements.
Definition at line 228 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for six elements.
Definition at line 236 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for seven elements.
Definition at line 244 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for eight elements.
Definition at line 252 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for nine elements.
Definition at line 260 of file bose_nelson.hpp.