Boost C++ Libraries: Ticket #10904: Assertion failure in cart_intersect->side->ratio for very small segments. https://svn.boost.org/trac10/ticket/10904 <p> When the intersection points are calculated for very small segments the segments may be considered as collinear. If then one of the segment is vertical or horizontal dx or dy is 0. Since the coordinates are very small the greater sum of coordinates' differences may correspond to the Dimension for which dx or dy is 0. Then relate_collinear() may be called for invalid Dimension which at the end causes the creation of ratios containing denumerator = 0 and assert failure in ratio less compare. This can be observed e.g. for: </p> <pre class="wiki">"LINESTRING(5.6956521739130430148634331999347 -0.60869565217391330413931882503675,5.5 -0.50000000000000066613381477509392)" "LINESTRING(5.5 -0.50000000000000066613381477509392,5.5 -0.5) </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/10904 Trac 1.4.3 awulkiew Mon, 29 Dec 2014 21:13:47 GMT status, milestone changed; resolution set https://svn.boost.org/trac10/ticket/10904#comment:1 https://svn.boost.org/trac10/ticket/10904#comment:1 <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> <li><strong>milestone</strong> <span class="trac-field-old">To Be Determined</span> → <span class="trac-field-new">Boost 1.58.0</span> </li> </ul> Ticket