atanh, atanhf, atanhl
Определено в заголовочном файле <math.h> | ||
|---|---|---|
float atanhf( float arg ); | (1) | (начиная с C99) |
double atanh( double arg ); | (2) | (начиная с C99) |
long double atanhl( long double arg ); | (3) | (начиная с C99) |
Определено в заголовочном файле <tgmath.h> | ||
#define atanh( arg ) | (4) | (начиная с C99) |
arg.atanhl. В противном случае, если аргумент имеет целочисленный тип или тип double, вызывается atanh. Иначе вызывается atanhf. Если аргумент является комплексным числом, макрос вызывает соответствующую функцию для комплексных чисел (catanhf, catanh, catanhl).Параметры
| arg | - | значение с плавающей точкой, представляющее площадь гиперболического сектора |
Возвращаемое значение
Если ошибок не возникает, возвращается обратный гиперболический тангенс числа arg (tanh-1(arg), или artanh(arg)).
Если возникает ошибка области определения, возвращается значение, определяемое реализацией (NaN, если поддерживается).
Если возникает ошибка полюса, возвращается ±HUGE_VAL, ±HUGE_VALF или ±HUGE_VALL (с соответствующим знаком).
Если ошибка диапазона возникает из-за потери порядка, возвращается правильный результат (после округления).
Обработка ошибок
Об ошибках сообщается в соответствии с указаниями в math_errhandling.
Если аргумент не принадлежит интервалу [-1, +1], возникает ошибка диапазона.
Если аргумент равен ±1, возникает ошибка полюса.
Если реализация поддерживает арифметику с плавающей точкой IEEE (IEC 60559),
- Если аргумент равен ±0, он возвращается без изменений.
- Если аргумент равен ±1, возвращается ±∞ и устанавливается
FE_DIVBYZERO. - Если |arg|>1, возвращается NaN и устанавливается
FE_INVALID. - Если аргумент — NaN, возвращается NaN.
Примечания
Хотя стандарт C называет эту функцию «арктангенсом гиперболическим», обратные функции гиперболических функций являются функциями площади. Их аргумент — площадь гиперболического сектора, а не дуга. Правильное название — «обратный гиперболический тангенс» (используется в POSIX) или «площадной гиперболический тангенс».
В POSIX указано, что при потере порядка arg возвращается без изменений, а если такое поведение не поддерживается, возвращается значение, определяемое реализацией и не превышающее DBL_MIN, FLT_MIN и LDBL_MIN.
Пример
#include <errno.h>
#include <fenv.h>
#include <float.h>
#include <math.h>
#include <stdio.h>
// #pragma STDC FENV_ACCESS ON
int main(void)
{
printf("atanh(0) = %f\natanh(-0) = %f\n", atanh(0), atanh(-0.0));
printf("atanh(0.9) = %f\n", atanh(0.9));
// error handling
errno = 0; feclearexcept(FE_ALL_EXCEPT);
printf("atanh(-1) = %f\n", atanh(-1));
if (errno == ERANGE)
perror(" errno == ERANGE");
if (fetestexcept(FE_DIVBYZERO))
puts(" FE_DIVBYZERO raised");
}
Возможный вывод:
atanh(0) = 0.000000
atanh(-0) = -0.000000
atanh(0.9) = 1.472219
atanh(-1) = -inf
errno == ERANGE: Numerical result out of range
FE_DIVBYZERO raised
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
- 7.12.5.3 Функции atanh (стр. 241)
- 7.25 Типобезопасная обобщённая математика <tgmath.h> (стр. 373-375)
- F.10.2.3 Функции atanh (стр. 520)
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.12.5.3 Функции atanh (стр. TBD)
- 7.25 Типобезопасная обобщённая математика <tgmath.h> (стр. TBD)
- F.10.2.3 Функции atanh (стр. TBD)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.12.5.3 Функции atanh (стр. 241)
- 7.25 Типобезопасная обобщённая математика <tgmath.h> (стр. 373-375)
- F.10.2.3 Функции atanh (стр. 520)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.12.5.3 Функции atanh (стр. 221-222)
- 7.22 Типобезопасная обобщённая математика <tgmath.h> (стр. 335-337)
- F.9.2.3 Функции atanh (стр. 457)
См. также
|
(C99)(C99)(C99) | вычисляет обратный гиперболический синус (\({\small\operatorname{arsinh}{x} }\)arsinh(x)) (функция) |
|
(C99)(C99)(C99) | вычисляет обратный гиперболический косинус (\({\small\operatorname{arcosh}{x} }\)arcosh(x)) (функция) |
|
(C99)(C99) | вычисляет гиперболический тангенс (\({\small\tanh{x} }\)tanh(x)) (функция) |
|
(C99)(C99)(C99) | вычисляет комплексный обратный гиперболический тангенс (функция) |
Документация по C++ для atanh |
|
Внешние ссылки
| Вайсстайн, Эрик В. «Обратный гиперболический тангенс». Из MathWorld — веб-ресурса Wolfram. |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/numeric/math/atanh