std:: cbrt, std:: cbrtf, std:: cbrtl
|
Défini dans l'en-tête
<cmath>
|
||
| (1) | ||
|
float
cbrt
(
float
num
)
;
double
cbrt
(
double
num
)
;
|
(jusqu'à C++23) | |
|
/*floating-point-type*/
cbrt ( /*floating-point-type*/ num ) ; |
(depuis C++23)
(constexpr depuis C++26) |
|
|
float
cbrtf
(
float
num
)
;
|
(2) |
(depuis C++11)
(constexpr depuis C++26) |
|
long
double
cbrtl
(
long
double
num
)
;
|
(3) |
(depuis C++11)
(constexpr depuis C++26) |
|
Surcharge SIMD
(depuis C++26)
|
||
|
Défini dans l'en-tête
<simd>
|
||
|
template
<
/*math-floating-point*/
V
>
constexpr
/*deduced-simd-t*/
<
V
>
|
(S) | (depuis C++26) |
|
Surcharges supplémentaires
(depuis C++11)
|
||
|
Défini dans l'en-tête
<cmath>
|
||
|
template
<
class
Integer
>
double cbrt ( Integer num ) ; |
(A) | (constexpr depuis C++26) |
std::cbrt
pour tous les types à virgule flottante non qualifiés cv comme type du paramètre.
(depuis C++23)
|
S)
La surcharge SIMD effectue un calcul
std::cbrt
élément par élément sur
v_num
.
|
(depuis C++26) |
|
A)
Des surcharges supplémentaires sont fournies pour tous les types entiers, qui sont traités comme
double
.
|
(depuis C++11) |
Table des matières |
Paramètres
| num | - | valeur à virgule flottante ou entière |
Valeur de retour
Si aucune erreur ne se produit, la racine cubique de num ( 3 √ num ), est retournée.
Si une erreur de plage se produit en raison d'un dépassement inférieur, le résultat correct (après arrondi) est retourné.
Gestion des erreurs
Les erreurs sont signalées comme spécifié dans math_errhandling .
Si l'implémentation prend en charge l'arithmétique à virgule flottante IEEE (IEC 60559),
- si l'argument est ±0 ou ±∞, il est retourné, inchangé.
- si l'argument est NaN, NaN est retourné.
Notes
std :: cbrt ( num ) is not equivalent to std:: pow ( num, 1.0 / 3 ) because the rational number| 1 |
| 3 |
Les surcharges supplémentaires ne sont pas requises d'être fournies exactement comme (A) . Elles doivent seulement être suffisantes pour garantir que pour leur argument num de type entier, std :: cbrt ( num ) ait le même effet que std :: cbrt ( static_cast < double > ( num ) ) .
Exemple
#include <cmath> #include <iomanip> #include <iostream> #include <limits> int main() { std::cout << "Utilisation normale :\n" << "cbrt(729) = " << std::cbrt(729) << '\n' << "cbrt(-0.125) = " << std::cbrt(-0.125) << '\n' << "Valeurs spéciales :\n" << "cbrt(-0) = " << std::cbrt(-0.0) << '\n' << "cbrt(+inf) = " << std::cbrt(INFINITY) << '\n' << "Précision et comparaison avec `pow` :\n" << std::setprecision(std::numeric_limits<double>::max_digits10) << "cbrt(343) = " << std::cbrt(343) << '\n' << "pow(343,1.0/3) = " << std::pow(343, 1.0 / 3) << '\n' << "cbrt(-343) = " << std::cbrt(-343) << '\n' << "pow(-343,1.0/3) = " << std::pow(-343, 1.0 / 3) << '\n'; }
Sortie possible :
Utilisation normale : cbrt(729) = 9 cbrt(-0.125) = -0.5 Valeurs spéciales : cbrt(-0) = -0 cbrt(+inf) = inf Précision et comparaison avec `pow` : cbrt(343) = 7 pow(343,1.0/3) = 6.9999999999999991 cbrt(-343) = -7 pow(-343,1.0/3) = -nan
Voir aussi
|
(C++11)
(C++11)
|
élève un nombre à la puissance donnée (
x
y
)
(fonction) |
|
(C++11)
(C++11)
|
calcule la racine carrée (
√
x
)
(fonction) |
|
(C++11)
(C++11)
(C++11)
|
calcule l'hypoténuse
√
x
2
+y 2 et √ x 2 +y 2 +z 2 (depuis C++17) (fonction) |
|
Documentation C
pour
cbrt
|
|