Numerics library
La bibliothèque de calcul numérique C++ inclut des fonctions mathématiques courantes et des types, ainsi que des tableaux numériques optimisés et une prise en charge de la génération de nombres aléatoires.
Fonctions et types mathématiques
Fonctions mathématiques communes
L'en-tête <cmath> fournit les fonctions mathématiques standards de la bibliothèque C telles que std::fabs , std::sqrt , et std::sin .
Fonctions mathématiques spéciales (depuis C++17)
L'en-tête <cmath> fournit également plusieurs fonctions mathématiques spéciales telles que std::beta , std::hermite , et std::cyl_bessel_i .
Constantes mathématiques (depuis C++20)
L'en-tête <numbers> fournit plusieurs constantes mathématiques, telles que std::numbers::pi ou std::numbers::sqrt2
Algorithmes d'algèbre linéaire de base (depuis C++26)
L'en-tête <linalg> fournit des algorithmes d'algèbre linéaire de base qui sont basés sur BLAS.
Types parallèles de données (depuis C++26)
L'en-tête <simd> fournit des types portables pour exprimer explicitement le parallélisme de données et structurer les données pour un accès SIMD plus efficace.
Arithmétique des nombres complexes
|
Défini dans l'en-tête
<complex>
|
|
|
un type de nombre complexe
(modèle de classe) |
|
Tableaux numériques
|
Défini dans l'en-tête
<valarray>
|
|
|
tableaux numériques, masques de tableau et tranches de tableau
(modèle de classe) |
|
Algorithmes numériques
L'en-tête <numeric> fournit les algorithmes numériques suivants :
Opérations de facteur (depuis C++17)
|
Défini dans l'en-tête
<numeric>
|
|
|
(C++17)
|
calcule le plus grand commun diviseur de deux entiers
(modèle de fonction) |
|
(C++17)
|
calcule le plus petit commun multiple de deux entiers
(modèle de fonction) |
Opérations d'interpolation (C++20)
|
Défini dans l'en-tête
<numeric>
|
|
|
(C++20)
|
point médian entre deux nombres ou pointeurs
(modèle de fonction) |
|
Défini dans l'en-tête
<cmath>
|
|
|
(C++20)
|
fonction d'interpolation linéaire
(fonction) |
Arithmétique de saturation (depuis C++26)
|
Défini dans l'en-tête
<numeric>
|
|
|
(C++26)
|
opération d'addition saturante sur deux entiers
(modèle de fonction) |
|
(C++26)
|
opération de soustraction saturante sur deux entiers
(modèle de fonction) |
|
(C++26)
|
opération de multiplication saturante sur deux entiers
(modèle de fonction) |
|
(C++26)
|
opération de division saturante sur deux entiers
(modèle de fonction) |
|
(C++26)
|
retourne une valeur entière limitée à la plage d'un autre type entier
(modèle de fonction) |
Opérations numériques
|
Défini dans l'en-tête
<numeric>
|
|
|
(C++11)
|
remplit une plage avec des incréments successifs de la valeur de départ
(modèle de fonction) |
|
(C++23)
|
remplit une plage avec des incréments successifs de la valeur de départ
(objet fonction algorithme) |
|
additionne ou plie une plage d'éléments
(modèle de fonction) |
|
|
(C++17)
|
similaire à
std::accumulate
, mais en désordre
(modèle de fonction) |
|
(C++17)
|
applique un appelable, puis réduit en désordre
(modèle de fonction) |
|
calcule le produit interne de deux plages d'éléments
(modèle de fonction) |
|
|
calcule les différences entre éléments adjacents dans une plage
(modèle de fonction) |
|
|
calcule la somme partielle d'une plage d'éléments
(modèle de fonction) |
|
|
(C++17)
|
similaire à
std::partial_sum
, inclut le
i
ème
élément d'entrée dans la
i
ème
somme
(modèle de fonction) |
|
(C++17)
|
similaire à
std::partial_sum
, exclut le
i
ème
élément d'entrée de la
i
ème
somme
(modèle de fonction) |
|
(C++17)
|
applique un appelable, puis calcule un scan inclusif
(modèle de fonction) |
|
(C++17)
|
applique un appelable, puis calcule un scan exclusif
(modèle de fonction) |
Divers
Génération de nombres pseudo-aléatoires
L'en-tête <random> définit des générateurs de nombres pseudo-aléatoires et des distributions numériques . L'en-tête <cstdlib> inclut également la génération de nombres aléatoires de style C via std::srand et std::rand .
Environnement de virgule flottante (depuis C++11)
L'en-tête <cfenv> définit les indicateurs et fonctions relatifs à l'état exceptionnel des nombres à virgule flottante , tels que le dépassement de capacité et la division par zéro.
Manipulation de bits (depuis C++20)
L'en-tête <bit> fournit plusieurs modèles de fonctions pour accéder, manipuler et traiter des bits individuels et des séquences de bits. L'ordre des octets ( endianness ) des types scalaires peut être inspecté via la fonctionnalité std:: endian .
Arithmétique entière vérifiée (depuis C++26)
L'en-tête de compatibilité C <stdckdint.h> fournit plusieurs modèles de fonctions pour l'arithmétique entière vérifiée.
|
Défini dans l'en-tête
<stdckdint.h>
|
|
|
(C++26)
|
opération d'addition vérifiée sur deux entiers
(modèle de fonction) |
|
(C++26)
|
opération de soustraction vérifiée sur deux entiers
(modèle de fonction) |
|
(C++26)
|
opération de multiplication vérifiée sur deux entiers
(modèle de fonction) |
Voir aussi
|
Documentation C
pour
Numériques
|