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
Definiert im Header <math.h>
float fmaxf ( float x, float y ) ;
(1) (seit C99)
double fmax ( double x, double y ) ;
(2) (seit C99)
long double fmaxl ( long double x, long double y ) ;
(3) (seit C99)
Definiert im Header <tgmath.h>
#define fmax( x, y )
(4) (seit C99)
1-3) Gibt den größeren der beiden Gleitkomma-Argumente zurück, wobei NaNs als fehlende Daten behandelt werden (zwischen einem NaN und einem numerischen Wert wird der numerische Wert gewählt).
4) Typgenerisches Makro: Wenn ein Argument den Typ long double hat, wird fmaxl aufgerufen. Andernfalls, wenn ein Argument ganzzahligen Typ oder den Typ double hat, wird fmax aufgerufen. Andernfalls wird fmaxf aufgerufen.

Inhaltsverzeichnis

Parameter

x, y - Gleitkommawerte

Rückgabewert

Bei Erfolg gibt die Funktion den größeren von zwei Gleitkommawerten zurück. Der zurückgegebene Wert ist exakt und hängt nicht von Rundungsmodi ab.

Fehlerbehandlung

Diese Funktion unterliegt keinen der in math_errhandling spezifizierten Fehlerbedingungen.

Wenn die Implementierung IEEE-Gleitkommaarithmetik (IEC 60559) unterstützt,

  • Wenn eines der beiden Argumente NaN ist, wird der Wert des anderen Arguments zurückgegeben.
  • Nur wenn beide Argumente NaN sind, wird NaN zurückgegeben.

Hinweise

Diese Funktion muss nicht auf das Vorzeichen von Null reagieren, obwohl einige Implementierungen zusätzlich sicherstellen, dass wenn ein Argument +0 und das andere -0 ist, dann +0 zurückgegeben wird.

Beispiel

#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));
}

Ausgabe:

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

Referenzen

  • C23-Standard (ISO/IEC 9899:2024):
  • 7.12.12.2 Die fmax-Funktionen (S.: TBD)
  • 7.25 Typgenerische Mathematik <tgmath.h> (S.: TBD)
  • F.10.9.2 Die fmax-Funktionen (S.: TBD)
  • C17-Standard (ISO/IEC 9899:2018):
  • 7.12.12.2 Die fmax-Funktionen (S: 188)
  • 7.25 Typgenerische Mathematik <tgmath.h> (S: 397)
  • F.10.9.2 Die fmax-Funktionen (S: 386)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.12.12.2 Die fmax-Funktionen (S. 257-258)
  • 7.25 Typgenerische Mathematik <tgmath.h> (S. 373-375)
  • F.10.9.2 Die fmax-Funktionen (S. 530)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.12.12.2 Die fmax-Funktionen (S. 238-239)
  • 7.22 Typgenerische Mathematik <tgmath.h> (S. 335-337)
  • F.9.9.2 Die fmax-Funktionen (S. 466)

Siehe auch

prüft, ob das erste Gleitkomma-Argument größer als das zweite ist
(Funktionsmakro)
(C99) (C99) (C99)
ermittelt den kleineren von zwei Gleitkommawerten
(Funktion)