You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "ntysdd (JIRA)" <ji...@apache.org> on 2015/03/06 11:32:38 UTC
[jira] [Comment Edited] (MATH-1196) FastMath.round (like
Math.round) returns surprising results for some arguments
[ https://issues.apache.org/jira/browse/MATH-1196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14350188#comment-14350188 ]
ntysdd edited comment on MATH-1196 at 3/6/15 10:32 AM:
-------------------------------------------------------
Not so easy.
Still wrong.
{code:xml}
public void test() {
final double x = 4503599627370497.0; // x = Math.pow(2, 52) + 1;
Assert.assertTrue(x == Math.rint(x));
Assert.assertTrue(x == FastMath.round(x));
}
{code}
was (Author: ntysdd):
Not so easy.
Still wrong.
public void test() {
final double x = 4503599627370497.0; // x = Math.pow(2, 52) + 1;
Assert.assertTrue(x == Math.rint(x));
Assert.assertTrue(x == FastMath.round(x));
}
> FastMath.round (like Math.round) returns surprising results for some arguments
> ------------------------------------------------------------------------------
>
> Key: MATH-1196
> URL: https://issues.apache.org/jira/browse/MATH-1196
> Project: Commons Math
> Issue Type: Bug
> Affects Versions: 3.4.1
> Reporter: Phil Steitz
>
> The first assertion in the test case below succeeds, but the second fails
> {code}
> /*
> * http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6430675
> */
> @Test
> public void testRoundDown() {
> final double x = 0x1.fffffffffffffp-2;
> Assert.assertTrue(x < 0.5d);
> Assert.assertEquals(0, FastMath.round(x));
> }
> {code}
> This is being tracked as a JDK (actually spec) bug here:
> http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6430675
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)