Namespaces
Variants

std:: acosh, std:: acoshf, std:: acoshl

From cppreference.net
Common mathematical functions
Nearest integer floating point operations
(C++11)
(C++11)
(C++11) (C++11) (C++11)
Floating point manipulation functions
(C++11) (C++11)
(C++11)
(C++11)
Classification and comparison
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Types
(C++11)
(C++11)
(C++11)
Macro constants
헤더 파일에 정의됨 <cmath>
(1)
float acosh ( float num ) ;

double acosh ( double num ) ;

long double acosh ( long double num ) ;
(C++23 이전)
/*floating-point-type*/
acosh ( /*floating-point-type*/ num ) ;
(C++23 이후)
(C++26부터 constexpr)
float acoshf ( float num ) ;
(2) (C++11 이후)
(C++26부터 constexpr)
long double acoshl ( long double num ) ;
(3) (C++11 이후)
(C++26부터 constexpr)
SIMD 오버로드 (C++26 이후)
헤더 파일에 정의됨 <simd>
template < /*math-floating-point*/ V >

constexpr /*deduced-simd-t*/ < V >

acosh ( const V & v_num ) ;
(S) (C++26 이후)
추가 오버로드 (C++11 이후)
헤더 파일에 정의됨 <cmath>
template < class Integer >
double acosh ( Integer num ) ;
(A) (C++26부터 constexpr)
1-3) num 의 역쌍곡선 코사인을 계산합니다. 라이브러리는 매개변수 타입으로 모든 cv-한정되지 않은 부동소수점 타입에 대한 std::acosh 의 오버로드를 제공합니다. (C++23부터)
S) SIMD 오버로드는 v_num 에 대해 요소별(element-wise) std::acosh 연산을 수행합니다.
(정의는 math-floating-point deduced-simd-t 참조)
(C++26부터)
A) 모든 정수 타입에 대해 추가 오버로드가 제공되며, 이들은 double 로 처리됩니다.
(since C++11)

목차

매개변수

num - 부동 소수점 또는 정수 값

반환값

오류가 발생하지 않으면, num 의 역쌍곡코사인( cosh -1
(num)
또는 arcosh(num) ) 값이 구간 [0, +∞] 에서 반환됩니다.

도메인 오류가 발생하면 구현에서 정의한 값이 반환됩니다(NaN이 지원되는 경우).

오류 처리

오류는 math_errhandling 에 명시된 대로 보고됩니다.

인수가 1보다 작으면 도메인 오류가 발생합니다.

구현이 IEEE 부동 소수점 연산(IEC 60559)을 지원하는 경우,

  • 인수가 1보다 작으면, FE_INVALID 가 발생하고 NaN이 반환됩니다.
  • 인수가 1이면, +0이 반환됩니다.
  • 인수가 +∞이면, +∞가 반환됩니다.
  • 인수가 NaN이면, NaN이 반환됩니다.

참고 사항

C++가 이 함수를 위해 참조하는 C 표준에서는 이 함수를 "arc hyperbolic cosine"이라고 명명하지만, 쌍곡선 함수의 역함수는 면적 함수입니다. 이들의 인수는 호(arc)가 아닌 쌍곡선 섹터의 면적입니다. 올바른 명칭은 "inverse hyperbolic cosine"(POSIX에서 사용) 또는 "area hyperbolic cosine"입니다.

추가 오버로드는 반드시 (A) 와 정확히 동일하게 제공될 필요가 없습니다. 정수형 인수 num 에 대해 std :: acosh ( num ) std :: acosh ( static_cast < double > ( num ) ) 와 동일한 효과를 가지도록 보장하기에 충분하기만 하면 됩니다.

예제

#include <cerrno>
#include <cfenv>
#include <cfloat>
#include <cmath>
#include <cstring>
#include <iostream>
// #pragma STDC FENV_ACCESS ON
int main()
{
    std::cout << "acosh(1) = " << std::acosh(1) << '\n'
              << "acosh(10) = " << std::acosh(10) << '\n'
              << "acosh(DBL_MAX) = " << std::acosh(DBL_MAX) << '\n'
              << "acosh(Inf) = " << std::acosh(INFINITY) << '\n';
    // error handling
    errno = 0;
    std::feclearexcept(FE_ALL_EXCEPT);
    std::cout << "acosh(0.5) = " << std::acosh(0.5) << '\n';
    if (errno == EDOM)
        std::cout << "    errno == EDOM: " << std::strerror(errno) << '\n';
    if (std::fetestexcept(FE_INVALID))
        std::cout << "    FE_INVALID raised\n";
}

가능한 출력:

acosh(1) = 0
acosh(10) = 2.99322
acosh(DBL_MAX) = 710.476
acosh(Inf) = inf
acosh(0.5) = -nan
    errno == EDOM: Numerical argument out of domain
    FE_INVALID raised

참고 항목

(C++11) (C++11) (C++11)
역쌍곡사인을 계산합니다 ( arsinh(x) )
(함수)
(C++11) (C++11) (C++11)
역쌍곡탄젠트를 계산합니다 ( artanh(x) )
(함수)
(C++11) (C++11)
쌍곡코사인을 계산합니다 ( cosh(x) )
(함수)
복소수의 면적 쌍곡코사인을 계산합니다 ( arcosh(z) )
(함수 템플릿)
C 문서 for acosh

외부 링크

Weisstein, Eric W. "Inverse Hyperbolic Cosine." From MathWorld — A Wolfram Web Resource.