[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    FLOOR(3) manual page 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():

_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
or cc -std=c99

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

Multithreading (see pthreads(7) )

The floor(), floorf(), and floorl() functions are thread-safe.

Conforming to

C99, POSIX.1-2001. 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 3.78 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 http://www.kernel.org/doc/man-pages/.


Table of Contents