Namespaces
Variants

csinhf, csinh, csinhl

From cppreference.net
Определено в заголовке <complex.h>
float complex csinhf ( float complex z ) ;
(1) (начиная с C99)
double complex csinh ( double complex z ) ;
(2) (начиная с C99)
long double complex csinhl ( long double complex z ) ;
(3) (начиная с C99)
Определено в заголовке <tgmath.h>
#define sinh( z )
(4) (начиная с C99)
1-3) Вычисляет комплексный гиперболический синус от z .
4) Обобщённый макрос для типов: Если z имеет тип long double complex , csinhl вызывается. Если z имеет тип double complex , csinh вызывается. Если z имеет тип float complex , csinhf вызывается. Если z является вещественным или целым, то макрос вызывает соответствующую вещественную функцию ( sinhf , sinh , sinhl ). Если z является мнимым, то макрос вызывает соответствующую вещественную версию функции sin , реализуя формулу sinh(iy) = i sin(y) , и возвращаемый тип является мнимым.

Содержание

Параметры

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

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

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

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

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

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

  • csinh ( conj ( z ) ) == conj ( csinh ( z ) )
  • csinh ( z ) == - csinh ( - z )
  • Если z равно +0+0i , результат равен +0+0i
  • Если z равно +0+∞i , результат равен ±0+NaNi (знак действительной части не определён) и возбуждается FE_INVALID
  • Если z равно +0+NaNi , результат равен ±0+NaNi
  • Если z равно x+∞i (для любого положительного конечного x), результат равен NaN+NaNi и возбуждается FE_INVALID
  • Если z равно x+NaNi (для любого положительного конечного x), результат равен NaN+NaNi и может быть возбуждено FE_INVALID
  • Если z равно +∞+0i , результат равен +∞+0i
  • Если z равно +∞+yi (для любого положительного конечного y), результат равен +∞cis(y)
  • Если z равно +∞+∞i , результат равен ±∞+NaNi (знак действительной части не определён) и возбуждается FE_INVALID
  • Если z равно +∞+NaNi , результат равен ±∞+NaNi (знак действительной части не определён)
  • Если z равно NaN+0i , результат равен NaN+0i
  • Если z равно NaN+yi (для любого конечного ненулевого y), результат равен NaN+NaNi и может быть возбуждено FE_INVALID
  • Если z равно NaN+NaNi , результат равен NaN+NaNi

где cis(y) это cos(y) + i sin(y)

Примечания

Mathematical definition of hyperbolic sine is sinh z =
e z
-e -z
2

Гиперболический синус является целой функцией в комплексной плоскости и не имеет точек ветвления. Он периодичен по мнимой составляющей с периодом 2πi

Пример

#include <stdio.h>
#include <math.h>
#include <complex.h>
int main(void)
{
    double complex z = csinh(1);  // ведет себя как вещественный sinh вдоль вещественной оси
    printf("sinh(1+0i) = %f%+fi (sinh(1)=%f)\n", creal(z), cimag(z), sinh(1));
    double complex z2 = csinh(I); // ведет себя как синус вдоль мнимой оси
    printf("sinh(0+1i) = %f%+fi ( sin(1)=%f)\n", creal(z2), cimag(z2), sin(1));
}

Вывод:

sinh(1+0i) = 1.175201+0.000000i (sinh(1)=1.175201)
sinh(0+1i) = 0.000000+0.841471i ( sin(1)=0.841471)

Ссылки

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

Смотрите также

(C99) (C99) (C99)
вычисляет комплексный гиперболический косинус
(функция)
(C99) (C99) (C99)
вычисляет комплексный гиперболический тангенс
(функция)
(C99) (C99) (C99)
вычисляет комплексный гиперболический арксинус
(функция)
(C99) (C99)
вычисляет гиперболический синус ( sinh(x) )
(функция)