◐ Shell
clean mode source ↗

std::fmax, std::fmaxf, std::fmaxl - cppreference.com

De cppreference.com

Definido en el archivo de encabezado <cmath>

float fmax ( float x, float y );

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

float fmaxf( float x, float y );

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

double fmax ( double x, double y );

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

long double fmax ( long double x, long double y );

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

long double fmaxl( long double x, long double y );

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

Promovido fmax ( Aritmético1 x, Aritmético2 y );

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

1-5) Devuelve el mayor de dos argumentos de punto flotante, tratando los NaN como datos faltantes (entre un NaN y un valor numérico, se elige el valor numérico).

6) Un conjunto de sobrecargas o una plantilla de función para todas las combinaciones de los argumentos de tipo aritmético no cubiertas por (1-5). Si algún argumento tiene tipo entero, se convierte a double. Si cualquier otro argumento es long double, entonces el tipo de retorno es long double, de lo contrario es double.

Parámetros

Valor de retorno

Si tiene éxito, devuelve el mayor de dos valores de punto flotante. El valor devuelto es exacto y no depende de ningún modo de redondeo.

Manejo de errores

Esta función no está sujeta a ninguna de las condiciones de error especificadas en math_errhandling.

Si la implementación admite la aritmética de punto flotante IEEE (IEC 60559):

  • Si uno de los dos argumentos es NaN, se devuelve el valor del otro argumento.
  • Solo si ambos argumentos son NaN, se devuelve NaN.

Notas

No se requiere que esta función sea sensible al signo de cero, aunque algunas implementaciones también imponen que si un argumento es +0 y el otro es -0, entonces +0.

Ejemplo

#include <iostream>
#include <cmath>

int main()
{
    std::cout << "fmax(2,1)    = " << std::fmax(2,1) << '\n'
              << "fmax(-Inf,0) = " << std::fmax(-INFINITY,0) << '\n'
              << "fmax(NaN,-1) = " << std::fmax(NAN,-1) << '\n';
}

Salida:

fmax(2,1)    = 2
fmax(-Inf,0) = 0
fmax(NaN,-1) = -1

Véase también

(C++11)

Comprueba si el primer argumento de punto flotante es mayor que el segundo
(función) [editar]

(C++11)(C++11)(C++11)

El menor de dos valores de punto flotante
(función) [editar]
Devuelve el mayor de dos elementos
(plantilla de función) [editar]
Devuelve el elemento más grande en un rango.
(plantilla de función) [editar]

(C++11)

Devuelve el menor y el mayor de dos elementos.
(plantilla de función) [editar]
Devuelve el elemento más pequeño y el más grande de un rango.
(plantilla de función) [editar]