tlx
|
Implementation of Bose-Nelson sorting networks for up to sixteen elements. More...
Typedefs | |
template<typename Iterator > | |
using | DefaultCSwap |
default conditional swap implementation | |
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 | |
template<typename Iterator , typename CSwap > | |
static void | merge1_2 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length one and two | |
template<typename Iterator , typename CSwap > | |
static void | merge2_1 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length two and one | |
template<typename Iterator , typename CSwap > | |
static void | merge2_2 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length two and two | |
template<typename Iterator , typename CSwap > | |
static void | merge2_3 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length two and three | |
template<typename Iterator , typename CSwap > | |
static void | merge3_2 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length three and two | |
template<typename Iterator , typename CSwap > | |
static void | merge3_3 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length three and three | |
template<typename Iterator , typename CSwap > | |
static void | merge3_4 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length three and four | |
template<typename Iterator , typename CSwap > | |
static void | merge4_3 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length four and three | |
template<typename Iterator , typename CSwap > | |
static void | merge4_4 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length four and four | |
template<typename Iterator , typename CSwap > | |
static void | merge4_5 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length four and five | |
template<typename Iterator , typename CSwap > | |
static void | merge5_5 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length five and five | |
template<typename Iterator , typename CSwap > | |
static void | merge5_6 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length five and six | |
template<typename Iterator , typename CSwap > | |
static void | merge6_6 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length six and six | |
template<typename Iterator , typename CSwap > | |
static void | merge6_7 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length six and seven | |
template<typename Iterator , typename CSwap > | |
static void | merge7_7 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length seven and seven | |
template<typename Iterator , typename CSwap > | |
static void | merge7_8 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length seven and eight | |
template<typename Iterator , typename CSwap > | |
static void | merge8_8 (Iterator a, Iterator b, CSwap cswap) |
merge network for element arrays length eight and eight | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort2 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for two elements. | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort3 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for three elements. | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort4 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for four elements. | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort5 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for five elements. | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort6 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for six elements. | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort7 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for seven elements. | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort8 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for eight elements. | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort9 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for nine elements. | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort10 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for ten elements. | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort11 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for eleven elements. | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort12 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for twelve elements. | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort13 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for thirteen elements. | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort14 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for fourteen elements. | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort15 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for fifteen elements. | |
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>> | |
static void | sort16 (Iterator a, CSwap cswap=CSwap()) |
Bose-Nelson sorting network for sixteen elements. | |
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. | |
Implementation of Bose-Nelson sorting networks for up to sixteen elements.
using DefaultCSwap |
default conditional swap implementation
Definition at line 36 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length one and one
Definition at line 43 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length one and two
Definition at line 49 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length two and one
Definition at line 56 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length two and two
Definition at line 63 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length two and three
Definition at line 71 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length three and two
Definition at line 79 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length three and three
Definition at line 87 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length three and four
Definition at line 95 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length four and three
Definition at line 103 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length four and four
Definition at line 111 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length four and five
Definition at line 119 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length five and five
Definition at line 127 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length five and six
Definition at line 135 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length six and six
Definition at line 143 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length six and seven
Definition at line 151 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length seven and seven
Definition at line 159 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length seven and eight
Definition at line 167 of file bose_nelson.hpp.
|
inlinestatic |
merge network for element arrays length eight and eight
Definition at line 175 of file bose_nelson.hpp.
|
static |
Call Bose-Network sorting network for up to sixteen elements with given comparison method.
Definition at line 306 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for ten elements.
Definition at line 246 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for eleven elements.
Definition at line 254 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for twelve elements.
Definition at line 262 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for thirteen elements.
Definition at line 270 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for fourteen elements.
Definition at line 278 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for fifteen elements.
Definition at line 286 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for sixteen elements.
Definition at line 294 of file bose_nelson.hpp.
|
inlinestatic |
Bose-Nelson sorting network for two elements.
Definition at line 185 of file bose_nelson.hpp.
|
inlinestatic |
Bose-Nelson sorting network for three elements.
Definition at line 191 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for four elements.
Definition at line 198 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for five elements.
Definition at line 206 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for six elements.
Definition at line 214 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for seven elements.
Definition at line 222 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for eight elements.
Definition at line 230 of file bose_nelson.hpp.
|
static |
Bose-Nelson sorting network for nine elements.
Definition at line 238 of file bose_nelson.hpp.