fmax - Man Page

determine maximum numeric value of two floating-point numbers


This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the corresponding Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.


#include <math.h>

double fmax(double x, double y);
float fmaxf(float x, float y);
long double fmaxl(long double x, long double y);


The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2017 defers to the ISO C standard.

These functions shall determine the maximum numeric value of their arguments. NaN arguments shall be treated as missing data: if one argument is a NaN and the other numeric, then these functions shall choose the numeric value.

Return Value

Upon successful completion, these functions shall return the maximum numeric value of their arguments.

If just one argument is a NaN, the other argument shall be returned.

If x and y are NaN, a NaN shall be returned.


No errors are defined.

The following sections are informative.



Application Usage




Future Directions


See Also

fdim(), fmin()

The Base Definitions volume of POSIX.1-2017, <math.h>

Referenced By

fdim(3p), fmin(3p), math.h(0p).

2017 IEEE/The Open Group POSIX Programmer's Manual