fpclassify(3) makra klasyfikacji liczb

Other Alias

isfinite, isnormal, isnan, isinf

SKŁADNIA

#include <math.h>


int fpclassify(x);

int isfinite(x);

int isnormal(x);

int isnan(x);

int isinf(x);

Proszę linkować z -lm.

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

fpclassify(), isfinite(), isnormal():

_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
lub cc -std=c99
isnan():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
lub cc -std=c99
isinf():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
lub cc -std=c99

OPIS

Liczby zmiennoprzecinkowe mają specjalne wartości takie jak nieskończoność lub NaN ("nie jest liczbą"). Makro fpclassify(x) pozwala określić typ parametru x, który może być dowolnym wyrażeniem zmiennoprzecinkowym. Wynikiem makra jest jedna z następujących wartości:
FP_NAN
x ma wartość "nie jest liczbą" ("Not a Number").
FP_INFINITE
x jest albo dodatnią nieskończonością, albo ujemną nieskończonością
FP_ZERO
x jest zerem.
FP_SUBNORMAL
x jest zbyt małe, by być reprezentowane w postaci znormalizowanej.
FP_NORMAL
jeśli żadne z powyższych nie jest właściwe, to x musi to być zwykłą liczbą zmiennoprzecinkową.

Inne makra dostarczają prostych odpowiedzi na kilka standardowych pytań.

isfinite(x)
zwraca wartość niezerową, gdy
(fpclassify(x) != FP_NAN && fpclassify(x) != FP_INFINITE)
isnormal(x)
zwraca wartość niezerową, gdy (fpclassify(x) == FP_NORMAL)
isnan(x)
zwraca wartość niezerową, gdy (fpclassify(x) == FP_NAN)
isinf(x)
zwraca 1, gdy x jest dodatnią nieskończonością, lub -1, gdy x jest ujemną nieskończonością.

ATRYBUTY

Wielowątkowość (patrz pthreads(7))

Makra fpclassify(), isfinite(), isnormal(), isnan() iisinf() są bezpieczne dla wątków.

ZGODNE Z

C99, POSIX.1.

W wypadku isinf() standardy jedynie stwierdzają, że wartość zwracana jest niezerowa wtedy i tylko wtedy, gdy parametr funkcji ma wartość nieskończoną.

UWAGI

W wersji 2.01 i wcześniejszych biblioteki glibc isinf() zwraca wartość niezerową (dokładnie: 1), jeżeli x jest dodatnią lub ujemną nieskończonością. (To jest wszystko, czego wymaga standard C99).

O STRONIE

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

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Andrzej Krzysztofowicz (PTM) <[email protected]> i Robert Luberda <[email protected]>.

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ą 3.71 oryginału.