#15921: work around Maxima fpprintprec bug and other ARM-specific problems
-------------------------------------+-------------------------------------
       Reporter:  dimpase            |        Owner:
           Type:  defect             |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.3
      Component:  calculus           |   Resolution:
       Keywords:  Maxima,            |    Merged in:
  fpprintprec, ARM                   |    Reviewers:
        Authors:                     |  Work issues:
Report Upstream:  Reported           |       Commit:
  upstream. Developers acknowledge   |  079bb9af4f12892268a19f0d218ac96bd72466f4
  bug.                               |     Stopgaps:
         Branch:                     |
  u/dimpase/arm_fixes_etc            |
   Dependencies:                     |
-------------------------------------+-------------------------------------

Comment (by dimpase):

 Replying to [comment:9 pbruin]:
 > It seems to me that converting to a `RealField` is not only (possibly
 confusing) noise for the reader; it could also hide potential future
 precision bugs.
 >
 > Is there any chance that the Maxima bug will get fixed soon?
 all I know about this is in the thread cited in the ticket description.

 >
 > Also, maybe I misunderstand, but what makes conversion of floats into a
 `RealField` with ''higher'' precision suppress numerical noise (mentioned
 in the ticket description)?

 probably it should be classified as "numerical noise", but as
 "precision/formatting/rounding bugs". And the latter are Maxima, and
 perhaps also the ECL's interpretation of a particular case of undefined
 behaviour.   Hmm, perhaps it's also some specifically Sage problem:
 {{{
 sage: .4980113944988315
 0.498011394498831
 sage: .49801139449883150
 0.498011394498832
 }}}
 Conversion into `RealField(54)` appears to fix this discrepancy (I don't
 know why).
 {{{
 sage: RealField(54)(.49801139449883150)
 0.498011394498832
 sage: RealField(54)(.4980113944988315)
 0.498011394498832
 }}}

 By the way, Python behaves differently, but still confusing :
 {{{
 $ python
 Python 2.7.5 (default, Aug 25 2013, 00:04:04)
 [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
 Type "help", "copyright", "credits" or "license" for more information.
 >>> .4980113944988315
 0.4980113944988315
 >>> .49801139449883150
 0.4980113944988315
 >>> .49801139449883155
 0.49801139449883153
 >>> .49801139449883156
 0.4980113944988316
 >>>
 }}}
 In particular that `55` at the end being printed as `53`, and rounding
 `56` at the end as `60`, but keeping `55` as just `55`.

 One reason against just putting ellipses is that this is a sure way to
 hide this problem forever...

--
Ticket URL: <http://trac.sagemath.org/ticket/15921#comment:10>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to