hypotf(3) funkcja odległości euklidesowej

Other Alias

hypot, hypotl

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