|
| From: | Rik |
| Subject: | [Octave-bug-tracker] [bug #49091] MXE Octave 4.20-rc1: test mappers.cc-tst fails |
| Date: | Wed, 14 Sep 2016 22:17:54 +0000 (UTC) |
| User-agent: | Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0 |
Update of bug #49091 (project octave):
Status: None => Confirmed
_______________________________________________________
Follow-up Comment #1:
I guess the question is why acosh (10i) is different from acosh (-10i). On
Linux they are the same. But on Windows, I get
>> acosh (10i)
ans = 2.99822295029797 + 1.57079632679490i
>> acosh (-10i)
ans = 2.99822295029798 - 1.57079632679490i
In liboctave/libnumeric/lo-specfun.cc the acosh function is defined as
Complex
acosh (const Complex& x)
{
#if defined (HAVE_COMPLEX_STD_ACOSH)
return std::acosh (x);
#else
return log (x + sqrt (x + 1.0) * sqrt (x - 1.0));
#endif
}
If I execute the #else path in Octave I get the right answer.
x = 0 + 10i
>> log (x + sqrt (x + 1.0) * sqrt (x - 1.0))
ans = 2.99822295029797 + 1.57079632679490i
>> x = -10i
x = -0 - 10i
>> log (x + sqrt (x + 1.0) * sqrt (x - 1.0))
ans = 2.99822295029797 - 1.57079632679490i
I don't know how MXE Octave was build, but this suggests that the std library
might be at fault on Windows.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?49091>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
| [Prev in Thread] | Current Thread | [Next in Thread] |