tanh, tanhf, tanhl
Определено в заголовочном файле <math.h> | ||
|---|---|---|
float tanhf( float arg ); | (1) | (начиная с C99) |
double tanh( double arg ); | (2) | |
long double tanhl( long double arg ); | (3) | (начиная с C99) |
Определено в заголовочном файле <tgmath.h> | ||
#define tanh( arg ) | (4) | (начиная с C99) |
1-3) Вычисляет гиперболический тангенс
arg.
4) Обобщённый макрос для разных типов: если аргумент имеет тип longdouble, вызывается
tanhl. Иначе, если аргумент имеет целочисленный тип или тип double, вызывается tanh. В противном случае вызывается tanhf. Если аргумент имеет комплексный тип, макрос вызывает соответствующую функцию для комплексных чисел (ctanhf, ctanh, ctanhl).Параметры
| arg | - | значение с плавающей точкой, представляющее гиперболический угол |
Возвращаемое значение
Если ошибки не возникают, возвращается гиперболический тангенс arg (tanh(arg), или
).
При возникновении ошибки диапазона из-за потери порядка возвращается правильный результат (после округления).
Обработка ошибок
Об ошибках сообщается согласно спецификации в math_errhandling.
Если реализация поддерживает арифметику с плавающей точкой IEEE (IEC 60559),
- Если аргумент равен ±0, возвращается ±0.
- Если аргумент равен ±∞, возвращается ±1.
- Если аргумент — NaN, возвращается NaN.
Примечания
Согласно спецификации POSIX, при потере порядка arg возвращается без изменений; если это не поддерживается, возвращается значение, определяемое реализацией и не превышающее DBL_MIN, FLT_MIN и LDBL_MIN.
Пример
#include <math.h>
#include <stdio.h>
int main(void)
{
printf("tanh(1) = %f\ntanh(-1) = %f\n", tanh(1), tanh(-1));
printf("tanh(0.1)*sinh(0.2)-cosh(0.2) = %f\n", tanh(0.1) * sinh(0.2) - cosh(0.2));
// special values
printf("tanh(+0) = %f\ntanh(-0) = %f\n", tanh(0.0), tanh(-0.0));
}
Вывод:
tanh(1) = 0.761594 tanh(-1) = -0.761594 tanh(0.1)*sinh(0.2)-cosh(0.2) = -1.000000 tanh(+0) = 0.000000 tanh(-0) = -0.000000
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
- 7.12.5.6 Функции tanh (стр.: TBD)
- 7.25 Обобщённая математика для разных типов <tgmath.h> (стр.: TBD)
- F.10.2.6 Функции tanh (стр.: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.12.5.6 Функции tanh (стр.: TBD)
- 7.25 Обобщённая математика для разных типов <tgmath.h> (стр.: TBD)
- F.10.2.6 Функции tanh (стр.: TBD)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.12.5.6 Функции tanh (стр.: 242)
- 7.25 Обобщённая математика для разных типов <tgmath.h> (стр.: 373-375)
- F.10.2.6 Функции tanh (стр.: 520)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.12.5.6 Функции tanh (стр.: 222-223)
- 7.22 Обобщённая математика для разных типов <tgmath.h> (стр.: 335-337)
- F.9.2.6 Функции tanh (стр.: 457)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
- 4.5.3.3 Функция tanh
См. также
|
(C99)(C99) | вычисляет гиперболический синус (\({\small\sinh{x} }\)sinh(x)) (функция) |
|
(C99)(C99) | вычисляет гиперболический косинус (\({\small\cosh{x} }\)cosh(x)) (функция) |
|
(C99)(C99)(C99) | вычисляет обратный гиперболический тангенс (\({\small\operatorname{artanh}{x} }\)artanh(x)) (функция) |
|
(C99)(C99)(C99) | вычисляет комплексный гиперболический тангенс (функция) |
Документация C++ для tanh |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/numeric/math/tanh