fminf(3)

fminf3

Floating-point maximum and minimum functions

Part of fmax(3).

Usage

#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);

Library

Math Library (libm, -lm)

Overview

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.

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.

Releases

52 releases since FreeBSD 5.3-RELEASE; the text changed 38 times.

  1. 5.3
  2. 5.4–5.5
  3. 6.0–6.3
  4. 6.4
  5. 7.0
  6. 7.1
  7. 7.2
  8. 7.3
  9. 7.4
  10. 8.0
  11. 8.1
  12. 8.2
  13. 8.3
  14. 8.4
  15. 9.0
  16. 9.1
  17. 9.2
  18. 9.3
  19. 10.0
  20. 10.1
  21. 10.2
  22. 10.3
  23. 10.4
  24. 11.0
  25. 11.1
  26. 11.2
  27. 11.3
  28. 11.4
  29. 12.0
  30. 12.1
  31. 12.2
  32. 12.3
  33. 12.4
  34. 13.0–13.2
  35. 13.3–14.4
  36. 14.5
  37. 15.0
  38. 15.1
  39. 16.0

Standards

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

History

These routines first appeared in FreeBSD 5.3.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.