Namespaces
Variants

tanh, tanhf, tanhl

From cppreference.net
< c ‎ | numeric ‎ | math
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99) (C99) (C99) (C23)
Maximum/minimum operations
Exponential functions
Power functions
Trigonometric and hyperbolic functions
Nearest integer floating-point
(C99) (C99) (C99)
(C23) (C23) (C23) (C23)
Floating-point manipulation
Narrowing operations
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quantum and quantum exponent
Decimal re-encoding functions
Total order and payload functions
Classification
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Types
Macro constants
Special floating-point values
Arguments and return values
Error handling
Fast operation indicators
Определено в заголовке <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) Тип-независимый макрос: Если аргумент имеет тип long double , вызывается tanhl . В противном случае, если аргумент имеет целочисленный тип или тип double , вызывается tanh . В остальных случаях вызывается tanhf . Если аргумент является комплексным, то макрос вызывает соответствующую комплексную функцию ( ctanhf , ctanh , ctanhl ).

Содержание

Параметры

arg - значение с плавающей запятой, представляющее гиперболический угол

Возвращаемое значение

If no errors occur, the hyperbolic tangent of arg ( tanh(аргумент) , or
e arg
-e -arg
e arg
+e -arg
) is returned.

Если происходит ошибка диапазона из-за потери значимости (underflow), возвращается корректный результат (после округления).

Обработка ошибок

Ошибки сообщаются, как указано в 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)
вычисляет гиперболический синус ( sinh(x) )
(функция)
(C99) (C99)
вычисляет гиперболический косинус ( cosh(x) )
(функция)
(C99) (C99) (C99)
вычисляет обратный гиперболический тангенс ( artanh(x) )
(функция)
(C99) (C99) (C99)
вычисляет комплексный гиперболический тангенс
(функция)