Spec-Zone.ru › C

ctanhf, ctanh, ctanhl

Определено в заголовке <complex.h>
float complex       ctanhf( float complex z );
(1) (с C99)
double complex      ctanh( double complex z );
(2) (с C99)
long double complex ctanhl( long double complex z );
(3) (с C99)
Определено в заголовке <tgmath.h>
#define tanh( z )
(4) (с C99)
1-3) Вычисляет комплексную гиперболическую тангенс от z.
4) Тип-общая макрос: Если z имеет тип long double complex, вызывается ctanhl. Если z имеет тип double complex, вызывается ctanh, если z имеет тип float complex, вызывается ctanhf. Если z — вещественное или целое число, то макрос вызывает соответствующую вещественную функцию (tanhf, tanh, tanhl). Если z — мнимое, то макрос вызывает соответствующую вещественную версию функции tan, реализуя формулу tanh(iy) = i tan(y), и возвращаемый тип — мнимый.

Параметры

z - комплексное аргумент

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

Если ошибок не возникло, возвращается комплексная гиперболическая тангенс от z.

Обработка ошибок и специальные значения

Ошибки сообщаются в соответствии с math_errhandling

Если реализация поддерживает арифметику с плавающей запятой IEEE,

  • ctanh(conj(z)) == conj(ctanh(z))
  • ctanh(-z) == -ctanh(z)
  • Если z является +0+0i, результат — +0+0i
  • Если z является x+∞i (для любого[1] конечного x), результат — NaN+NaNi и поднимается FE_INVALID
  • Если z является x+NaN (для любого[2] конечного x), результат — NaN+NaNi и может подняться FE_INVALID
  • Если z является +∞+yi (для любого конечного положительного y), результат — 1+0i
  • Если z является +∞+∞i, результат — 1±0i (знак мнимой части не определен)
  • Если z является +∞+NaNi, результат — 1±0i (знак мнимой части не определен)
  • Если z является NaN+0i, результат — NaN+0i
  • Если z является NaN+yi (для любого ненулевого y), результат — NaN+NaNi и может подняться FE_INVALID
  • Если z является NaN+NaNi, результат — NaN+NaNi
  1. Согласно DR471, это справедливо только для ненулевого x. Если z является 0+∞i, результат должен быть 0+NaNi
  2. Согласно DR471, это справедливо только для ненулевого x. Если z является 0+NaNi, результат должен быть 0+NaNi

Примечания

Математическое определение гиперболической тангенс: tanh z = ez-e-z/ez+e-z

Гиперболическая тангенс является аналитической функцией на комплексной плоскости и не имеет разрывов. Она является периодической относительно мнимой составляющей, с периодом πi, и имеет полюса первого порядка вдоль мнимой прямой в координатах (0, π(1/2 + n)). Однако ни одна распространённая система с плавающей точкой не может точно представить π/2, поэтому нет значения аргумента, при котором возникает ошибка полюса.

Пример

#include <stdio.h>
#include <math.h>
#include <complex.h>
 
int main(void)
{
    double complex z = ctanh(1);  // behaves like real tanh along the real line
    printf("tanh(1+0i) = %f%+fi (tanh(1)=%f)\n", creal(z), cimag(z), tanh(1));
 
    double complex z2 = ctanh(I); // behaves like tangent along the imaginary line
    printf("tanh(0+1i) = %f%+fi ( tan(1)=%f)\n", creal(z2), cimag(z2), tan(1));
}

Вывод:

tanh(1+0i) = 0.761594+0.000000i (tanh(1)=0.761594)
tanh(0+1i) = 0.000000+1.557408i ( tan(1)=1.557408)

Ссылки

  • Стандарт C11 (ISO/IEC 9899:2011):
    • 7.3.6.6 Функции ctanh (стр. 194)
    • 7.25 Тип-общая математика <tgmath.h> (стр. 373-375)
    • G.6.2.6 Функции ctanh (стр. 542)
    • G.7 Тип-общая математика <tgmath.h> (стр. 545)
  • Стандарт C99 (ISO/IEC 9899:1999):
    • 7.3.6.6 Функции ctanh (стр. 176)
    • 7.22 Тип-общая математика <tgmath.h> (стр. 335-337)
    • G.6.2.6 Функции ctanh (стр. 477)
    • G.7 Тип-общая математика <tgmath.h> (стр. 480)

См. также

csinhcsinhfcsinhl
(C99)(C99)(C99)
вычисляет комплексную гиперболический синус
(функция)
ccoshccoshfccoshl
(C99)(C99)(C99)
вычисляет комплексную гиперболический косинус
(функция)
catanhcatanhfcatanhl
(C99)(C99)(C99)
вычисляет комплексную обратную гиперболическую тангенс
(функция)
tanhtanhftanhl
(C99)(C99)
вычисляет гиперболическую тангенс (\({\small\tanh{x} }\)tanh(x))
(функция)
Документация C++ для tanh

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/numeric/complex/ctanh

Spec-Zone.ru

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