他们main page上的CGAL图书馆说他们使用了一种名为Exact Computation Paradigm的东西。简单的解释是,它的工作原理是两个非常接近的不相交的线在Exact Computation范例下永远不会有它们的交集,因为在固定点计算范例(大多数程序员使用的方法)下,它们可能在一个点上意外地相遇比无限更接近。我们知道这一点 - 当我们检查某个浮点值是否为零时,我们会使用abs(x)<1e-8
而不是x==0.
。
最让我烦恼的是,在实践中如何运用这种范式?是仅使用MPIR或Boost :: Multiprecision等多精度库,还是远远超出它?可悲的是,维基百科还没有任何关于这方面的文章,CGAL是少数几个例子之一,articles在这个范例上只有“40页”长度。