Библиотека 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> |
|
|---|---|
| тип комплексного числа (шаблон класса) |
|
Числовые массивы
Определено в заголовке <valarray> |
|
|---|---|
| числовые массивы, маски массивов и срезы массивов (шаблон класса) |
|
Числовые алгоритмы
Заголовок <numeric> предоставляет числовые алгоритмы ниже:
Операции с факторами
Определено в заголовке <numeric> |
|
|---|---|
|
(C++17) | вычисляет наибольший общий делитель двух целых чисел (шаблон функции) |
|
(C++17) | вычисляет наименьшее общее кратное двух целых чисел (шаблон функции) |
Операции интерполяции
Определено в заголовке <numeric> |
|
|---|---|
|
(C++20) | середина между двумя числами или указателями (шаблон функции) |
Определено в заголовке <cmath> |
|
|
(C++20) | функция линейной интерполяции (функция) |
Арифметика насыщения (с C++26)
Определено в заголовке <numeric> |
|
|---|---|
|
(C++26) | операция насыщающего сложения двух целых чисел (шаблон функции) |
|
(C++26) | операция насыщающего вычитания двух целых чисел (шаблон функции) |
|
(C++26) | операция насыщающего умножения двух целых чисел (шаблон функции) |
|
(C++26) | операция насыщающего деления двух целых чисел (шаблон функции) |
|
(C++26) | возвращает значение целого числа, ограниченное диапазоном другого целого типа (шаблон функции) |
Числовые операции
Определено в заголовке <numeric> |
|
|---|---|
|
(C++11) | заполняет диапазон последовательными приращениями начального значения (шаблон функции) |
|
(C++23) | заполняет диапазон последовательными приращениями начального значения (niebloid) |
| суммирует или складывает диапазон элементов (шаблон функции) |
|
|
(C++17) | аналогично std::accumulate, за исключением порядка (шаблон функции) |
|
(C++17) | применяет вызываемый объект, затем сокращает вне порядка (шаблон функции) |
| вычисляет скалярное произведение двух диапазонов элементов (шаблон функции) |
|
| вычисляет разности между смежными элементами в диапазоне (шаблон функции) |
|
| вычисляет частичную сумму диапазона элементов (шаблон функции) |
|
|
(C++17) | аналогично std::partial_sum, включает i-й элемент ввода в i-ю сумму (шаблон функции) |
|
(C++17) | аналогично std::partial_sum, исключает i-й элемент ввода из i-й суммы (шаблон функции) |
|
(C++17) | применяет вызываемый объект, затем вычисляет инклюзивный скан (шаблон функции) |
|
(C++17) | применяет вызываемый объект, затем вычисляет эксклюзивный скан (шаблон функции) |
Разное
Генерация псевдослучайных чисел
Заголовок <random> определяет генераторы псевдослучайных чисел и числовые распределения. Заголовок <cstdlib> также включает генерацию случайных чисел в стиле C с помощью std::srand и std::rand.
Среда с плавающей запятой (с C++11)
Заголовок <cfenv> определяет флаги и функции, связанные с исключительными состояниями с плавающей запятой, такими как переполнение и деление на ноль.
Манипуляции битами (с C++20)
Заголовок <bit> предоставляет несколько шаблонов функций для доступа, манипулирования и обработки отдельных битов и последовательностей битов.
Определено в заголовке <bit> |
|
|---|---|
Определено в пространстве имен std |
|
|
(C++20) | интерпретирует представление объекта одного типа как представление другого (шаблон функции) |
|
(C++23) | инвертирует байты в заданном целочисленном значении (шаблон функции) |
|
(C++20) | проверяет, является ли число целой степенью 2 (шаблон функции) |
|
(C++20) | находит наименьшую целую степень двойки, не меньшую, чем заданное значение (шаблон функции) |
|
(C++20) | находит наибольшую целую степень двойки, не большую, чем заданное значение (шаблон функции) |
|
(C++20) | находит минимальное количество битов, необходимое для представления данного значения (шаблон функции) |
|
(C++20) | вычисляет результат циклического сдвига влево (шаблон функции) |
|
(C++20) | вычисляет результат циклического сдвига вправо (шаблон функции) |
|
(C++20) | подсчитывает количество последовательных 0 битов, начиная с старшего бита (шаблон функции) |
|
(C++20) | подсчитывает количество последовательных 1 битов, начиная со старшего бита (шаблон функции) |
|
(C++20) | подсчитывает количество последовательных 0 битов, начиная с младшего бита (шаблон функции) |
|
(C++20) | подсчитывает количество последовательных 1 битов, начиная с младшего бита (шаблон функции) |
|
(C++20) | подсчитывает количество 1 битов в беззнаковом целочисленном значении (шаблон функции) |
|
(C++20) | указывает порядок следования байтов для скалярных типов (перечисление) |
См. также
| Документация C для Числовые функции |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/numeric