std::asinh, std::asinhf, std::asinhl
Определено в заголовке <cmath> |
||
|---|---|---|
| (1) | ||
float asinh ( float num ); double asinh ( double num ); long double asinh ( long double num ); |
(до C++23) | |
/* floating-point-type */
asinh ( /* floating-point-type */ num );
|
(с C++23) (constexpr с C++26) |
|
float asinhf( float num ); |
(2) | (с C++11) (constexpr с C++26) |
long double asinhl( long double num ); |
(3) | (с C++11) (constexpr с C++26) |
| Дополнительные перегрузки (с C++11) | ||
Определено в заголовке <cmath> |
||
template< class Integer > double asinh ( Integer num ); |
(A) | (constexpr с C++26) |
num. Библиотека предоставляет перегрузки std::asinh для всех типов с плавающей точкой без квалификаторов cv как тип параметра.(с C++23)
| A) Дополнительные перегрузки предоставляются для всех целочисленных типов, которые рассматриваются как double. | (с C++11) |
Параметры
| num | - | значение с плавающей точкой или целое число |
Значение результата
Если ошибки не возникло, возвращается обратный гиперболический синус num (sinh-1(num), или arsinh(num)).
Если возникает ошибка из-за подпотока, возвращается правильный результат (после округления).
Обработка ошибок
Ошибки сообщаются, как указано в math_errhandling.
Если реализация поддерживает IEEE арифметику с плавающей точкой (IEC 60559),
- если аргумент равен ±0 или ±∞, он возвращается без изменений.
- если аргумент равен NaN, возвращается NaN.
Примечания
Хотя стандарт C (на который ссылается C++) называет эту функцию "обратный гиперболический синус", обратные функции гиперболических функций являются функциями площади. Их аргумент представляет собой площадь сектора гиперболы, а не дугу. Правильное название — "обратный гиперболический синус" (используется в POSIX) или "площадь гиперболического синуса".
Дополнительные перегрузки не обязаны предоставляться точно как (A). Они должны быть достаточными, чтобы гарантировать, что для их аргумента num целочисленного типа, std::asinh(num) имеет тот же эффект, что и std::asinh(static_cast<double>(num)).
Примеры
#include <cmath>
#include <iostream>
int main()
{
std::cout << "asinh(1) = " << std::asinh(1) << '\n'
<< "asinh(-1) = " << std::asinh(-1) << '\n';
// special values
std::cout << "asinh(+0) = " << std::asinh(+0.0) << '\n'
<< "asinh(-0) = " << std::asinh(-0.0) << '\n';
}Вывод:
asinh(1) = 0.881374 asinh(-1) = -0.881374 asinh(+0) = 0 asinh(-0) = -0
См. также
|
(C++11)(C++11)(C++11) |
вычисляет обратную гиперболическую косинусу (\({\small\operatorname{arcosh}{x}}\)arcosh(x)) (функция) |
|
(C++11)(C++11)(C++11) |
вычисляет обратную гиперболическую тангенс (\({\small\operatorname{artanh}{x}}\)artanh(x)) (функция) |
|
(C++11)(C++11) |
вычисляет гиперболический синус (\({\small\sinh{x}}\)sinh(x)) (функция) |
|
(C++11) |
вычисляет площадь гиперболического синуса комплексного числа (\({\small\operatorname{arsinh}{z}}\)arsinh(z)) (функция-шаблон) |
Документация C для asinh |
|
Внешние ссылки
| Weisstein, Эрик В. "Обратный гиперболический синус". Из MathWorld — Wolfram Web Resource. |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/numeric/math/asinh