rint(3)

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

BIBLIOTEKA
Biblioteka matematyczna (libm, -lm)

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);

    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-bezpieczne

STANDARDY
C11, POSIX.1-2008.

HISTORIA
C99, POSIX.1-2001.

UWAGI
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).

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

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

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 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.