## Robust Adaptive Floating-Point Geometric Predicates (1996)

Venue: | in Proc. 12th Annu. ACM Sympos. Comput. Geom |

Citations: | 49 - 1 self |

### BibTeX

@INPROCEEDINGS{Shewchuk96robustadaptive,

author = {Jonathan Richard Shewchuk},

title = {Robust Adaptive Floating-Point Geometric Predicates},

booktitle = {in Proc. 12th Annu. ACM Sympos. Comput. Geom},

year = {1996},

pages = {141--150}

}

### Years of Citing Articles

### OpenURL

### Abstract

Fast C implementations of four geometric predicates, the 2D and 3D orientation and incircle tests, are publicly available. Their inputs are ordinary single or double precision floating-point numbers. They owe their speed to two features. First, they employ new fast algorithms for arbitrary precision arithmetic that have a strong advantage over other software techniques in computations that manipulate values of extended but small precision. Second, they are adaptive; their running time depends on the degree of uncertainty of the result, and is usually small. These algorithms work on computers whose floating-point arithmetic uses radix two and exact rounding, including machines that comply with the IEEE 754 floating-point standard. Timings of the predicates, in isolation and embedded in 2D and 3D Delaunay triangulation programs, verify their effectiveness. 1 Introduction Algorithms that make decisions based on geometric tests, such as determining which side of a line a point falls on, ...

### Citations

481 | Primitives for the Manipulation of General Subdivisions and the Computation of Voronoi Diagrams
- Guibas, Stolfi
- 1985
(Show Context)
Citation Context ...portant predicate used in many (perhaps most) geometric algorithms. The incircle test determines whether a point lies inside, outside, or on a circle or sphere, and is used for Delaunay triangulation =-=[8]-=-. Inexact versions of these tests are vulnerable to roundoff error, and the wrong answers they produce can cause geometric algorithms to hang, crash, or produce incorrect output. Although exact arithm... |

439 | Triangle: engineering a 2D quality mesh generator and Delaunay triangulator
- Shewchuk
- 1996
(Show Context)
Citation Context ...ed. Fortunately, C is usually accurate enough. 5.4 Triangulation To evaluate the effectiveness of the adaptive tests in applications, I tested them in two of my Delaunay triangulation codes. Triangle =-=[14]-=- is a 2D Delaunay triangulator and mesh generator, publicly available from Netlib, that uses a divideand -conquer algorithm [11, 8]. Pyramid is a 3D Delaunay tetrahedralizer that uses an incremental a... |

376 | What every computer scientist should know about floating point arithmetic
- Goldberg
- 1991
(Show Context)
Citation Context ...to be an integer in the range [\Gamma1; 1]. (Fortunately, many applications have inputs that fall within a circumscribed exponent range and will not overflow or underflow.) See the survey by Goldberg =-=[7]-=- for a detailed explanation of floating-point storage formats, particularly the IEEE 754 standard. Most arbitrary precision libraries store numbers in a multiple-digit format, consisting of a sequence... |

268 |
The Art of Computer Programming: Seminumerical Algorithms, volume 2
- Knuth
- 1998
(Show Context)
Citation Context ...sizes of a and b are unknown, a comparison is required to order the addends before invoking FAST-TWO-SUM. In practice, it is faster on most processors to use the following algorithm. Theorem 2 (Knuth =-=[10]-=-) Let a and b be p-bit floating-point numbers, where ps3. Then the following algorithm will produce a nonoverlapping expansion x+y such that a+ b = x + y. \Xi TWO-SUM(a; b) 1 x ( a \Phi b 2 b virtual ... |

202 |
Computing the n-dimensional Delaunay tesselation with application to Voronoi polytopes
- Watson
- 1981
(Show Context)
Citation Context ...Delaunay triangulator and mesh generator, publicly available from Netlib, that uses a divideand -conquer algorithm [11, 8]. Pyramid is a 3D Delaunay tetrahedralizer that uses an incremental algorithm =-=[15]-=-. For both 2D and 3D, three types of inputs were tested: uniform random points, points lying (approximately) on the boundary of a circle or sphere, and a square or cubic grid of lattice points, tilted... |

131 |
Two algorithms for constructing a delaunay triangulation
- Lee, B
(Show Context)
Citation Context ...ions, I tested them in two of my Delaunay triangulation codes. Triangle [14] is a 2D Delaunay triangulator and mesh generator, publicly available from Netlib, that uses a divideand -conquer algorithm =-=[11, 8]-=-. Pyramid is a 3D Delaunay tetrahedralizer that uses an incremental algorithm [15]. For both 2D and 3D, three types of inputs were tested: uniform random points, points lying (approximately) on the bo... |

117 |
A floating-point technique for extending the available precision
- Dekker
- 1971
(Show Context)
Citation Context ...n in all the algorithms for performing arithmetic with expansions is the addition of two p-bit values to form a nonoverlapping expansion (of length two). Two such algorithms follow. Theorem 1 (Dekker =-=[4]-=-) Let a and b be p-bit floating-point numbers such that jajsjbj. Then the following algorithm will produce a nonoverlapping expansion x + y such that a + b = x + y, where x is an approximation to a + ... |

97 | Efficient exact arithmetic for computational geometry
- Fortune, Wyk
- 1993
(Show Context)
Citation Context ...mputation. The orientation and incircle tests evaluate the sign of a matrix determinant. It is significant that only the sign, and not the magnitude, of the determinant is needed. Fortune and Van Wyk =-=[5]-=- take advantage of this fact by using a floating-point filter: the determinant is first evaluated approximately, and only if forward error analysis indicates that the sign of the approximate result ca... |

74 | Efficient Delaunay triangulation using rational arithmetic
- Karasick, Lieber, et al.
- 1991
(Show Context)
Citation Context ...more, the expression compiler garners another speed improvement by installing floating-point filters wherever appropriate, calculating static error bounds automatically. Karasick, Lieber, and Nackman =-=[9]-=- report their experiences optimizing a method for determinant evaluation using rational inputs. Their approach reduces the bit complexity 1 The method presented in Clarkson's paper does not work corre... |

70 | Algorithms for arbitrary precision floating point arithmetic
- Priest
- 1991
(Show Context)
Citation Context ...dvantage in computations that process values of extended but small precision (several hundred or thousand bits), and seems ideal for computational geometry. The method was largely developed by Priest =-=[12, 13]-=-, who designed similar algorithms that run on a wide variety of floating-point architectures, with different radices and rounding behavior. I have made significant speed improvements by relaxing Pries... |

55 | Safe and effective determinant evaluation
- Clarkson
- 1992
(Show Context)
Citation Context ...ed in Section 5. 2 Related Work There are several exact arithmetic schemes designed specifically for computational geometry; most are methods of exactly evaluating the sign of a determinant. Clarkson =-=[3]-=- proposes an algorithm for using floating-point arithmetic to evaluate the sign of the determinant of a small matrix of integers. A variant of the modified Gram-Schmidt procedure is used to improve th... |

50 | A Portable High Performance Multiprecision Package
- Bailey
(Show Context)
Citation Context ...git format, consisting of a sequence of digits (usually of large radix, like 2 32 ) coupled with a single exponent. A freely available example of the multiple-digit approach is Bailey's MPFUN package =-=[2]-=-, a sophisticated portable multiprecision library that uses digits of machine-dependent radix (usually 2 24 ) stored as single precision floating-point values. An alternative is the multiple-term form... |

41 | Evaluating signs of determinants using single-precision arithmetic
- Avnaim, Boissonnat, et al.
- 1997
(Show Context)
Citation Context ...it integers. Clarkson's algorithm is naturally adaptive; its running time is small for matrices whose determinants are not near zero 1 . Recently, Avnaim, Boissonnat, Devillers, Preparata, and Yvinec =-=[1]-=- proposed an algorithm to evaluate signs of determinants of 2 \Theta 2 and 3 \Theta 3 matrices of p-bit integers using only p and (p + 1)-bit arithmetic, respectively. Surprisingly, this is sufficient... |