Biblioteca numérica
La biblioteca numérica de C++ incluye funciones matemáticas comunes y tipos, así como arrays numéricos optimizados y apoyo para la generación de números aleatorios.
Funciones matemáticas y tipos
Funciones matemáticas comunes
El encabezado <cmath> proporciona funciones matemáticas de la biblioteca de C estándar, tales como std::fabs, std::sqrt, y std::sin.
Funciones matemáticas especiales (desde C++17)
El encabezado <cmath> también proporciona varias funciones matemáticas especiales, tales como std::beta, std::hermite, y std::cyl_bessel_i.
Constantes matemáticas (desde C++20)
El encabezado <numbers> proporciona varias constantes matemáticas, tales como std::numbers::pi o std::numbers::sqrt2
Algoritmos básicos de álgebra lineal (desde C++26)
El encabezado <linalg> proporciona algoritmos básicos de álgebra lineal que se basan en BLAS.
Tipos de paralelismo de datos (desde C++26)
El encabezado <simd> proporciona tipos portátiles para declarar explícitamente el paralelismo de datos y estructurar los datos para un acceso SIMD más eficiente.
Aritmética de números complejos
Definido en el encabezado
<complex> | |
| Un tipo de número complejo. (plantilla de clase) | |
Arrays numéricos
Definido en el encabezado
<valarray> | |
| Arrays numéricos, máscaras de arrays y secciones de arrays. (plantilla de clase) | |
Algoritmos numéricos
El encabezado <numeric> proporciona los siguientes algoritmos numéricos:
Operaciones de factorización (desde C++17)
Definido en el encabezado
<numeric> | |
(C++17) |
Plantilla de función constexpr que devuelve el máximo común divisor de dos enteros (plantilla de función) |
(C++17) |
Plantilla de función constexpr que devuelve el mínimo común múltiplo de dos enteros (plantilla de función) |
Operaciones de interpolación
Definido en el encabezado
<numeric> | |
(C++20) |
Punto medio entre dos números o punteros (plantilla de función) |
Definido en el encabezado
<cmath> | |
(C++20) |
Función de interpolación lineal (función) |
Aritmética de saturación (desde C++26)
Definido en el encabezado
<numeric> | |
(C++26) |
Operación de suma con saturación de dos enteros. (plantilla de función) |
| Operación de resta con saturación entre dos enteros. (plantilla de función) | |
(C++26) |
Operación de multiplicación con saturación de dos enteros. (plantilla de función) |
(C++26) |
Operación de división con saturación entre dos enteros. (plantilla de función) |
(C++26) |
Devuelve un valor entero acotado al rango de otro tipo entero. (plantilla de función) |
Operaciones numéricas
Definido en el encabezado
<numeric> | |
(C++11) |
Llena un rango con incrementos sucesivos del mismo valor de partida (plantilla de función) |
(C++23) |
Llena un rango con incrementos sucesivos del valor inicial. (niebloid) |
| Suma un rango de elementos (plantilla de función) | |
(C++17) |
Similar a std::accumulate, excepto que fuera de orden (plantilla de función) |
(C++17) |
Aplica un invocable, luego reduce fuera de orden (plantilla de función) |
| Calcula el producto interno de dos rangos de elementos (plantilla de función) | |
| Calcula las diferencias entre elementos adyacentes en un rango (plantilla de función) | |
| Calcula la suma parcial de un rango de elementos (plantilla de función) | |
(C++17) |
Similar a std::partial_sum, incluye el i-ésimo elemento de entrada de la i-ésima suma (plantilla de función) |
(C++17) |
Similar a std::partial_sum, excluye el i-ésimo elemento de entrada de la i-ésima suma (plantilla de función) |
(C++17) |
Aplica un invocable, luego calcula la suma de prefijo (o suma acumulativa) inclusiva (plantilla de función) |
(C++17) |
Aplica un invocable, luego calcula la suma de prefijo (o suma acumulativa) exclusiva (plantilla de función) |
Misceláneos
Generación de números pseudoaleatorios
El encabezado <random> define generadores de números pseudoaleatorios y distribuciones numéricas. El encabezado <cstdlib> también incluye generación de número aleatorios estilo C mediante std::srand y std::rand.
Entorno de punto flotante (desde C++11)
El encabezado <cfenv> define indicadores y funciones relacionadas con estado de punto flotante excepcional, tales como desbordamiento y división por cero.
Manipulación de bits (desde C++20)
El encabezado <bit> proporciona varias plantillas de función para acceder, manipular y procesar bits individuales y secuencias de bits. El orden de bytes (endianness) de los tipos escalares puede inspeccionarse mediante el servicio std::endian.
Aritmética de enteros comprobada (desde C++26)
El encabezado de compatibilidad con C <stdckdint.h> proporciona varias plantillas de función para la aritmética de enteros comprobada.
Definido en el encabezado
<stdckdint.h> | |
| Operación de suma comprobada en dos números enteros. (plantilla de función) | |
| Operación de resta comprobada entre dos enteros. (plantilla de función) | |
| Operación de multiplicación con comprobación de desbordamiento entre dos enteros. (plantilla de función) | |
Véase también
Documentación de C para Numéricos
|