You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "David Nickerson (JIRA)" <ji...@apache.org> on 2017/08/03 02:36:00 UTC

[jira] [Updated] (MATH-1427) Unreachable statements in Complex.abs()

     [ https://issues.apache.org/jira/browse/MATH-1427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Nickerson updated MATH-1427:
----------------------------------
    Attachment: complex_abs.patch

> 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)