Scroll to navigation

rint(3) Library Functions Manual rint(3)

NAZWA

nearbyint, nearbyintf, nearbyintl, rint, rintf, rintl - zaokrągla 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ą.

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.

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 was 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).) This was removed in POSIX.1-2008.

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

16 czerwca 2024 r. Linux man-pages 6.9.1