tlx
Loading...
Searching...
No Matches
tlx::sort_networks::best Namespace Reference

Implementation of best known sorting networks for up to sixteen elements. More...

Typedefs

template<typename Iterator >
using DefaultCSwap
 default conditional swap implementation
 

Functions

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort2 (Iterator a, CSwap cswap=CSwap())
 sorting network for two elements
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort3 (Iterator a, CSwap cswap=CSwap())
 sorting network for three elements
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort4 (Iterator a, CSwap cswap=CSwap())
 sorting network for four elements
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort5 (Iterator a, CSwap cswap=CSwap())
 sorting network for five elements
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort6 (Iterator a, CSwap cswap=CSwap())
 sorting network for six elements
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort7 (Iterator a, CSwap cswap=CSwap())
 sorting network for seven elements
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort8 (Iterator a, CSwap cswap=CSwap())
 sorting network for eight elements
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort9 (Iterator a, CSwap cswap=CSwap())
 sorting network for nine elements
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort10 (Iterator a, CSwap cswap=CSwap())
 sorting network for ten elements
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort11 (Iterator a, CSwap cswap=CSwap())
 sorting network for eleven elements
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort12 (Iterator a, CSwap cswap=CSwap())
 sorting network for twelve elements
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort13 (Iterator a, CSwap cswap=CSwap())
 sorting network for thirteen elements
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort14 (Iterator a, CSwap cswap=CSwap())
 sorting network for fourteen elements
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort15 (Iterator a, CSwap cswap=CSwap())
 sorting network for fifteen elements
 
template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort16 (Iterator a, CSwap cswap=CSwap())
 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 best known sorting network for up to sixteen elements with given comparison method.
 

Detailed Description

Implementation of best known sorting networks for up to sixteen elements.

Typedef Documentation

◆ DefaultCSwap

template<typename Iterator >
using DefaultCSwap

default conditional swap implementation

Definition at line 36 of file best.hpp.

Function Documentation

◆ sort()

template<typename Iterator , typename Comparator = std::less<typename std::iterator_traits<Iterator>::value_type>>
static void sort ( Iterator begin,
Iterator end,
Comparator cmp = Comparator() )
static

Call best known sorting network for up to sixteen elements with given comparison method.

Definition at line 523 of file best.hpp.

◆ sort10()

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort10 ( Iterator a,
CSwap cswap = CSwap() )
static

sorting network for ten elements

Definition at line 171 of file best.hpp.

◆ sort11()

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort11 ( Iterator a,
CSwap cswap = CSwap() )
static

sorting network for eleven elements

Definition at line 205 of file best.hpp.

◆ sort12()

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort12 ( Iterator a,
CSwap cswap = CSwap() )
static

sorting network for twelve elements

Definition at line 245 of file best.hpp.

◆ sort13()

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort13 ( Iterator a,
CSwap cswap = CSwap() )
static

sorting network for thirteen elements

Definition at line 289 of file best.hpp.

◆ sort14()

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort14 ( Iterator a,
CSwap cswap = CSwap() )
static

sorting network for fourteen elements

Definition at line 339 of file best.hpp.

◆ sort15()

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort15 ( Iterator a,
CSwap cswap = CSwap() )
static

sorting network for fifteen elements

Definition at line 395 of file best.hpp.

◆ sort16()

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort16 ( Iterator a,
CSwap cswap = CSwap() )
static

sorting network for sixteen elements

Definition at line 456 of file best.hpp.

◆ sort2()

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort2 ( Iterator a,
CSwap cswap = CSwap() )
static

sorting network for two elements

Definition at line 41 of file best.hpp.

◆ sort3()

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort3 ( Iterator a,
CSwap cswap = CSwap() )
static

sorting network for three elements

Definition at line 47 of file best.hpp.

◆ sort4()

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort4 ( Iterator a,
CSwap cswap = CSwap() )
static

sorting network for four elements

Definition at line 55 of file best.hpp.

◆ sort5()

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort5 ( Iterator a,
CSwap cswap = CSwap() )
static

sorting network for five elements

Definition at line 65 of file best.hpp.

◆ sort6()

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort6 ( Iterator a,
CSwap cswap = CSwap() )
static

sorting network for six elements

Definition at line 79 of file best.hpp.

◆ sort7()

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort7 ( Iterator a,
CSwap cswap = CSwap() )
static

sorting network for seven elements

Definition at line 96 of file best.hpp.

◆ sort8()

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort8 ( Iterator a,
CSwap cswap = CSwap() )
static

sorting network for eight elements

Definition at line 117 of file best.hpp.

◆ sort9()

template<typename Iterator , typename CSwap = DefaultCSwap<Iterator>>
static void sort9 ( Iterator a,
CSwap cswap = CSwap() )
static

sorting network for nine elements

Definition at line 141 of file best.hpp.