commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Nickerson (JIRA)" <j...@apache.org>
Subject [jira] [Created] (MATH-1427) Unreachable statements in Complex.abs()
Date Thu, 03 Aug 2017 02:35:00 GMT
David Nickerson created MATH-1427:
-------------------------------------

             Summary: Unreachable statements in Complex.abs()
                 Key: MATH-1427
                 URL: https://issues.apache.org/jira/browse/MATH-1427
             Project: Commons Math
          Issue Type: Bug
    Affects Versions: 3.6.1
            Reporter: David Nickerson
            Priority: Minor


This return statement in Complex.abs() is unreachable:

{code:java}
if (FastMath.abs(real) < FastMath.abs(imaginary)) {
  if (imaginary == 0.0) {
    return FastMath.abs(real);
  }
{code}

If imaginary == 0, then there's no way that the preceding condition would be true. There are
two similar inner 'if' statements that were accidentally switched. Returned values are still
correct, but performance suffers.

The attached patch switches these back. Note that we're still protected from dividing by zero.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message