Spec-Zone.ru › C++

Библиотека Numerics

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

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

Общие математические функции

Заголовок <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.

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

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

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

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

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

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

Операции с факторами

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

Операции интерполяции

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

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

Определено в заголовке <numeric>
add_sat
(C++26)
операция насыщающего сложения двух целых чисел
(шаблон функции)
sub_sat
(C++26)
операция насыщающего вычитания двух целых чисел
(шаблон функции)
mul_sat
(C++26)
операция насыщающего умножения двух целых чисел
(шаблон функции)
div_sat
(C++26)
операция насыщающего деления двух целых чисел
(шаблон функции)
saturate_cast
(C++26)
возвращает значение целого числа, ограниченное диапазоном другого целого типа
(шаблон функции)

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

Определено в заголовке <numeric>
iota
(C++11)
заполняет диапазон последовательными приращениями начального значения
(шаблон функции)
ranges::iota
(C++23)
заполняет диапазон последовательными приращениями начального значения
(niebloid)
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> предоставляет несколько шаблонов функций для доступа, манипулирования и обработки отдельных битов и последовательностей битов.

Определено в заголовке <bit>
Определено в пространстве имен std
bit_cast
(C++20)
интерпретирует представление объекта одного типа как представление другого
(шаблон функции)
byteswap
(C++23)
инвертирует байты в заданном целочисленном значении
(шаблон функции)
has_single_bit
(C++20)
проверяет, является ли число целой степенью 2
(шаблон функции)
bit_ceil
(C++20)
находит наименьшую целую степень двойки, не меньшую, чем заданное значение
(шаблон функции)
bit_floor
(C++20)
находит наибольшую целую степень двойки, не большую, чем заданное значение
(шаблон функции)
bit_width
(C++20)
находит минимальное количество битов, необходимое для представления данного значения
(шаблон функции)
rotl
(C++20)
вычисляет результат циклического сдвига влево
(шаблон функции)
rotr
(C++20)
вычисляет результат циклического сдвига вправо
(шаблон функции)
countl_zero
(C++20)
подсчитывает количество последовательных ​0​ битов, начиная с старшего бита
(шаблон функции)
countl_one
(C++20)
подсчитывает количество последовательных 1 битов, начиная со старшего бита
(шаблон функции)
countr_zero
(C++20)
подсчитывает количество последовательных ​0​ битов, начиная с младшего бита
(шаблон функции)
countr_one
(C++20)
подсчитывает количество последовательных 1 битов, начиная с младшего бита
(шаблон функции)
popcount
(C++20)
подсчитывает количество 1 битов в беззнаковом целочисленном значении
(шаблон функции)
endian
(C++20)
указывает порядок следования байтов для скалярных типов
(перечисление)

См. также

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

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

Spec-Zone.ru

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