Complex.ZERO.pow(Complex.ONE) gives NaN in unit tests
-----------------------------------------------------
Key: MATH-402
URL: https://issues.apache.org/jira/browse/MATH-402
Project: Commons Math
Issue Type: Bug
Affects Versions: 2.2
Environment: Issue 15
http://code.google.com/p/symja/issues/detail?id=15
Reporter: Axel Kramer
Why does this unit test in ComplexTest.java gives NaN?
I expected to get Complex.ZERO as the result?
{code:java}
public void testPowZero() {
TestUtils.assertSame(Complex.NaN,
Complex.ZERO.pow(Complex.ONE));
...
}
{code}
I would suggest something like this for the Complex#pow() method:
{code:java}
public Complex pow(Complex x) {
if (x == null) {
throw new NullPointerException();
}
if (x.imaginary == 0.0) {
if (real == 0.0 && imaginary == 0.0) {
if (x.real == 0.0){
return Complex.ZERO;
}
}
if (x.real == 1.0) {
return this;
}
}
return this.log().multiply(x).exp();
}
{code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.