RINT(3)

NAZWA
nearbyint, nearbyintf, nearbyintl, rint, rintf, rintl - zaokrąglenie do najbliższej liczby całkowitej

SKŁADNIA
#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);

Proszę linkować z -lm.

Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

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

OPIS
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.

WARTOŚĆ ZWRACANA
Funkcje te zwracają zaokrągloną wartość całkowitą. Jeśli x jest całkowite, +0, -0, NaN lub nieskończoność, to zwracane jest x.

BŁĘDY
Nie występują. POSIX.1-2001 dokumentuje błąd zakresu przy przepełnieniu — patrz UWAGI.

ATRYBUTY
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

ZGODNE Z
C99, POSIX.1-2001, POSIX.1-2008.

UWAGI
SUSv2 oraz POSIX.1-2001 zawierają tekst dotyczący przepełnienia (które może spowodować ustawienie errno na ERANGE lub spowodować wyjątek FE_OVERFLOW). W praktyce wynik nie może spowodować przepełnienia na żadnej współczesnej maszynie, więc obsługa tego błędu jest po prostu bezsensowna. (Dokładniej, przepełnienie może wystąpić, tylko gdy wartość maksymalna wykładnika jest mniejsza niż liczba bitów mantysy. Według standardu IEEE-754 dla 32 i 64-bitowych liczb zmiennoprzecinkowych wartość maksymalna wykładnika wynosi 128 (odpowiednio 1024), a liczba bitów mantysy wynosi 24 (odpowiednio 53)). Aby przechowywać zaokrągloną wartość w typie całkowitym, należy użyć jednej z funkcji opisanych w podręczniku lrint(3).

ZOBACZ TAKŻE
ceil(3), floor(3), lrint(3), round(3), trunc(3)

O STRONIE
Angielska wersja tej strony pochodzi z wydania 4.07 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Andrzej Krzysztofowicz (PTM) <ankry@mif.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>.

Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 4.07 oryginału.