hypot, hypotf, hypotl -
функция,
вычисляющая
расстояния
на
евклидовой
плоскости
Math library (
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);
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
|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
Эти
функции
возвращают
sqrt(
x*
x+
y*
y). Это
длина
гипотенузы
прямоугольного
треугольника
с катетами
x и
y, или
расстояние
от начала
координат
до точки (
x,
y).
Вычисление
выполняется
без
ненадлежащего
переполнения
или
исчерпал
степень
при
промежуточных
шагах
вычисления.
On success, these functions return the length of the hypotenuse of a
right-angled triangle with sides of length
x and
y.
Если
x или
y
стремится
к
бесконечности,
то будет
возвращена
плюс
бесконечность.
Если
x или
y
имеет
значение NaN, а
другой
аргумент
не
бесконечность,
будет
возвращено
NaN.
Если в
результате
превышена
разрядность,
то
возникает
ошибка
диапазона
и функции
возвращают
HUGE_VAL,
HUGE_VALF или
HUGE_VALL,
соответственно.
Если оба
аргумента
субнормальны
и
результат
субнормален,
то
возникает
ошибка
диапазона,
и
возвращается
правильный
результат.
Смотрите
math_error(7), чтобы
определить,
какие
ошибки
могут
возникать
при вызове
этих
функций.
Могут
возникать
следующие
ошибки:
- Ошибка
диапазона:
результат
превысил
разрядность
- Значение
errno
устанавливается
в ERANGE.
Возникает
исключение
переполнения
плавающей
запятой (
FE_OVERFLOW).
- Ошибка
диапазона:
результат
исчерпал
степень
- Возникает
исключение
исчерпания
степени
чисел с
плавающей
запятой (
FE_UNDERFLOW).
- В этом
случае
функции не
изменяют
errno.
Описание
терминов
данного
раздела
смотрите в
attributes(7).
Интерфейс |
Атрибут |
Значение |
hypot(), hypotf(), hypotl() |
Безвредность
в нитях |
MT-Safe |
C99, POSIX.1-2001, POSIX.1-2008.
Вариант,
возвращающий
значение
типа
double,
также
соответствует
SVr4, 4.3BSD.
cabs(3),
sqrt(3)
Русский
перевод
этой
страницы
руководства
был сделан Yuri
Kozlov <
[email protected]> и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]