atanh arc-hyperbolic tangent function missing in MS Visual C++
c++, math
Solution
Here is what is and what is not included in the various versions of the maths libraries.
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
Can you not implement your own functions using the formulae:
asinh(x) = log(x + sqrt(x2 + 1))
acosh(x) = log(x + sqrt(x2 - 1))
atanh(x) = (log(1+x) - log(1-x))/2
e.g.
float atanh (float x)
{
//implements: return (log(1+x) - log(1-x))/2
}
Problem
I am working with some code that was previously compiled on Linux with gcc compiler, and when compiling it with MS Visual C++ 2008 the math.h doesn't appear to include all the same functionality, specifically the (inverse) arc-hyperbolic tangent atanh function. I've tried including math.h, cmath, using std::atanh, and didn't find much else with a google/MSDN search. Is there a simple header file available that I can include that has this? error C3861: 'atanh': identifier not found