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 Sadowski (Jira)" <ji...@apache.org> on 2019/10/03 15:23:01 UTC

[jira] [Commented] (NUMBERS-136) "log10" inconsistent with "log"

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

Gilles Sadowski commented on NUMBERS-136:
-----------------------------------------

Also, I think that when the definitional formula is short-circuited, the reason (be it for performance or to match a reference implementation)  should be mentioned (either in the Javadoc, or as code comment).

> "log10" inconsistent with "log"
> -------------------------------
>
>                 Key: NUMBERS-136
>                 URL: https://issues.apache.org/jira/browse/NUMBERS-136
>             Project: Commons Numbers
>          Issue Type: Bug
>          Components: complex
>            Reporter: Gilles Sadowski
>            Priority: Major
>             Fix For: 1.0
>
>
> For special cases (containing NaN or infinities), method {{log10}} does not return the same values as {{log()}} (cf. case commented out  below).
> {code}
>     @Test
>     public void testLog10Consistency() {
>         // Infinities should map to the same values as computed with "log()".
>         // Assertions.assertEquals(infInf.log(), infInf.log10());
>         Assertions.assertEquals(infNegInf.log(), infNegInf.log10());
>         Assertions.assertEquals(negInfInf.log(), negInfInf.log10());
>         // Assertions.assertEquals(infNaN.log(), infNaN.log10());
>         Assertions.assertEquals(negInfNaN.log(), negInfNaN.log10());
>         // Assertions.assertEquals(nanInf.log(), nanInf.log10());
>         Assertions.assertEquals(nanNegInf.log(), nanNegInf.log10());
>     }
> {code}
> To avoid duplication, I suggest that {{log10}} calls {{log}} as part of its implementation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)