Manpages

NAZWA

ceil, ceilf, ceill - funkcja zaokrąglająca w górę: najmniejsza wartość całkowita nie mniejsza od argumentu

SKŁADNIA

#include <math.h>

double ceil(double x);
float ceilf(float
x);
long double ceill(long double
x);

Proszę linkować z -lm.

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

ceilf(), ceill():

_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* Od glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

OPIS

Funkcje te zwracają najmniejszą wartość całkowitą nie mniejszą od x.

Na przykład ceil(0.5) zwraca 1.0, a ceil(-0.5) zwraca -0.0.

WARTOŚĆ ZWRACANA

Funkcje te zwracają zaokrągloną w górę wartość x.

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

ZGODNE Z

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

Wariant zwracający wartość typu double jest zgodny również z SVr4, 4.3BSD, C89.

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

Wartość całkowita zwracana przez te funkcje może być zbyt duża, by przechować ją w danym typie całkowitym int, long itp.). Aby uniknąć przepełnienia, które powoduje, że wynik funkcji jest nieokreślony, aplikacja powinna sprawdzać zakres zwróconej wartości, zanim przypisze ją do zmiennej całkowitej.

ZOBACZ TAKŻE

floor(3), lrint(3), nearbyint(3), rint(3), round(3), trunc(3)

O STRONIE

Angielska wersja tej strony pochodzi z wydania 5.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 są: Andrzej Krzysztofowicz <ankry [AT] green.pl>, Robert Luberda <robert [AT] debian.org> i Michał Kułach <michal.kulach [AT] 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 <manpages-pl-list [AT] lists.net>.