[ https://issues.apache.org/jira/browse/MATH-1427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16113118#comment-16113118 ]
David Nickerson commented on MATH-1427: --------------------------------------- Bug report migrated to [https://issues.apache.org/jira/browse/NUMBERS-48] > 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 > Labels: easyfix, newbie, patch > Attachments: complex_abs.patch > > > 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)