remquo(3)

remquo3

Minimal residue functions

Part of remainder(3).

Usage

#include <math.h>

double

remainder(double x, double y);

float

remainderf(float x, float y);

long double

remainderl(long double x, long double y);

double

remquo(double x, double y, int *quo);

float

remquof(float x, float y, int *quo);

long double

remquol(long double x, long double y, int *quo);

Library

Math Library (libm, -lm)

Overview

remainder(), remainderf(), remainderl(), remquo(), remquof(), and remquol() return the remainder r := x - n∗y where n is the integer nearest the exact value of x/y; moreover if Fan - x/y = 1/2 then n is even. Consequently the remainder is computed exactly and Far

Fay/2. But attempting to take the remainder when y is 0 or x is is an invalid operation that produces a .

The remquo(), remquof(), and remquol() functions also store the last k bits of n in the location pointed to by quo, provided that n exists. The number of bits k is platform-specific, but is guaranteed to be at least 3.

Releases

49 releases since FreeBSD 6.0-RELEASE; the text changed 35 times.

  1. 6.0
  2. 6.1–6.2
  3. 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.5
  36. 15.0–16.0

Standards

The remainder(), remainderf(), remainderl(), remquo(), remquof(), and remquol() routines conform to ISO/IEC 9899:1999 (“ISO C99”). The remainder is as defined in IEEE Std 754-1985.

History

The remainder() and remainderf() functions appeared in 4.3BSD and FreeBSD 2.0, respectively. The remquo() and remquof() functions were added in FreeBSD 6.0, and remainderl() and remquol() were added in FreeBSD 8.0.

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