Open
Description
The current sorting networks as well as the ones considered in #54 are "optimal" sorting networks but only take into account dedicated networks for some sizes. While it is probably enough most of the time, there might be use cases for sorting networks bigger than 32 elements.
We could add generic sorting networks to the library implementing the following algorithms:
- Bose-Nelson
- Bitonic sorter
- Batcher's merge-exchange
- Brick sort
- Pairwise sorting networks
We could maybe add some kind of generic sorting sorter network that generates size-optimal sorting networks by dividing the network in half, sorting each half with a size-optimal sorting network, then merging both halves with Batcher's merge network.