我正在使用以前使用gcc编译器在Linux上编译的一些代码,并且在使用MS Visual C++ 2008进行编译时,math.h似乎不包含所有相同的功能,特别是(反)弧 - 双曲正切atanh功能.
我尝试过使用std :: atanh包含math.h,cmath,并且没有找到google/MSDN搜索的其他内容.是否有一个简单的头文件,我可以包含这个?
错误C3861:'atanh':找不到标识符
小智 5
以下是各种版本的数学库中包含的内容和内容.
Function POSIX old ISO ISO C99 Microsoft(2008)
acos Y Y Y Y
acosh Y N Y N
asin Y Y Y Y
asinh Y N Y N
atan Y Y Y Y
atan2 Y Y Y Y
atanh Y N Y N
Run Code Online (Sandbox Code Playgroud)
你能不能使用公式实现自己的功能:
asinh(x) = log(x + sqrt(x2 + 1))
acosh(x) = log(x + sqrt(x2 - 1))
atanh(x) = (log(1+x) - log(1-x))/2
Run Code Online (Sandbox Code Playgroud)
例如
float atanh (float x)
{
//implements: return (log(1+x) - log(1-x))/2
}
Run Code Online (Sandbox Code Playgroud)