Sortnet
Sorting Networks for Rust.
Current Implementation
| Input Size | Number of Comparisons |
|---|---|
| 0 | 0 |
| 1 | 0 |
| 2 | 1 |
| 3 | 3 |
| 4 | 5 |
| 5 | 9 |
| 6 | 12 |
| 7 | 16 |
| 8 | 19 |
| 9 | 25 |
| 10 | 29 |
| 11 | 35 |
| 12 | 39 |
| 13 | 45 |
| 14 | 51 |
| 15 | 56 |
| 16 | 60 |
Prior Art
sorting_networks(Rust): Uses Odd-even Mergesort but requires slightly more comparisons in some cases (e.g. 63 for 16 inputs). Also,sortnetuses compile-time unrolling of the whole algorithm which hopefully helps compiler and CPU- Sorting Networks: This is where the networks in
sortnetare taken from.
License
Licensed under either of these:
- Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT License (LICENSE-MIT or https://opensource.org/licenses/MIT)
Contributing
Unless you explicitly state otherwise, any contribution you intentionally submit for inclusion in the work, as defined in the Apache-2.0 license, shall be dual-licensed as above, without any additional terms or conditions.