casinhf, casinh, casinhl
Определено в заголовочном файле <complex.h> |
||
|---|---|---|
float complex casinhf( float complex z ); |
(1) | (с C99) |
double complex casinh( double complex z ); |
(2) | (с C99) |
long double complex casinhl( long double complex z ); |
(3) | (с C99) |
Определено в заголовочном файле <tgmath.h> |
||
#define asinh( z ) |
(4) | (с C99) |
z с разрезами ветвей вне интервала [−i; +i] вдоль мнимой оси.z имеет тип long double complex, вызывается casinhl. Если z имеет тип double complex, вызывается casinh. Если z имеет тип float complex, вызывается casinhf. Если z является вещественным или целочисленным, то макрос вызывает соответствующую вещественную функцию (asinhf, asinh, asinhl). Если z является мнимым, то макрос вызывает соответствующую вещественную версию функции asin, реализуя формулу asinh(iy) = i asin(y), и возвращаемый тип будет мнимым.Параметры
| z | - | комплексное аргумент |
Значение результата
Если ошибки не произошли, возвращается комплексная обратная гиперболическая синус от z, в диапазоне полосы, математически неограниченной вдоль вещественной оси и в интервале [−iπ/2; +iπ/2] вдоль мнимой оси.
Обработка ошибок и специальные значения
Ошибки сообщаются в соответствии с math_errhandling
Если реализация поддерживает арифметику с плавающей запятой IEEE,
casinh(conj(z)) == conj(casinh(z))casinh(-z) == -casinh(z)- Если
zравно+0+0i, результат равен+0+0i - Если
zравноx+∞i(для любого положительного конечного x), результат равен+∞+π/2 - Если
zравноx+NaNi(для любого конечного x), результат равенNaN+NaNi, и может быть возбужденоFE_INVALID - Если
zравно+∞+yi(для любого положительного конечного y), результат равен+∞+0i - Если
zравно+∞+∞i, результат равен+∞+iπ/4 - Если
zравно+∞+NaNi, результат равен+∞+NaNi - Если
zравноNaN+0i, результат равенNaN+0i - Если
zравноNaN+yi(для любого конечного ненулевого y), результат равенNaN+NaNi, и может быть возбужденоFE_INVALID - Если
zравноNaN+∞i, результат равен±∞+NaNi(знак вещественной части не определён) - Если
zравноNaN+NaNi, результат равенNaN+NaNi
Примечания
Хотя C стандарт называет эту функцию "комплексной обратной гиперболической синусом", обратные функции гиперболических функций являются функциями площади. Их аргумент — это площадь гиперболического сектора, а не дуги. Правильное название — "комплексная обратная гиперболическая синус", и, реже, "комплексная площадь гиперболической синус".
Обратная гиперболическая синус — многозначная функция и требует разреза ветви на комплексной плоскости. Разрез ветви обычно размещается на отрезках прямых (-i∞,-i) и (i,i∞) мнимой оси.
Математическое определение главного значения обратной гиперболической синуса: asinh z = ln(z + √1+z2) Для любого z, asinh(z) =
asin(iz)/iПример
#include <stdio.h>
#include <complex.h>
int main(void)
{
double complex z = casinh(0+2*I);
printf("casinh(+0+2i) = %f%+fi\n", creal(z), cimag(z));
double complex z2 = casinh(-conj(2*I)); // or casinh(CMPLX(-0.0, 2)) in C11
printf("casinh(-0+2i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2));
// for any z, asinh(z) = asin(iz)/i
double complex z3 = casinh(1+2*I);
printf("casinh(1+2i) = %f%+fi\n", creal(z3), cimag(z3));
double complex z4 = casin((1+2*I)*I)/I;
printf("casin(i * (1+2i))/i = %f%+fi\n", creal(z4), cimag(z4));
}Вывод:
casinh(+0+2i) = 1.316958+1.570796i casinh(-0+2i) (the other side of the cut) = -1.316958+1.570796i casinh(1+2i) = 1.469352+1.063440i casin(i * (1+2i))/i = 1.469352+1.063440i
Ссылки
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.3.6.2 Функции casinh (стр: 192-193)
- 7.25 Универсальные математические функции <tgmath.h> (стр: 373-375)
- G.6.2.2 Функции casinh (стр: 540)
- G.7 Универсальные математические функции <tgmath.h> (стр: 545)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.3.6.2 Функции casinh (стр: 174-175)
- 7.22 Универсальные математические функции <tgmath.h> (стр: 335-337)
- G.6.2.2 Функции casinh (стр: 475)
- G.7 Универсальные математические функции <tgmath.h> (стр: 480)
См. также
|
(C99)(C99)(C99) |
вычисляет комплексную обратную гиперболическую косинус (функция) |
|
(C99)(C99)(C99) |
вычисляет комплексную обратную гиперболическую тангенс (функция) |
|
(C99)(C99)(C99) |
вычисляет комплексную гиперболическую синус (функция) |
|
(C99)(C99)(C99) |
вычисляет обратную гиперболическую синус (\({\small\operatorname{arsinh}{x} }\)arsinh(x)) (функция) |
Документация C++ для asinh |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/numeric/complex/casinh