Namensräume
Varianten
Aktionen

std::isgreaterequal

Von cppreference.com
< cpp‎ | numeric‎ | math
 
 
 
 
Definiert in der Header-Datei <cmath>
(1)
bool isgreaterequal( float x, float y );

bool isgreaterequal( double x, double y );

bool isgreaterequal( long double x, long double y );
(seit C++11)
(bis C++23)
constexpr bool isgreaterequal( /* GleitkommaTyp */ x,
                               /* floating-point-type */ y );
(seit C++23)
Definiert in der Header-Datei <cmath>
template< class Arithmetic1, class Arithmetic2 >
bool isgreaterequal( Arithmetic1 x, Arithmetic2 y );
(A) (seit C++11)
(constexpr seit C++23)
1) Bestimmt, ob die Gleitkommazahl x größer oder gleich der Gleitkommazahl y ist, ohne Gleitkommaausnahmen zu setzen. Die Bibliothek stellt Überladungen für alle cv-unqualifizierten Gleitkommatypen als Typ der Parameter x und y bereit.(seit C++23)
A) Zusätzliche Überladungen werden für alle anderen Kombinationen von arithmetischen Typen bereitgestellt.

Inhalt

[bearbeiten] Parameter

x, y - Gleitkomma- oder Ganzzahlwerte

[bearbeiten] Rückgabewert

true, wenn x >= y, sonst false.

[bearbeiten] Anmerkungen

Der eingebaute Operator>= für Gleitkommazahlen kann FE_INVALID auslösen, wenn einer oder beide der Operanden NaN ist. Diese Funktion ist eine "stille" Version von Operator>=.

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

  • Wenn num1 oder num2 vom Typ long double ist, dann hat std::isgreaterequal(num1, num2) denselben Effekt wie std::isgreaterequal(static_cast<long double>(num1),
                        static_cast<long double>(num2))
    .
  • Andernfalls, wenn num1 und/oder num2 vom Typ double oder einem Ganzzahltyp ist, dann hat std::isgreaterequal(num1, num2) denselben Effekt wie std::isgreaterequal(static_cast<double>(num1),
                        static_cast<double>(num2))
    .
  • Andernfalls, wenn num1 oder num2 vom Typ float ist, dann hat std::isgreaterequal(num1, num2) denselben Effekt wie std::isgreaterequal(static_cast<float>(num1),
                        static_cast<float>(num2))
    .
(bis C++23)

Wenn num1 und num2 arithmetische Typen haben, dann hat std::isgreaterequal(num1, num2) denselben Effekt wie std::isgreaterequal(static_cast</*gemeinsamer-gleitkomma-typ*/>(num1),
                    static_cast</*gemeinsamer-gleitkomma-typ*/>(num2))
, wobei /*gemeinsamer-gleitkomma-typ*/ der Gleitkommatyp mit dem höchsten Rang der Gleitkomma-Konvertierung und der höchsten Subrang der Gleitkomma-Konvertierung zwischen den Typen von num1 und num2 ist. Argumente vom Ganzzahltyp werden so betrachtet, als hätten sie denselben Rang der Gleitkomma-Konvertierung wie double.

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)

[bearbeiten] Siehe auch

Funktions-Objekt, das x >= y implementiert
(Klassen-Template) [bearbeiten]
prüft, ob das erste Gleitkommaargument kleiner oder gleich dem zweiten ist
(Funktion) [bearbeiten]
C-Dokumentation für isgreaterequal