Spec-Zone.ru › C

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), или

earg-e-arg/earg+e-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

См. также

sinhsinhfsinhl
(C99)(C99)
вычисляет гиперболический синус (\({\small\sinh{x} }\)sinh(x))
(функция)
coshcoshfcoshl
(C99)(C99)
вычисляет гиперболический косинус (\({\small\cosh{x} }\)cosh(x))
(функция)
atanhatanhfatanhl
(C99)(C99)(C99)
вычисляет обратный гиперболический тангенс (\({\small\operatorname{artanh}{x} }\)artanh(x))
(функция)
ctanhctanhfctanhl
(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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API