Namensräume
Varianten
Aktionen

std::islessequal

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

bool islessequal( double x, double y );

bool islessequal( long double x, long double y );
(seit C++11)
(bis C++23)
constexpr bool islessequal( /* gleitkomma-typ */ x,
                            /* floating-point-type */ y );
(seit C++23)
Definiert in der Header-Datei <cmath>
template< class Arithmetic1, class Arithmetic2 >
bool islessequal( Arithmetic1 x, Arithmetic2 y );
(A) (seit C++11)
(constexpr seit C++23)
1) Ermittelt, ob die Gleitkommazahl x kleiner oder gleich der Gleitkommazahl y ist, ohne Gleitkomma-Ausnahmen 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, ansonsten false.

[bearbeiten] Anmerkungen

Der eingebaute Operator<= für Gleitkommazahlen kann FE_INVALID auslösen, wenn eines oder beide Argumente NaN sind. Diese Funktion ist eine "ruhige" 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, hat std::islessequal(num1, num2) die gleiche Wirkung wie std::islessequal(static_cast<long double>(num1),
                     static_cast<long double>(num2))
    .
  • Andernfalls, wenn num1 und/oder num2 vom Typ double oder einem Ganzzahltyp ist, hat std::islessequal(num1, num2) die gleiche Wirkung wie std::islessequal(static_cast<double>(num1),
                     static_cast<double>(num2))
    .
  • Andernfalls, wenn num1 oder num2 vom Typ float ist, hat std::islessequal(num1, num2) die gleiche Wirkung wie std::islessequal(static_cast<float>(num1),
                     static_cast<float>(num2))
    .
(bis C++23)

Wenn num1 und num2 arithmetische Typen haben, hat std::islessequal(num1, num2) die gleiche Wirkung wie std::islessequal(static_cast</*gemeinsamer-gleitkomma-typ*/>(num1),
                 static_cast</*gemeinsamer-gleitkomma-typ*/>(num2))
, wobei /*gemeinsamer-gleitkomma-typ*/ der Gleitkommatyp mit dem höchsten Gleitkomma-Konversionsrang und dem höchsten Gleitkomma-Konversions-Subrang zwischen den Typen von num1 und num2 ist. Argumente vom Ganzzahltyp werden so behandelt, als hätten sie denselben Gleitkomma-Konversionsrang 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 größer oder gleich dem zweiten ist
(Funktion) [bearbeiten]
C-Dokumentation für islessequal