Skip to content

Releases: izvolov/burst

v3.1.1

07 Aug 16:17
Compare
Choose a tag to compare

Улучшения

  • Добавлен специальный cmake-модуль для doctest. Теперь doctest скачается автоматически, если его нет в системе.

Прочее

  • Декомпозиция в поразрядной сортировке;
  • Добавлен пропущенный заголовок;
  • Современные сборки макоси добавлены в CI;
  • Интерфейс инструментов для замеров стал чуть дружелюбнее.

v3.1.0

31 Oct 12:11
Compare
Choose a tag to compare

Новое

Изменения

  • Оптимизации поразрядной сортировки, улучшающие свойство естественности. Теперь упорядоченные последовательности не сортируются, а пустые разряды (одинаковые для всех чисел) не учитываются при сортировке;
  • Оптимизация механизма ленивых вычислений над диапазонами в случае произвольного набора исходных диапазонов. Переход на variant_iterator;
  • Возможность более точечного включения конкретных алгоритмов целочисленных сортировок. Они разбиты по файлам, но старые заголовки остались: они просто ссылаются на новые.

Прочее

  • Улучшения в замерах

    • Возможность замерять разные статистики в целочисленных сортировках;
    • Возможность замерять отдельные алгоритмы сортировок;
    • Возможность генерировать отсортированные последовательности по частям;
    • Утилита display для просмотра сгенерированных последовательностей;
    • Общие улучшения в работе с Питоном.
  • Улучшения в песочнице

    • Пример и скрипт загрузки песочницы живут отдельно;
    • Пример компилируется и исполняется перед заливкой в песочницу.
  • Библиотека адаптирована для совместимости с C++20;

  • Усилены требования: теперь нужен GCC 7.3 или Clang 8, а также Boost 1.66;

  • Косметические изменения кода.

v3.0.0

14 Mar 09:13
Compare
Choose a tag to compare

Несовместимые изменения

  • burst::take_n берёт не ровно n элементов, а не более n элементов. Старое поведение реализовано в адапторе burst::take_exactly.

Новое

  • burst::take_exactly. Адаптор для откусывания ровно n элементов диапазона;
  • burst::take_at_most. Синоним burst::take_n. Адаптор для откусывание не более n элементов диапазона;
  •  Адапторы для создания диапазонов на основе семейства функций burst::make_<container>:
    • burst::to_vector
    • burst::to_deque
    • burst::to_list
    • burst::to_forward_list
    • burst::to_set

Изменения

  • Итератор слияния больше не требует однонаправленности от сливаемых диапазонов, им достаточно быть однопроходными.

Прочее

  • Небольшие улучшения производительности при конструировании контейнеров (семейство burst::make_<container>);
  • Улучшение совместимости с новыми стандартами.

v2.0.0

26 Jul 12:13
Compare
Choose a tag to compare

Новое

  • Упрощённый интерфейс (через std::tie) для ленивых операций с множествами;

  • Метафункции:

    • are_same
    • minimum_category
    • range_category
    • range_iterator
    • range_reference
    • range_value

Изменения

  • Метафункции для итераторов сменили место жительства на burst/type_traits:

    • iterator_category
    • iterator_difference
    • iterator_pointer
    • iterator_reference
    • iterator_value

v1.1.0

14 Nov 20:49
Compare
Choose a tag to compare

Новое

  • Система тестирования Boost.Test заменена на doctest.

Улучшения

  • Чуть больше документации;
  • Чуть более осмысленные проверки в некоторых тестах.

Исправления

  • k-местное дерево поиска корректно конструируется из упорядоченного, но содержащего повторяющиеся элементы диапазона.

v1.0.0

20 Jul 08:27
Compare
Choose a tag to compare

Новое

  • Всё