Morwenn
Morwenn
I am pretty bad a complexity analysis, but reading again how a `make_heap` function runs in O(n) time and not in O(n log n) time makes me thing that the...
Some of the tests that passed start failing with GCC 9: * The `smath::exp` tests in `cmath.cpp` * The `smath::cos` tests in `trigonometry.cpp` They fail with issues such as the...
Despite having started this library years ago, I don't have the required skills to maintain it, especially the parts that were contributed by other people: it was merely a toy...
C++20 brings enough improvements to ship a C++20 version of `tight_pair` different from the C++17 one: * `[[no_unique_address]]` makes the whole EBO implementation optional. It's worth noting that EBO has...
Theoretically, vergesort could be made stable by only looking for non-decreasing and strictly decreasing runs and using a stable sorting algorithm as a fallback instead of the current quicksort/pdqsort (this...
WikiSort and QuickXSort have in common the fact that they don't always need to allocate memory to merge big runs: sometimes they swap values with an « internal buffer »:...
Vergesort currently blindly calls `inplace_merge` whenever it needs to merge runs. However, it means that new memory is allocated and deallocated whenever a merge operation is performed, which is suboptimal....
Let's consider a collection of elements with a descending sequence, a plateau, and a descending sequence again. Currently, if vergesort jumps into the plateau, it will consider it to be...
Currently, the vergesort overloads that deals with bidirectional iterators uses a regular median-of-3 pivot quicksort as a fallback sorting algorithm. Unfortunately, even if the median-of-3 pivot makes it harder to...
**Description** When running tests in continuous integration, it is rather common to use sanitizers (ubsan, asan, tsan, etc.). It would be nice if Catch2 reported errors as usual and logged...