Namespaces
Variants

fmax, fmaxf, fmaxl

From cppreference.net
< c ‎ | numeric ‎ | math
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99) (C99) (C99) (C23)
Maximum/minimum operations
fmax
(C99)
(C99)
Exponential functions
Power functions
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 fmaxf ( float x, float y ) ;
(1) (depuis C99)
double fmax ( double x, double y ) ;
(2) (depuis C99)
long double fmaxl ( long double x, long double y ) ;
(3) (depuis C99)
Défini dans l'en-tête <tgmath.h>
#define fmax( x, y )
(4) (depuis C99)
1-3) Retourne le plus grand de deux arguments à virgule flottante, en traitant les NaN comme des données manquantes (entre un NaN et une valeur numérique, la valeur numérique est choisie).
4) Macro générique de type : Si un argument a le type long double , fmaxl est appelé. Sinon, si un argument a un type entier ou le type double , fmax est appelé. Sinon, fmaxf est appelé.

Table des matières

Paramètres

x, y - valeurs à virgule flottante

Valeur de retour

En cas de succès, retourne la plus grande de deux valeurs à virgule flottante. La valeur retournée est exacte et ne dépend d'aucun mode d'arrondi.

Gestion des erreurs

Cette fonction n'est soumise à aucune des conditions d'erreur spécifiées dans math_errhandling .

Si l'implémentation prend en charge l'arithmétique à virgule flottante IEEE (IEC 60559),

  • Si l'un des deux arguments est NaN, la valeur de l'autre argument est retournée.
  • NaN n'est retourné que si les deux arguments sont NaN.

Notes

Cette fonction n'est pas tenue d'être sensible au signe de zéro, bien que certaines implémentations imposent en outre que si un argument est +0 et l'autre est -0, alors +0 est retourné.

Exemple

#include <math.h>
#include <stdio.h>
int main(void)
{
    printf("fmax(2,1)    = %f\n", fmax(2,1));
    printf("fmax(-Inf,0) = %f\n", fmax(-INFINITY,0));
    printf("fmax(NaN,-1) = %f\n", fmax(NAN,-1));
}

Sortie :

fmax(2,1)    = 2.000000
fmax(-Inf,0) = 0.000000
fmax(NaN,-1) = -1.000000

Références

  • Norme C23 (ISO/CEI 9899:2024) :
  • 7.12.12.2 Les fonctions fmax (p: TBD)
  • 7.25 Mathématiques génériques de type <tgmath.h> (p: TBD)
  • F.10.9.2 Les fonctions fmax (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.12.12.2 Les fonctions fmax (p: 188)
  • 7.25 Mathématiques génériques <tgmath.h> (p: 397)
  • F.10.9.2 Les fonctions fmax (p: 386)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.12.12.2 Les fonctions fmax (p: 257-258)
  • 7.25 Mathématiques génériques <tgmath.h> (p: 373-375)
  • F.10.9.2 Les fonctions fmax (p: 530)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.12.12.2 Les fonctions fmax (p: 238-239)
  • 7.22 Mathématiques génériques de type <tgmath.h> (p: 335-337)
  • F.9.9.2 Les fonctions fmax (p: 466)

Voir aussi

vérifie si le premier argument à virgule flottante est supérieur au second
(macro de fonction)
(C99) (C99) (C99)
détermine la plus petite de deux valeurs à virgule flottante
(fonction)