Manpages - floor.3
Table of Contents
NAME
floor, floorf, floorl - largest integral value not greater than argument
SYNOPSIS
#include <math.h> double floor(double x); float floorf(float x); long double floorl(long double x);
Link with -lm.
Feature Test Macro Requirements for glibc (see *feature_test_macros*(7)):
*floorf*(), *floorl*():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* Since glibc 2.19: */ _DEFAULT_SOURCE || /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
DESCRIPTION
These functions return the largest integral value that is not greater than x.
For example, floor(0.5) is 0.0, and floor(-0.5) is -1.0.
RETURN VALUE
These functions return the floor of x.
If x is integral, +0, -0, NaN, or an infinity, x itself is returned.
ERRORS
No errors occur. POSIX.1-2001 documents a range error for overflows, but see NOTES.
ATTRIBUTES
For an explanation of the terms used in this section, see *attributes*(7).
Interface | Attribute | Value |
*floor*(), *floorf*(), *floorl*() | Thread safety | MT-Safe |
CONFORMING TO
C99, POSIX.1-2001, POSIX.1-2008.
The variant returning double also conforms to SVr4, 4.3BSD, C89.
NOTES
SUSv2 and POSIX.1-2001 contain text about overflow (which might set errno to ERANGE, or raise an FE_OVERFLOW exception). In practice, the result cannot overflow on any current machine, so this error-handling stuff is just nonsense. (More precisely, overflow can happen only when the maximum value of the exponent is smaller than the number of mantissa bits. For the IEEE-754 standard 32-bit and 64-bit floating-point numbers the maximum value of the exponent is 128 (respectively, 1024), and the number of mantissa bits is 24 (respectively, 53).)
SEE ALSO
*ceil*(3), *lrint*(3), *nearbyint*(3), *rint*(3), *round*(3), *trunc*(3)
COLOPHON
This page is part of release 5.13 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.