Scroll to navigation

fpclassify(3) Library Functions Manual fpclassify(3)

NAZWA

fpclassify, isfinite, isnormal, isnan, isinf - makra klasyfikacji liczb zmiennoprzecinkowych

BIBLIOTEKA

Biblioteka matematyczna (libm, -lm)

SKŁADNIA

#include <math.h>
int fpclassify(x);
int isfinite(x);
int isnormal(x);
int isnan(x);
int isinf(x);

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

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


_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

isnan():


_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| _XOPEN_SOURCE
|| /* Since glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

isinf():

_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

|| /* Od glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

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:

x ma wartość "nie jest liczbą" ("Not a Number").
x jest albo dodatnią nieskończonością, albo ujemną nieskończonością
x jest zerem.
x jest zbyt małe, by być reprezentowane w postaci znormalizowanej.
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ń.

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

ATRYBUTY

Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).

Interfejs Atrybut Wartość
fpclassify(), isfinite(), isnormal(), isnan(), isinf() Bezpieczeństwo wątkowe MT-Safe

STANDARDY

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

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

ZOBACZ TAKŻE

finite(3), INFINITY(3), isgreater(3), signbit(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.

5 lutego 2023 r. Linux man-pages 6.03