Spec-Zone.ru › C++

Библиотека числовых средств

Библиотека числовых средств C++ включает распространённые математические функции и типы, а также оптимизированные числовые массивы и средства генерации случайных чисел.

Математические функции и типы

Распространённые математические функции

Заголовок <cmath> предоставляет стандартные математические функции библиотеки C, такие как std::fabs, std::sqrt и std::sin.

Специальные математические функции (начиная с C++17)

Заголовок <cmath> также предоставляет несколько специальных математических функций, таких как std::beta, std::hermite и std::cyl_bessel_i.

Математические константы (начиная с C++20)

Заголовок <numbers> предоставляет несколько математических констант, например std::numbers::pi или std::numbers::sqrt2

Основные алгоритмы линейной алгебры (начиная с C++26)

Заголовок <linalg> предоставляет основные алгоритмы линейной алгебры, основанные на BLAS.

Типы для параллельной обработки данных (начиная с C++26)

Заголовок <simd> предоставляет переносимые типы для явного указания параллельной обработки данных и структурирования данных для более эффективного доступа SIMD.

Арифметика комплексных чисел

Определён в заголовке <complex>
complex
тип комплексного числа
(шаблон класса)

Числовые массивы

Определён в заголовке <valarray>
valarray
числовые массивы, маски массивов и срезы массивов
(шаблон класса)

Числовые алгоритмы

Заголовок <numeric> предоставляет следующие числовые алгоритмы:

Операции с множителями (начиная с C++17)

Определён в заголовке <numeric>
gcd
(C++17)
вычисляет наибольший общий делитель двух целых чисел
(шаблон функции)
lcm
(C++17)
вычисляет наименьшее общее кратное двух целых чисел
(шаблон функции)

Операции интерполяции (C++20)

Определён в заголовке <numeric>
midpoint
(C++20)
середина между двумя числами или указателями
(шаблон функции)
Определён в заголовке <cmath>
lerp
(C++20)
функция линейной интерполяции
(функция)

Насыщающая арифметика (начиная с C++26)

Определён в заголовке <numeric>
saturating_add
(C++26)
операция насыщаемого сложения двух целых чисел
(шаблон функции)
saturating_sub
(C++26)
операция насыщаемого вычитания двух целых чисел
(шаблон функции)
saturating_mul
(C++26)
операция насыщаемого умножения двух целых чисел
(шаблон функции)
saturating_div
(C++26)
операция насыщаемого деления двух целых чисел
(шаблон функции)
saturating_cast
(C++26)
возвращает целочисленное значение, ограниченное диапазоном другого целочисленного типа
(шаблон функции)

Числовые операции

Определён в заголовке <numeric>
iota
(C++11)
заполняет диапазон последовательными приращениями от начального значения
(шаблон функции и функциональный объект алгоритма)
ranges::iota
(C++23)
ranges::iota
(C++23)
заполняет диапазон последовательными приращениями от начального значения
(функциональный объект алгоритма)
accumulate
суммирует элементы диапазона или сворачивает диапазон
(шаблон функции)
reduce
(C++17)
аналогичен std::accumulate, но выполняет операции не по порядку
(шаблон функции)
transform_reduce
(C++17)
применяет вызываемый объект, а затем выполняет свёртку не по порядку
(шаблон функции)
inner_product
вычисляет скалярное произведение двух диапазонов элементов
(шаблон функции)
adjacent_difference
вычисляет разности между соседними элементами диапазона
(шаблон функции)
partial_sum
вычисляет частичные суммы элементов диапазона
(шаблон функции)
inclusive_scan
(C++17)
аналогичен std::partial_sum, включает iй входной элемент в iю сумму
(шаблон функции)
exclusive_scan
(C++17)
аналогичен std::partial_sum, исключает iй входной элемент из iй суммы
(шаблон функции)
transform_inclusive_scan
(C++17)
применяет вызываемый объект, а затем вычисляет включительное сканирование
(шаблон функции)
transform_exclusive_scan
(C++17)
применяет вызываемый объект, а затем вычисляет исключительное сканирование
(шаблон функции)

Разное

Генерация псевдослучайных чисел

Заголовок <random> определяет генераторы псевдослучайных чисел и числовые распределения. Заголовок <cstdlib> также включает генерацию случайных чисел в стиле C с помощью std::srand и std::rand.

Среда вычислений с плавающей точкой (начиная с C++11)

Заголовок <cfenv> определяет флаги и функции, связанные с исключительными состояниями при вычислениях с плавающей точкой, такими как переполнение и деление на ноль.

Операции с битами (начиная с C++20)

Заголовок <bit> предоставляет несколько шаблонов функций для доступа к отдельным битам и битовым последовательностям, их изменения и обработки. Порядок байтов (порядок следования байтов) скалярных типов можно проверить с помощью средства std::endian.

Целочисленная арифметика с проверкой (начиная с C++26)

Заголовок совместимости с C <stdckdint.h> предоставляет несколько шаблонов функций для целочисленной арифметики с проверкой.

Определён в заголовке <stdckdint.h>
ckd_add
(C++26)
операция сложения двух целых чисел с проверкой
(шаблон функции)
ckd_sub
(C++26)
операция вычитания двух целых чисел с проверкой
(шаблон функции)
ckd_mul
(C++26)
операция умножения двух целых чисел с проверкой
(шаблон функции)

См. также

Документация C по разделу Числовые средства

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/numeric

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API