[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [OASIS Issue Tracker] Commented: (OFFICE-2385) 5.4.7 Infix Operator"="
[ http://tools.oasis-open.org/issues/browse/OFFICE-2385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17827#action_17827 ] David Wheeler commented on OFFICE-2385: ---------------------------------------- Dennis points out Knuth's sage advice: "Programmers who use floating point arithmetic almost never want to test if two computed values are exactly equal (or at least they hardly ever should try to do so) ...". But many (most?) spreadsheet users are NOT professional programmers, and wouldn't know what a numerical model was if it came up and bit them. Instead, they use "=", blithely unaware that most evaluators use base-2 calculations and approximate many values... and many expect that the implementation do the "right" thing. Even if they don't know what that is. What's worse, we've actually had several long conversations about the "right" approximation algorithms, all inconclusive. No one has so far agreed on what the "right" algorithm would be, never mind what its parameter values would be. Which leads me to believe that we should: (1) Permit (but not require) implementations to have an approximation algorithm, and (2) leave that algorithm as implementation-defined. That's not perfectly satisfactory, but to do better we'd have to agree on the algorithm and its parameters... an agreement that is lacking. Indeed, some evaluator implementers (like Gnumeric's) have argued that approximation is wrong - if it's not exactly equal, report it not equal and be done with it. This issue is different from "precision as shown". I suggest using a different JIRA comment if you want to discuss that. > 5.4.7 Infix Operator "=" > ------------------------ > > Key: OFFICE-2385 > URL: http://tools.oasis-open.org/issues/browse/OFFICE-2385 > Project: OASIS Open Document Format for Office Applications (OpenDocument) TC > Issue Type: Bug > Components: OpenFormula > Reporter: Patrick Durusau > Assignee: Dennis Hamilton > Fix For: ODF 1.2 Part 2 CD 2 > > > General commentary under 5.4.7 Infix Operator "=" deleted. > Created JIRA issue to call attention to it. > "Note that in most implementations, numbers are computed using fixed-length representations in base 2 or 16, using a matissa and an exponent. This means that values such as 0.1 cannot be exactly represented (just as 1/3 cannot be exactly represented in base 10 using decimal notation). As a result, (0.1*10) will not have the same bit representation as 1. Since many spreadsheet users do not understand how computers typically represent numbers, applications may attempt to hide these differences by allowing "nearly" equal numbers to be considered equal, but applications are not required to do so. > Note that in some user interfaces this is displayed or accepted as "=="." -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira