The CGAL library on their main page says that they use something called Exact Computation Paradigm. Brief explanation says that it works this way that two disjoint lines very close to each other will never have their intersection under Exact Computation Paradigm, since under the Fixed Point Computation Paradigm (method used by most programmers) they can accidentally met each other in a point closer than infinity. We know this - when we check if some floating-point value is zero we would use abs(x)<1e-8
rather than x==0.
.
Which bothers me the most, how does one uses this paradigm in practice? Is it only usage of multi-precision libraries like MPIR or Boost::Multiprecision, or is it something far beyond that? Sadly Wikipedia doesn't have any article about that yet, CGAL is one of a few examples, and articles on that paradigm have "only" 40 pages of length.