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)