hypot(3) Library Functions Manual hypot(3)

hypot, hypotf, hypotl - eukleidovská vzdálenost

Matematická knihovna (libm, -lm)

#include <math.h>
double hypot(double x, double y);
float hypotf(float x, float y);
long double hypotl(long double x, long double y);
Požaduje množinu testovacích maker pro glibc (viz feature_test_macros(7)):

hypot():

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

hypotf(), hypotl():

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

These functions return sqrt(x*x+y*y). This is the length of the hypotenuse of a right-angled triangle with sides of length x and y, or the distance of the point (x,y) from the origin.

Výpočet je prováděn bez zbytečných přetečení nebo podtečení během vnitřních fází výpočtu.

On success, these functions return the length of the hypotenuse of a right-angled triangle with sides of length x and y.

Pokud je x nebo y nekonečno, je vráceno plus nekonečno.

Pokud je x nebo y NaN a druhý argument není nekonečno, je vráceno NaN.

Pokud výsledek přeteče, je vyvolána chyba rozsahu a funkce vráti HUGE_VAL, HUGE_VALF nebo HUGE_VALL.

Pokud jsou oba argumenty podprůměrné a výsledek je také podprůměrný, je vystavena chyba rozsahu a je vrácen korektní výsledek.

Pro více informací zda funkce při svém volání generovala chybu viz math_error(7).

Mohou se objevit následující chyby:

errno je nastaveno na ERANGE. Je generována výjimka v plovoucí řádové čárce (FE_OVERFLOW).
Je vystavena chyba podtečení v plovoucí řádové čárce (FE_UNDERFLOW).
Funkce v tomto případě nenastavuje errno.

Vysvětlení pojmů použitých v této části viz attributes(7).

Rozhraní Atribut Hodnota
hypot(), hypotf(), hypotl() Thread safety MT-Safe

C11, POSIX.1-2008.

C99, POSIX.1-2001.

Varianta vracející double splňuje také SVr4 a 4.3BSD.

cabs(3), sqrt(3)

Překlad této příručky do češtiny vytvořili Pavel Heimlich <tropikhajma@gmail.com>

Tento překlad je bezplatná dokumentace; Přečtěte si GNU General Public License Version 3 nebo novější ohledně podmínek autorských práv. Neexistuje ŽÁDNÁ ODPOVĚDNOST.

Pokud narazíte na nějaké chyby v překladu této příručky, pošlete e-mail na adresu translation-team-cs@lists.sourceforge.net.

2. května 2024 Linux man-pages 6.9.1