title: CGAL::Voronoi_diagram_2 rounding to integers incorrectly
body: <p>I am attempting to create a Voronoi diagram from line segments with the following code.</p>
  <pre><code>#include &lt;iostream&gt;
  #include &lt;CGAL/Exact_predicates_inexact_constructions_kernel.h&gt;
  #include &lt;CGAL/Segment_Delaunay_graph_Linf_filtered_traits_2.h&gt;
  #include &lt;CGAL/Segment_Delaunay_graph_Linf_2.h&gt;
  #include &lt;CGAL/Voronoi_diagram_2.h&gt;
  #include &lt;CGAL/Segment_Delaunay_graph_adaptation_traits_2.h&gt;
  #include &lt;CGAL/Segment_Delaunay_graph_adaptation_policies_2.h&gt;
  
  using Traits=CGAL::Segment_Delaunay_graph_Linf_filtered_traits_2&lt;CGAL::Exact_predicates_inexact_constructions_kernel&gt;;
  using DelaunayGraph=CGAL::Segment_Delaunay_graph_Linf_2&lt;Traits&gt;;
  using AdaptationTraits=CGAL::Segment_Delaunay_graph_adaptation_traits_2&lt;DelaunayGraph&gt;;
  using AdaptationPolicy=CGAL::Segment_Delaunay_graph_degeneracy_removal_policy_2&lt;DelaunayGraph&gt;;
  using VoronoiDiagram=CGAL::Voronoi_diagram_2&lt;DelaunayGraph,AdaptationTraits,AdaptationPolicy&gt;;
  using VoronoiSite=AdaptationTraits::Site_2;
  using VoronoiPoint=VoronoiSite::Point_2;
  
  int main(int argc, char** argv)
  {
    VoronoiDiagram vd;
  
    VoronoiPoint pt0(0.0, 0.0), pt1(5.0, 0.0), pt2(2.0, 2.0), pt3(4.0, 4.0);
  
    vd.insert(VoronoiSite::construct_site_2(pt0, pt1));
    vd.insert(VoronoiSite::construct_site_2(pt2, pt3));
  
    int c = 0;
    for (auto it = vd.edges_begin(); it != vd.edges_end(); it++)
    {
      std::cout &lt;&lt; &quot;Edge #&quot; &lt;&lt; c++ &lt;&lt; std::endl;
      if (it-&gt;has_source())
          std::cout &lt;&lt; &quot;\t&quot; &lt;&lt; it-&gt;source()-&gt;point();
      else
          std::cout &lt;&lt; &quot;\tInfinity&quot;;
      std::cout &lt;&lt; std::endl;
      if (it-&gt;has_target())
          std::cout &lt;&lt; &quot;\t&quot; &lt;&lt; it-&gt;target()-&gt;point();
      else
          std::cout &lt;&lt; &quot;\tInfinity&quot;;
      std::cout &lt;&lt; std::endl;
    }
    return 0;
  }
  </code></pre>
  <p>The output starts with</p>
  <pre><code>Edge #0
      0 2
      Infinity
  Edge #1
      6 2
      Infinity
  Edge #2
      5 1.66667
      Infinity
  ...
  </code></pre>
  <p><a href="https://i.stack.imgur.com/ZwZs7.png" rel="nofollow noreferrer">This is my custom visualization of what it looks like.</a></p>
  <p>I expect Edge #1 to be the edge that is equidistant to (4, 4) and (5, 0), however the point (6, 2) is NOT equidistant to those two points. I expect that point to be roughly (5.7, 2.3).</p>
  <p>Based on edge 2, I know that ALL the numbers are not integers, but it seems like some of them are being rounded or something. To be clear, I very likely lack some very basic CGAL/Kernel knowledge. I tried swapping in the <code>Cartesian&lt;double&gt;</code> kernel, but that did not change the result.</p>