[ https://issues.apache.org/jira/browse/MATH-843?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gilles updated MATH-843: ------------------------ Fix Version/s: 3.1 > Precision.EPSILON: wrong documentation > -------------------------------------- > > Key: MATH-843 > URL: https://issues.apache.org/jira/browse/MATH-843 > Project: Commons Math > Issue Type: Bug > Affects Versions: 3.0 > Reporter: Dominik Gruntz > Priority: Minor > Labels: documentation > Fix For: 3.1 > > Original Estimate: 0.5h > Remaining Estimate: 0.5h > > The documentation of the Field {{EPSILON}} in class > {{org.apache.commons.math3.util.Precision}} states, that {{EPSILON}} is the > smallest positive number such that {{1 - EPSILON}} is not numerically equal > to 1, and its value is defined as 1.1102230246251565E-16. > However, this is NOT the smallest positive number with this property. > Consider the following program: > {code} > public class Eps { > public static void main(String[] args) { > double e = Double.longBitsToDouble(0x3c90000000000001L); > double e1 = 1-e; > System.out.println(e); > System.out.println(1-e); > System.out.println(1-e != 1); > } > } > {code} > The output is: > {code} > % java Eps > 5.551115123125784E-17 > 0.9999999999999999 > true > {code} > This proves, that there are smaller positive numbers with the property that > 1-eps != 1. > I propose not to change the constant value, but to update the documentation. > The value {{Precision.EPSILON}} is > an upper bound on the relative error which occurs when a real number is > rounded to its nearest Double floating-point number. I propose to update > the api docs in this sense. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira