A core library for robust numeric and geometric computation

Nonrobustness is a well-known problem in many areas of computational science. Until now, robustness techniques and the construction of robust algorithms have been the province of experts in this field of research. We describe a new C/C++ library (CORE) for robust numeric and geometric computation based on the principles of Exact Geometric Computation (EGC). Through our library, for the first time, any programmer can write robust and efficient algorithms. The Core Library is based on a novel numerical core that is powerful enough to support EGC for algebraic problems. This is coupled with a simple delivery mechanism which transparently extends conventional C/C++ programs into robust codes. We are currently addressing efficiency issues in our library: (a) at the compiler and language level, (b) at the level of incorporating EGC techniques, as well as the (c) the system integration of both (a) and (b). Pilot experimental results are described. The basic library is availableathttp://cs.nyu.edu/exact/core/andthe C++-to-C compiler is under development.

[1]  Françoise Chaitin-Chatelin,et al.  Lectures on finite precision computations , 1996, Software, environments, tools.

[2]  Chee-Keng Yap,et al.  Towards Exact Geometric Computation , 1997, Comput. Geom..

[3]  Kurt Mehlhorn,et al.  Efficient exact geometric computation made easy , 1999, SCG '99.

[4]  Chee-Keng Yap,et al.  Precision-Sensitive Euclidean Shortest Path in 3-Space , 2000, SIAM J. Comput..

[5]  David Ungar,et al.  The design and evaluation of a high performance Smalltalk system , 1987 .

[6]  Stefan Funke,et al.  Exact geometric predicates using cascaded computation , 1998, SCG '98.

[7]  Jiaxun Yu Exact arithmetic solid modeling , 1992 .

[8]  Kurt Mehlhorn,et al.  Exact geometric computation made easy , 1999 .

[9]  Chee Yap,et al.  A new number core for robust numerical and geometric libraries (invited talk) , 1998 .

[10]  Andrew A. Chien,et al.  Precise concrete type inference for object-oriented languages , 1994, OOPSLA 1994.

[11]  J. Schwartz,et al.  Precise Implementation of Cad Primitives using Rational Parameterizations of Standard Surfaces , 1984 .

[12]  Dirk Grunwald,et al.  Customalloc: Efficient synthesized memory allocators , 1993, Softw. Pract. Exp..

[13]  Jonathan Richard Shewchuk,et al.  Robust adaptive floating-point geometric predicates , 1996, SCG '96.

[14]  Lee R. Nackman,et al.  Efficient Delaunay triangulation using rational arithmetic , 1991, TOGS.

[15]  Christopher J. Van Wyk,et al.  Efficient exact arithmetic for computational geometry , 1993, SCG '93.

[16]  Kurt Mehlhorn,et al.  Exact geometric computation in LEDA , 1995, SCG '95.

[17]  Saman Amarasinghe,et al.  The suif compiler for scalable parallel machines , 1995 .

[18]  Christopher J. Van Wyk,et al.  Static analysis yields efficient exact integer arithmetic for computational geometry , 1996, TOGS.

[19]  Giuseppe Liotta,et al.  Robust Proximity Queries: An Illustration of Degree-Driven Algorithm Design , 1998, SIAM J. Comput..

[20]  Kurt Mehlhorn,et al.  LEDA: a platform for combinatorial and geometric computing , 1997, CACM.

[21]  Chee-Keng Yap,et al.  Precision-sensitive Euclidean shortest path in 3-space (extended abstract) , 1995, SCG '95.

[22]  David Grove,et al.  Vortex: an optimizing compiler for object-oriented languages , 1996, OOPSLA '96.

[23]  Andrew A. Chien,et al.  Obtaining sequential efficiency for concurrent object-oriented languages , 1995, POPL '95.

[24]  Franco P. Preparata,et al.  A Probabilistic Analysis of the Power of Arithmetic Filters , 1998, Discret. Comput. Geom..

[25]  Mark H. Overmars Designing the Computational Geometry Algorithms Library CGAL , 1996, WACG.

[26]  Chee Yap,et al.  The exact computation paradigm , 1995 .

[27]  Victor Y. Pan,et al.  Computing exact geometric predicates using modular arithmetic with single precision , 1997, SCG '97.

[28]  Craig Chambers,et al.  Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches , 1991, ECOOP.

[29]  Sylvain Pion,et al.  Interval arithmetic yields efficient dynamic filters for computational geometry , 1998, SCG '98.

[30]  Kouji Ouchi Real/Expr: Implementation of an Exact Computation Package , 1997 .

[31]  Andrew A. Chien,et al.  An evaluation of automatic object inline allocation techniques , 1998, OOPSLA '98.

[32]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .