Namespaces
Variants

fmax, fmaxf, fmaxl

From cppreference.net
< c ‎ | numeric ‎ | math
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99) (C99) (C99) (C23)
Maximum/minimum operations
fmax
(C99)
(C99)
Exponential functions
Power functions
Trigonometric and hyperbolic functions
Nearest integer floating-point
(C99) (C99) (C99)
(C23) (C23) (C23) (C23)
Floating-point manipulation
Narrowing operations
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quantum and quantum exponent
Decimal re-encoding functions
Total order and payload functions
Classification
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Types
Macro constants
Special floating-point values
Arguments and return values
Error handling
Fast operation indicators
Definido en el encabezado <math.h>
float fmaxf ( float x, float y ) ;
(1) (desde C99)
double fmax ( double x, double y ) ;
(2) (desde C99)
long double fmaxl ( long double x, long double y ) ;
(3) (desde C99)
Definido en el encabezado <tgmath.h>
#define fmax( x, y )
(4) (desde C99)
1-3) 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).
4) Macro genérico de tipos: Si algún argumento tiene tipo long double , fmaxl es llamado. De lo contrario, si algún argumento tiene tipo entero o tiene tipo double , fmax es llamado. De lo contrario, fmaxf es llamado.

Contenidos

Parámetros

x, y - valores de punto flotante

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 soporta 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

Esta función no está obligada a ser sensible al signo del cero, aunque algunas implementaciones adicionalmente exigen que si un argumento es +0 y el otro es -0, entonces se devuelve +0.

Ejemplo

#include <math.h>
#include <stdio.h>
int main(void)
{
    printf("fmax(2,1)    = %f\n", fmax(2,1));
    printf("fmax(-Inf,0) = %f\n", fmax(-INFINITY,0));
    printf("fmax(NaN,-1) = %f\n", fmax(NAN,-1));
}

Salida:

fmax(2,1)    = 2.000000
fmax(-Inf,0) = 0.000000
fmax(NaN,-1) = -1.000000

Referencias

  • Estándar C23 (ISO/IEC 9899:2024):
  • 7.12.12.2 Las funciones fmax (p: TBD)
  • 7.25 Matemáticas genéricas de tipos <tgmath.h> (p: TBD)
  • F.10.9.2 Las funciones fmax (p: TBD)
  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.12.12.2 Las funciones fmax (p: 188)
  • 7.25 Matemáticas genéricas de tipos <tgmath.h> (p: 397)
  • F.10.9.2 Las funciones fmax (p: 386)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.12.12.2 Las funciones fmax (p: 257-258)
  • 7.25 Matemáticas genéricas de tipos <tgmath.h> (p: 373-375)
  • F.10.9.2 Las funciones fmax (p: 530)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.12.12.2 Las funciones fmax (p: 238-239)
  • 7.22 Matemáticas genéricas de tipos <tgmath.h> (p: 335-337)
  • F.9.9.2 Las funciones fmax (p: 466)

Véase también

comprueba si el primer argumento de punto flotante es mayor que el segundo
(macro de función)
(C99) (C99) (C99)
determina el menor de dos valores de punto flotante
(función)