In Complex.java the tanh is computed with the following formula:
tanh(a + bi) = sinh(2a)/(cosh(2a)+cos(2b)) + [sin(2b)/(cosh(2a)+cos(2b))]i
The problem that I'm finding is that as soon as "a" is a "big" number,
both sinh(2a) and cosh(2a) are infinity and then the method tanh returns in
the real part NaN (infinity/infinity) when it should return 1.0.
Wouldn't it be appropiate to add something as in the FastMath library??:
return createComplex(1.0, 0.0);
return createComplex(-1.0, 0.0);