[Python-ideas] Way to check for floating point "closeness"?

Guido van Rossum guido at python.org
Mon Jan 12 23:56:16 CET 2015


But should probably use complex abs(). Adding it to cmath makes sense (if
adding it to math happens).

On Mon, Jan 12, 2015 at 2:39 PM, Chris Barker <chris.barker at noaa.gov> wrote:

> On Mon, Jan 12, 2015 at 2:33 PM, Guido van Rossum <guido at python.org>
> wrote:
>
>> I'm guessing this is also something that can go into math.
>>
>
> makes sense to me.
>
>
>> (However, what about complex?)
>>
>
> first blush:
>
> is_close(x.real) and is_close(x.imag)
>
> -Chris
>
>
>
>
>> On Mon, Jan 12, 2015 at 2:23 PM, Chris Barker <chris.barker at noaa.gov>
>> wrote:
>>
>>> On Mon, Jan 12, 2015 at 12:04 PM, Guido van Rossum <guido at python.org>
>>> wrote:
>>>
>>>> So is 1e-100 close to 1e-50 with the default tolerance? What about
>>>> 1e+100 and (1e+100 plus one ulp)?
>>>>
>>>
>>> sorry I should have not specified a specific default, and/or explained
>>> more what I think it should mean.
>>>
>>> But I thought the first question was "might this be a good idea for the
>>> standard library" -- and only if so, then we can work out how to do it.
>>>
>>> But anyway, the while point is that it would be some version "relative
>>> error", NOT an absolute tolerance -- that is pretty easy to write.
>>>
>>> See Nathaniel's note for the too many options already in numpy.
>>>
>>> Nathaniel Smith wrote:
>>>
>>> Unfortunately this opens a tremendous can of worms.
>>>
>>>
>>> Well, yes, but something generally useful for many cases would still be
>>> nice.
>>>
>>> Boost has thought about this a lot and advocates a slightly different
>>>> definition (actually, two slightly different definitions) from any of
>>>> the above:
>>>>
>>>> http://www.boost.org/doc/libs/1_34_0/libs/test/doc/components/test_tools/floating_point_comparison.html
>>>>
>>>
>>>
>>> It looks like they start with two, but end up with
>>>
>>> "the implementation is using modified version of the equations (1) and
>>> (2) where all underflow, overflow conditions could be guarded safely"
>>>
>>> That looks good to me, and the origins in Knuth are a good sign.
>>>
>>> -Chris
>>>
>>>
>>> --
>>>
>>> Christopher Barker, Ph.D.
>>> Oceanographer
>>>
>>> Emergency Response Division
>>> NOAA/NOS/OR&R            (206) 526-6959   voice
>>> 7600 Sand Point Way NE   (206) 526-6329   fax
>>> Seattle, WA  98115       (206) 526-6317   main reception
>>>
>>> Chris.Barker at noaa.gov
>>>
>>
>>
>>
>> --
>> --Guido van Rossum (python.org/~guido)
>>
>
>
>
> --
>
> Christopher Barker, Ph.D.
> Oceanographer
>
> Emergency Response Division
> NOAA/NOS/OR&R            (206) 526-6959   voice
> 7600 Sand Point Way NE   (206) 526-6329   fax
> Seattle, WA  98115       (206) 526-6317   main reception
>
> Chris.Barker at noaa.gov
>



-- 
--Guido van Rossum (python.org/~guido)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20150112/e4bb3f80/attachment.html>


More information about the Python-ideas mailing list