TGViewer
C++ Academy C++ Academy @cpluspluc · 15.5K subscribers
Post #1413 3.2K
Data-Parallel Types: алгоритмы (C++26)

Библиотека «data-parallel types» для SIMD-векторов (пространство имён std::experimental, алиас stdx) предоставляет четыре специальных алгоритма: `min, max, minmax и clamp.

min, max, minmax

- min(a, b) и max(a, b) принимают два SIMD-вектора и возвращают вектор покомпонентных минимумов/максимумов.
- minmax(a, b) возвращает пару SIMD-векторов: первый — покомпонентные минимумы, второй — максимумы.
- Автор отмечает, что строка stdx::minmax(a, b) у него не компилировалась ни в GCC, ни в Clang (на момент публикации).

clamp

- stdx::clamp(v, lo, hi) применяет std::clamp к каждому элементу SIMD-вектора: значения ниже lo поднимаются до нижней границы, выше hi — опускаются до верхней.
- Показаны два примера: ограничение к диапазону INT8_MIN..INT8_MAX и к 0..UINT8_MAX; на выводах видно, как выходящие за пределы элементы прижимаются к границам.

Итог

- Для SIMD-векторов доступны привычные «минимумы/максимумы» и покомпонентный clamp.
- minmax задуман как удобный возврат пары (min/max), но в текущих компиляторах может не собираться.
- Дальше автор планирует разбирать новые возможности C++26 (в частности, контракты).

https://www.modernescpp.com/index.php/data-parallel-types-algorithms/

#cpp #programming
  • 👍 8
  • ❤ 4
  • 🔥 1
More from @cpluspluc
  1. Oct 2, 2026Полноценный Lisp можно уместить всего в 99 строк C. Внутри при этом: - 21 примитив - REPL…
  2. Sep 30, 2026✔️ В C/C++ есть любопытный трюк с AVX-512: `_mm512_maskz_loadu_epi8`. Инструкция может выб…
  3. Sep 28, 2026C23 сделал enum в C заметно удобнее для низкоуровневого кода. Раньше базовый тип перечисле…
  4. Sep 26, 2026Minimum-Cost Maximum-Flow всего в ~110 строках C++ Хороший компактный пример одного из сам…
  5. Sep 25, 2026🐧 Linux Cheat Sheet - шпаргалка по командам Linux Самая удобная шпаргалка по Linux и Bash…
  6. Sep 24, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →