You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gilles (JIRA)" <ji...@apache.org> on 2018/01/21 15:42:00 UTC

[jira] [Commented] (NUMBERS-48) Unreachable statements in Complex.abs()

    [ https://issues.apache.org/jira/browse/NUMBERS-48?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16333559#comment-16333559 ] 

Gilles commented on NUMBERS-48:
-------------------------------

bq. this issue is resolved

Are you sure?
It seems that the suspicious code is still in "master".

> Unreachable statements in Complex.abs()
> ---------------------------------------
>
>                 Key: NUMBERS-48
>                 URL: https://issues.apache.org/jira/browse/NUMBERS-48
>             Project: Commons Numbers
>          Issue Type: Bug
>            Reporter: David Nickerson
>            Priority: Minor
>              Labels: easyfix, newbie, patch
>             Fix For: 1.0
>
>         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
(v7.6.3#76005)