4 ms·
It’s absolutely harmful. It turns computations that would be guaranteed to be exact (e.g. head-tail arithmetic primitives used in computational geometry) into “
by stephencanon 2y ago
It’s absolutely harmful. It turns computations that would be guaranteed to be exact (e.g. head-tail arithmetic primitives used in computational geometry) into “maybe it’s exact and maybe it’s not, it’s at the compiler’s whim” and suddenly your tests for triangle orientation do not work correctly and your mesh-generation produces inadmissible meshes, so your PDE solver fails.
- FooBarBizBazz 2y agoThank you, I found this hint very interesting. Is there a source you wouldn't mind pointing me to for those "head, tail" methods? I am assuming it relates to the kinds of "variable precision floating point with bounds" methods used in CGAL and the like; Googling turns up this survey paper: https://inria.hal.science/inria-00344355/PDF/p.pdf https://inria.hal.science/inria-00344355/PDF/p.pdf Any additional references welcome!
- stephencanon 2y agoNote here is a good starting point for the issue itself: http://www.cs.cmu.edu/~quake/triangle.exact.html http://www.cs.cmu.edu/~quake/triangle.exact.html References for the actual methods used in Triangle: http://www.cs.cmu.edu/~quake/robust.html http://www.cs.cmu.edu/~quake/robust.html