Namespaces
Variants

cbrt, cbrtf, cbrtl

From cppreference.net
< c ‎ | numeric ‎ | math
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99) (C99) (C99) (C23)
Maximum/minimum operations
Exponential functions
Power functions
cbrt
(C99)
(C23)
(C23)

Trigonometric and hyperbolic functions
Nearest integer floating-point
(C99) (C99) (C99)
(C23) (C23) (C23) (C23)
Floating-point manipulation
Narrowing operations
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quantum and quantum exponent
Decimal re-encoding functions
Total order and payload functions
Classification
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Types
Macro constants
Special floating-point values
Arguments and return values
Error handling
Fast operation indicators
Défini dans l'en-tête <math.h>
float cbrtf ( float arg ) ;
(1) (depuis C99)
double cbrt ( double arg ) ;
(2) (depuis C99)
long double cbrtl ( long double arg ) ;
(3) (depuis C99)
Défini dans l'en-tête <tgmath.h>
#define cbrt( arg )
(4) (depuis C99)
1-3) Calcule la racine cubique de arg .
4) Macro générique de type : Si arg a le type long double , cbrtl est appelé. Sinon, si arg a un type entier ou le type double , cbrt est appelé. Sinon, cbrtf est appelé.

Table des matières

Paramètres

arg - valeur en virgule flottante

Valeur de retour

Si aucune erreur ne se produit, la racine cubique de arg ( 3 arg ) 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

cbrt ( arg ) is not equivalent to pow ( arg, 1.0 / 3 ) because the rational number
1
3
is typically not equal to 1.0 / 3 and std::pow cannot raise a negative base to a fractional exponent. Moreover, cbrt ( arg ) usually gives more accurate results than pow ( arg, 1.0 / 3 ) (see example).

Exemple

#include <float.h>
#include <math.h>
#include <stdio.h>
int main(void)
{
    printf("Utilisation normale :\n"
           "cbrt(729)      = %f\n", cbrt(729));
    printf("cbrt(-0.125)   = %f\n", cbrt(-0.125));
    printf("Valeurs spéciales :\n"
           "cbrt(-0)       = %f\n", cbrt(-0.0));
    printf("cbrt(+inf)     = %f\n", cbrt(INFINITY));
    printf("Précision :\n"
           "cbrt(343)      = %.*f\n", DBL_DECIMAL_DIG, cbrt(343));
    printf("pow(343,1.0/3) = %.*f\n", DBL_DECIMAL_DIG, pow(343, 1.0/3));
}

Sortie possible :

Utilisation normale :
cbrt(729)      = 9.000000
cbrt(-0.125)   = -0.500000
Valeurs spéciales :
cbrt(-0)       = -0.000000
cbrt(+inf)     = inf
Précision :
cbrt(343)      = 7.00000000000000000
pow(343,1.0/3) = 6.99999999999999911

Références

  • Norme C23 (ISO/CEI 9899:2024) :
  • 7.12.7.1 Les fonctions cbrt (p: TBD)
  • 7.25 Mathématiques génériques de type <tgmath.h> (p: TBD)
  • F.10.4.1 Les fonctions cbrt (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.12.7.1 Les fonctions cbrt (p: 180-181)
  • 7.25 Mathématiques génériques <tgmath.h> (p: 272-273)
  • F.10.4.1 Les fonctions cbrt (p: 381-)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.12.7.1 Les fonctions cbrt (p: 247)
  • 7.25 Mathématiques génériques de type <tgmath.h> (p: 373-375)
  • F.10.4.1 Les fonctions cbrt (p: 524)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.12.7.1 Les fonctions cbrt (p: 228)
  • 7.22 Mathématiques génériques de type <tgmath.h> (p: 335-337)
  • F.9.4.1 Les fonctions cbrt (p: 460)

Voir aussi

(C99) (C99)
calcule un nombre élevé à la puissance donnée ( x y )
(fonction)
(C99) (C99)
calcule la racine carrée ( x )
(fonction)
(C99) (C99) (C99)
calcule la racine carrée de la somme des carrés de deux nombres donnés ( x 2
+y 2
)
(fonction)