std::fmax, std::fmaxf, std::fmaxl
| Definiert in der Header-Datei <cmath> |
||
| (1) | ||
float fmax ( float x, float y ); double fmax ( double x, double y ); |
(bis C++23) | |
| constexpr /*Gleitkommazahl-Typ*/ fmax ( /*Gleitkommazahl-Typ*/ x, |
(seit C++23) | |
float fmaxf( float x, float y ); |
(2) | (seit C++11) (constexpr seit C++23) |
long double fmaxl( long double x, long double y ); |
(3) | (seit C++11) (constexpr seit C++23) |
| SIMD-Überladung (seit C++26) |
||
| Definiert im Header <simd> |
||
| template< class V0, class V1 > constexpr /*math-common-simd-t*/<V0, V1> |
(S) | (seit C++26) |
| Zusätzliche Überladungen (seit C++11) |
||
| Definiert in der Header-Datei <cmath> |
||
template< class Integer > double fmax ( Integer x, Integer y ); |
(A) | (constexpr seit C++23) |
std::fmax für alle cv-unqualifizierten Gleitkommazahlen-Typen als Parametertypen bereit.(seit C++23)|
S) Die SIMD-Überladung führt ein elementweises
std::fmax auf v_x und v_y durch.
|
(seit C++26) |
|
A) Zusätzliche Überladungen werden für alle ganzzahligen Typen bereitgestellt, die als double behandelt werden.
|
(seit C++11) |
Inhalt |
[edit] Parameter
| x, y | - | Gleitkomma- oder Ganzzahlwerte |
[edit] Rückgabewert
Bei Erfolg wird der größere der beiden Gleitkommazahlen-Werte zurückgegeben. Der zurückgegebene Wert ist exakt und hängt von keinen Rundungsmodi ab.
[edit] Fehlerbehandlung
Diese Funktion unterliegt keinen der in math_errhandling spezifizierten Fehlerbedingungen.
Wenn die Implementierung IEEE-Gleitkomma-Arithmetik (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.
[edit] Anmerkungen
Diese Funktion muss nicht empfindlich auf das Vorzeichen von Null reagieren, obwohl einige Implementierungen zusätzlich sicherstellen, dass, wenn ein Argument +0 und das andere -0 ist, +0 zurückgegeben wird.
Die zusätzlichen Überladungen müssen nicht exakt wie (A) angegeben werden. Sie müssen nur ausreichen, um sicherzustellen, dass für ihr erstes Argument num1 und ihr zweites Argument num2
|
(bis C++23) |
|
Wenn num1 und num2 arithmetische Typen haben, hat std::fmax(num1, num2) den gleichen Effekt wie std::fmax(static_cast</*gemeinsamer-Gleitkommazahl-Typ*/>(num1), Wenn kein solcher Gleitkommazahltyp mit dem höchsten Rang und Subrang existiert, dann führt die Überladungsauflösung nicht zu einem nutzbaren Kandidaten aus den bereitgestellten Überladungen. |
(seit C++23) |
[edit] Beispiel
Ausgabe
fmax(2,1) = 2 fmax(-Inf,0) = 0 fmax(NaN,-1) = -1
[edit] Siehe auch
| (C++11) |
prüft, ob das erste Gleitkommaargument größer ist als das zweite (Funktion) |
| (C++11)(C++11)(C++11) |
kleinerer von zwei Gleitkommawerten (Funktion) |
| Gibt den größeren der beiden Werte zurück (Funktionstemplate) | |
| Gibt das größte Element in einem Bereich zurück (Funktionstemplate) | |
| (C++11) |
gibt die kleinere und größere von zwei Elementen zurück (Funktionsvorlage) |
| (C++11) |
gibt das kleinste und das größte Element in einem Bereich zurück (Funktionsvorlage) |
| C-Dokumentation für fmax
| |