Administrator

Folks,
What's out approach to floatpoint comparisons across the library? I'm kidding :) Just for comparisons with Zero, I wonder if we could stick to absolute epsilon comparisons [1]. There are some places, i.e. in the index, with such cases and TODO comments too, so perhaps we could decide on it soon. [1] http://randomascii.wordpress.com/2012/02/25/comparingfloatingpointnumbers2012edition/ Best regards,  Mateusz Loskot, http://mateusz.loskot.net _______________________________________________ Geometry mailing list [hidden email] http://lists.boost.org/mailman/listinfo.cgi/geometry 
Hi,
Mateusz Loskot wrote: > Folks, > > What's out approach to floatpoint comparisons across the library? > I'm kidding :) > > Just for comparisons with Zero, I wonder if we could stick to absolute > epsilon comparisons [1]. > > There are some places, i.e. in the index, with such cases and > TODO comments too, so perhaps we could decide on it soon. > > [1] http://randomascii.wordpress.com/2012/02/25/comparingfloatingpointnumbers2012edition/ > Which place in the Index do you have in mind? Regards, Adam _______________________________________________ Geometry mailing list [hidden email] http://lists.boost.org/mailman/listinfo.cgi/geometry 
Administrator

For example, /trunk/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp lines 98106 Best regards, 
Mateusz Loskot wrote:
> Adam Wulkiewicz wrote >> Mateusz Loskot wrote: >>> Folks, >>> >>> What's out approach to floatpoint comparisons across the library? >>> I'm kidding :) >>> >>> Just for comparisons with Zero, I wonder if we could stick to absolute >>> epsilon comparisons [1]. >>> >>> There are some places, i.e. in the index, with such cases and >>> TODO comments too, so perhaps we could decide on it soon. >>> >>> [1] >>> http://randomascii.wordpress.com/2012/02/25/comparingfloatingpointnumbers2012edition/ >>> >> >> Which place in the Index do you have in mind? > > For example, > /trunk/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp > lines 98106 > Ah, I've forgotten to handle this after porting it from the old version. Thanks for digging this up. Yes, there should probably be comparison with std::numeric_limits<coordinate_type>::epsilon(). Regards, Adam _______________________________________________ Geometry mailing list [hidden email] http://lists.boost.org/mailman/listinfo.cgi/geometry 
Administrator

On 7 June 2013 01:36, Adam Wulkiewicz <[hidden email]> wrote:
> Mateusz Loskot wrote: >> Adam Wulkiewicz wrote >>> Mateusz Loskot wrote: >>>> >>>> Folks, >>>> >>>> What's out approach to floatpoint comparisons across the library? >>>> I'm kidding :) >>>> >>>> Just for comparisons with Zero, I wonder if we could stick to absolute >>>> epsilon comparisons [1]. >>>> >>>> There are some places, i.e. in the index, with such cases and >>>> TODO comments too, so perhaps we could decide on it soon. >>>> >>>> [1] >>>> >>>> http://randomascii.wordpress.com/2012/02/25/comparingfloatingpointnumbers2012edition/ >>>> >>> >>> Which place in the Index do you have in mind? >> >> >> For example, >> /trunk/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp >> lines 98106 >> > > Ah, I've forgotten to handle this after porting it from the old version. > Thanks for digging this up. Yes, there should probably be comparison with > std::numeric_limits<coordinate_type>::epsilon(). You may try GCC/clang with Wfloatequal, there is a few more, but those need to be addressed individually, I think. So, we may discuss unobvious cases. Best regards,  Mateusz Loskot, http://mateusz.loskot.net _______________________________________________ Geometry mailing list [hidden email] http://lists.boost.org/mailman/listinfo.cgi/geometry 
Mateusz Loskot wrote:
> On 7 June 2013 01:36, Adam Wulkiewicz <[hidden email]> wrote: >> >> Ah, I've forgotten to handle this after porting it from the old version. >> Thanks for digging this up. Yes, there should probably be comparison with >> std::numeric_limits<coordinate_type>::epsilon(). > > You may try GCC/clang with Wfloatequal, there is a few more, but those > need to be addressed individually, I think. > > So, we may discuss unobvious cases. > In the Index there are comparisons in: /boost/geometry/index/detail/rtree/visitors/insert.hpp:70 /boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp:326 /boost/geometry/index/detail/rtree/quadratic/redistribute_elements.hpp:189 /boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp:93 /boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp:112 but they're ok. And I've detected also the one in: /boost/geometry/util/math.hpp:54 Regards, Adam _______________________________________________ Geometry mailing list [hidden email] http://lists.boost.org/mailman/listinfo.cgi/geometry 
Hi,
On 762013 4:46, Adam Wulkiewicz wrote: > Mateusz Loskot wrote: >> On 7 June 2013 01:36, Adam Wulkiewicz <[hidden email]> wrote: >>> >>> Ah, I've forgotten to handle this after porting it from the old >>> version. >>> Thanks for digging this up. Yes, there should probably be comparison >>> with >>> std::numeric_limits<coordinate_type>::epsilon(). >> >> You may try GCC/clang with Wfloatequal, there is a few more, but those >> need to be addressed individually, I think. >> >> So, we may discuss unobvious cases. >> > > In the Index there are comparisons in: > > /boost/geometry/index/detail/rtree/visitors/insert.hpp:70 > /boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp:326 > /boost/geometry/index/detail/rtree/quadratic/redistribute_elements.hpp:189 > > /boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp:93 > /boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp:112 > > but they're ok. > > And I've detected also the one in: > > /boost/geometry/util/math.hpp:54 That one first compares with == indeed. If that is true, it returns true (whatever the epsilon is, if == returns true, it will always return true). If == is false, it does a more sophisticated comparison, still intended to be replaced by some Boost utility. See the comments. There are still some issues with this (not exactly with this, but with FP in general). Regards, Barend _______________________________________________ Geometry mailing list [hidden email] http://lists.boost.org/mailman/listinfo.cgi/geometry 
Free forum by Nabble  Edit this page 