v3.1.0
Новое
- Параллельные версии поразрядной сортировки и сортировки подсчётом;
variant_iterator
. Итератор, который может принимать значения одного из нескольких итераторов.burst::shaped_array_view
, многомерное представление одномерного массива. То же, чтоboost::multi_array_view
, но легковесное и удобное для использования людьми;- Алгоритм
partial_sum_max
; - Метафункция
one_of_equal
.
Изменения
- Оптимизации поразрядной сортировки, улучшающие свойство естественности. Теперь упорядоченные последовательности не сортируются, а пустые разряды (одинаковые для всех чисел) не учитываются при сортировке;
- Оптимизация механизма ленивых вычислений над диапазонами в случае произвольного набора исходных диапазонов. Переход на
variant_iterator
; - Возможность более точечного включения конкретных алгоритмов целочисленных сортировок. Они разбиты по файлам, но старые заголовки остались: они просто ссылаются на новые.
Прочее
-
Улучшения в замерах
- Возможность замерять разные статистики в целочисленных сортировках;
- Возможность замерять отдельные алгоритмы сортировок;
- Возможность генерировать отсортированные последовательности по частям;
- Утилита
display
для просмотра сгенерированных последовательностей; - Общие улучшения в работе с Питоном.
-
Улучшения в песочнице
- Пример и скрипт загрузки песочницы живут отдельно;
- Пример компилируется и исполняется перед заливкой в песочницу.
-
Библиотека адаптирована для совместимости с C++20;
-
Усилены требования: теперь нужен GCC 7.3 или Clang 8, а также Boost 1.66;
-
Косметические изменения кода.