std::isgreater

Header: <cmath>

  1. Determines if the floating point number x is greater than the floating-point number y, without setting floating-point exceptions.The library provides overloads for all cv-unqualified floating-point types as the type of the parameters x and y.(since C++23)

# Declarations

bool isgreater( float x, float y );
bool isgreater( double x, double y );
bool isgreater( long double x, long double y );

(since C++11) (until C++23)

constexpr bool isgreater( /* floating-point-type */ x,
/* floating-point-type */ y );

(since C++23)

Additional overloads
template< class Arithmetic1, class Arithmetic2 >
bool isgreater( Arithmetic1 x, Arithmetic2 y );

(since C++11) (constexpr since C++23)

# Parameters

# Return value

true if x > y, false otherwise.

# Notes

The built-in operator> for floating-point numbers may set FE_INVALID if one or both of the arguments is NaN. This function is a “quiet” version of operator>.

The additional overloads are not required to be provided exactly as (A). They only need to be sufficient to ensure that for their first argument num1 and second argument num2:

If num1 and num2 have arithmetic types, then std::isgreater(num1, num2) has the same effect as std::isgreater(static_cast</common-floating-point-type/>(num1),static_cast</common-floating-point-type/>(num2)), where /common-floating-point-type/ is the floating-point type with the greatest floating-point conversion rank and greatest floating-point conversion subrank between the types of num1 and num2, arguments of integer type are considered to have the same floating-point conversion rank as double.

If no such floating-point type with the greatest rank and subrank exists, then overload resolution does not result in a usable candidate from the overloads provided.

# See also