On Wed, Aug 10, 2016 at 2:45 PM, Thierry Dumont
<tdum...@math.univ-lyon1.fr> wrote:
> Le 10/08/2016 à 13:38, Erik Bray a écrit :
>> Hi all,
>>
>> Sorry if this has been discussed ad-infinitum before--I looked around
>> a bit but didn't find a definitive answer.
>>
>> I have one (well at least one) test that's failing on Cygwin due to
>> tiny difference in the last digit of the result of log(3).
>>
>> This leads to to several questions:
>>
>> 1) Is it worth investigating the reason for the difference?
>> 2) Is it worth trying to provide a workaround for the difference?
>> 3) Or should the test just be updated to ignore the last couple digits
>> of the result, and if so how (ellipses?)
>>
>> Thanks,
>> Erik
>>
> Hello,
>
> What do you mean by log(3) ?
>
> Is it log(3.) or log(RDF(3)) ?

Really what I meant was `float(log(3))` which I guess in Sage ends up
being same as `log(RDF(3))`

> With log(RDF(3)), this is classical; changing the library version, or
> the compiler version often changes the way some expressions and
> functions are computed. As floating point arithmetic is not associative,
> this is classical. With log(3.) (RealField()), I don't know.
> When we wrote the book "Calcul Mathématique avec Sage", we had this
> problem: after some release (some months) some  doctests of the chapter
> on numerical algebra and floating point numbers failed. The only work
> around we found was to truncate the last digit in the output, to try to
> test what should remain constant.

I have:

sage: R = RealField(100)
sage: log(R(3))
1.0986122886681096913952452369

Okay.  With Cygwin's libm:

sage: float(log(3))
1.0986122886681096

While on Linux I get:

sage: float(log(3))
1.0986122886681098

It looks like the latter result is properly rounded up (with an error
of 1ulp) while my result on Cygwin is just truncated.

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

Reply via email to