Reference

fmax(3)

floating-point maximum and minimum functions

NAME

fmax, fmaxf, fmaxl, fmin, fminf, fminl – floating-point maximum and minimum functions

LIBRARY

Math Library (libm, -lm)

SYNOPSIS

#include <math.h>

double

fmax(double x, double y);

float

fmaxf(float x, float y);

long double

fmaxl(long double x, long double y);

double

fmin(double x, double y);

float

fminf(float x, float y);

long double

fminl(long double x, long double y);

DESCRIPTION

The fmax(), fmaxf(), and fmaxl() functions return the larger of x and y, and likewise, the fmin(), fminf(), and fminl() functions return the smaller of x and y. If one argument is an , then the other argument is returned. If both arguments are s, then the result is an . These routines do not raise any floating-point exceptions.

SEE ALSO

fabs(3), fdim(3), math(3)

STANDARDS

The fmax(), fmaxf(), fmaxl(), fmin(), fminf(), and fminl() functions conform to ISO/IEC 9899:1999 (“ISO C99”).

CAVEATS

The library implementations of these functions treat +0.0 as being larger than -0.0. This behavior is not specified by the C standard, is not portable, and may not occur in light of compiler optimizations. Applications requiring specific handling of signed zeroes or values are recommended to use fmaximum_num(3) and fminimum_num(3) instead, which have strictly defined behavior for these cases.

HISTORY

These routines first appeared in FreeBSD 5.3.

History