Other Alias
hypot, hypotfSKŁADNIA
#include <math.h>
double hypot(double x, double y);
float hypotf(float x, float y);
long double hypotl(long double x, long double y);
Proszę linkować z -lm.
Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):
hypot():
-
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE || _ISOC99_SOURCE ||
_POSIX_C_SOURCE >= 200112L
lub cc -std=c99
hypotf(), hypotl():
-
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE
|| _POSIX_C_SOURCE >= 200112L
lub cc -std=c99
OPIS
Funkcja hypot() zwraca sqrt(x*x+y*y). Jest to długość przeciwprostokątnej trójkąta prostokątnego o bokach długości x i y, lub odległość punktu (x,y) od początku układu współrzędnych.Wyliczenia są prowadzone bez przejmowania się nadmiarami lub niedomiarami pośrednich kroków obliczeń.
WARTOŚĆ ZWRACANA
Funkcje te, gdy się zakończą pomyślnie, zwracają długość przeciwprostokątnej trójkąta prostokątnego z bokami o długościach x i y.Jeśli x lub y jest równe nieskończoności, to zwracana jest dodatnia nieskończoność.
Jeśli x lub y jest równe NaN, a drugi argument nie jest nieskończonością, to zwracane jest NaN.
W przypadku przepełnienia wyniku operacji, występuje błąd zakresu i funkcje zwracają odpowiednio HUGE_VAL, HUGE_VALF lub HUGE_VALL.
Jeśli oba argumenty są zdenormalizowane, wynik także jest zdenormalizowany, występuje błąd dziedziny i zwracany jest poprawny wynik.
BŁĘDY
Informacje o tym, jak określić, czy wystąpił błąd podczas wywołania tych funkcji, można znaleźć w podręczniku math_error(7).Mogą wystąpić następujące błędy:
- Błąd zakresu: przekroczenie w górę wartości wynikowej
- errno jest ustawiane na ERANGE. Rzucany jest wyjątek przekroczenia zakresu operacji zmiennoprzecinkowej (FE_OVERFLOW).
- Błąd zakresu: przekroczenie w dół wartości wynikowej
- Rzucany jest wyjątek przekroczenia w dół zakresu operacji zmiennoprzecinkowej (FE_UNDERFLOW).
- Funkcje te nie ustawiają errno w tym przypadku.
ZGODNE Z
C99, POSIX.1-2001. Wariant zwracający wartość typu double jest zgodny również z SVr4, 4.3BSD.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.