nearbyint, nearbyintf, nearbyintl, rint, rintf, rintl - zaokrąglenie do
najbliższej liczby całkowitej
Math library (
libm,
-lm)
#include <math.h>
double nearbyint(double x);
float nearbyintf(float x);
long double nearbyintl(long double x);
double rint(double x);
float rintf(float x);
long double rintl(long double x);
nearbyint(),
nearbyintf(),
nearbyintl():
_POSIX_C_SOURCE >= 200112L || _ISOC99_SOURCE
rint():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| _XOPEN_SOURCE >= 500
|| /* Od glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
rintf(),
rintl():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* Od glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
Funkcje
nearbyint(),
nearbyintf() oraz
nearbyintl()
zaokrąglają swoje argumenty do wartości całkowitej
w postaci zmiennoprzecinkowej, korzystając z bieżącego
kierunku zaokrąglania (patrz
fesetround(3)) i nie
powodując wystąpienia wyjątku
inexact. Gdy
bieżących kierunkiem zaokrąglania jest do
najbliższej, w przypadkach połówkowych funkcje te
zaokrąglają do całkowitej parzystej, zgodnie z IEEE-754.
Funkcje
rint(),
rintf() oraz
rintl() robią to samo,
ale powodują wystąpienie wyjątku
inexact
(
FE_INEXACT, wystąpienie wyjątku można
sprawdzić za pomocą
fetestexcept(3)), gdy wynik ma
inną wartość niż argument.
Funkcje te zwracają zaokrągloną wartość
całkowitą.
Jeśli
x jest całkowite, +0, -0, NaN lub
nieskończoność, to zwracane jest
x.
Nie występują. POSIX.1-2001 dokumentuje błąd zakresu
przy przepełnieniu — patrz UWAGI.
Informacje o pojęciach używanych w tym rozdziale można
znaleźć w podręczniku
attributes(7).
Interfejs |
Atrybut |
Wartość |
nearbyint(), nearbyintf(), nearbyintl(),
rint(), rintf(), rintl() |
Bezpieczeństwo wątkowe |
MT-Safe |
C99, POSIX.1-2001, POSIX.1-2008.
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 127 (respectively, 1023), and the number of mantissa bits
including the implicit bit is 24 (respectively, 53).)
Aby przechowywać zaokrągloną wartość w typie
całkowitym, należy użyć jednej z funkcji opisanych
w podręczniku
lrint(3).
ceil(3),
floor(3),
lrint(3),
round(3),
trunc(3)
Autorami polskiego tłumaczenia niniejszej strony podręcznika
są: Andrzej Krzysztofowicz <
[email protected]>, Robert
Luberda <
[email protected]> i Michał Kułach
<
[email protected]>
Niniejsze tłumaczenie jest wolną dokumentacją.
Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z
GNU
General Public License w wersji 3 lub nowszej. Nie przyjmuje się
ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy
zgłaszać na adres listy dyskusyjnej
[email protected]