Boost C++ Libraries: Ticket #8254: Faulty intersection calculation https://svn.boost.org/trac10/ticket/8254 <p> I encountered a (supposed) bug in the boost::geometry::intersection functionality. </p> <p> The calculation of the intersection of a tiny triangle lying in a considerably bigger trapezoid where one edge of the triangle lies (within floating point precision) on one edge of the trapezoid results in an intersection which consists of the original trapezoid with one additional node on one of its sides. </p> <p> The geometry is given in a C test routine attached to this ticked. The actual call of the intersection functionality is conducted in a C++ wrapper routine, which is also attached. The bug occurred on Mountain Lion with the llvm-gcc-4.2 compiler. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/8254 Trac 1.4.3 anonymous Wed, 06 Mar 2013 15:12:52 GMT attachment set https://svn.boost.org/trac10/ticket/8254 https://svn.boost.org/trac10/ticket/8254 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">IntersectionBugFiles.zip</span> </li> </ul> Ticket Barend Gehrels Wed, 06 Mar 2013 18:41:01 GMT <link>https://svn.boost.org/trac10/ticket/8254#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8254#comment:1</guid> <description> <p> I reproduce this. Using MSVC the output is correct, according to the input. Using gcc (I'm using 4.4.5) I get similar output as you give. </p> <p> I will have a closer look, but I will have to debug differently because it's not occuring in MSVC. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Barend Gehrels</dc:creator> <pubDate>Sun, 17 Mar 2013 17:24:38 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/8254#comment:2 https://svn.boost.org/trac10/ticket/8254#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> Fixed. The underlying sections (used for performance) were too small in rare cases. Made them a tiny bit larger, such that intersections are not missed by this. By change this was also necessary for one of my own testcases, for multi-point buffers. </p> <p> Fixed in trunk, will be released in Boost 1.54 </p> Ticket