Nothing Special   »   [go: up one dir, main page]

skip to main content
article

Automatic generation of staged geometric predicates

Published: 01 October 2001 Publication History

Abstract

Algorithms in Computational Geometry and Computer Aided Design are often developed for the Real RAM model of computation, which assumes exactness of all the input arguments and operations. In practice, however, the exactness imposes tremendous limitations on the algorithms --- even the basic operations become uncomputable, or prohibitively slow. When the computations of interest are limited to determining the sign of polynomial expressions over floating point numbers, faster approaches are available. One can evaluate the polynomial in floating-point first, together with some estimate of the rounding error, and fall back to exact arithmetic only if this error is too big to determine the sign reliably. A particularly efficient variation on this approach has been used by Shewchuk in his robust implementations of Orient and InSphere geometric predicates. We extend Shewchuk's method to arbitrary polynomial expressions. The expressions are given as programs in a suitable source language featuring basic arithmetic operations of addition, subtraction, multiplication and squaring, which are to be perceived by the programmer as exact. The source language also allows for anonymous functions, and thus enables the common functional programming technique of staging. The method is presented formally through several judgments that govern the compilation of the source expression into target code, which is then easily transformed into SML or, in case of single-stage expressions, into C.

References

[1]
M. 0. Benouamer, P. Jailon, D. Michelucci, and J. M. Moreau. A lazy exact arithmetic. In E. E. Swartzlander, NI. J. Irwin, and J. Jullien, editors, Proceedings of the 11th IEEE Symposium on Computer Arithmetic, pages 242-249, Windsor, Canada, June 1993. IEEE Computer Society Press, Los Alamitos, CA.
[2]
S. Fortune and C. J. V. Wyk. Efficient exact arithmetic for computational geometry. In Ninth Annual Symposium on Computational Geometry, pages 163-172. Association for Computing Machinery, May 1993.
[3]
S. Funke and K. Mehlhorn. LOOK - a lazy object-oriented kernel for geometric computation. In Proceedings of the 16th Symposium on Computational Geometry, pages 156-165. ACM. June 2000.
[4]
IEEE. IEEE standard for binary floating-point arithmetic. ACM SIGPLAN Notices, 22(2):925, Feb. 1985.
[5]
K. Mehlhorn and S. Nher. LEDA: A Platform for Combznatonal and Geometric Computing. Cambridge University Press, 1999.
[6]
D. Michelucci and J. M. Moreau, Lazy arithmetic. IEEE Transactions on Computers, 46(9), September 1997.
[7]
A. Nanevski, G. Blelloch, and R. Harper. Automatic generation of staged geometric predicates. Technical Report CMU-CS-01-141, School of Computer Science, Carnegie Mellon University, June 2001.
[8]
D. M. Priest, On Properties of Floating Point Arithmetics: Numerical Stability and the Cost of Accurate Computations. PhD thesis, University of California at Berkeley, Berkeley, California, November 1992.
[9]
S. A. Seshia, C. E. Blelloch, and R. W. Harper. A performance comparison of interval arithmetic and error analysis in geometric predicates. Technical Report CMU-CS-00-172, School of Computer Science, Carnegie Mellon University, December 2000.
[10]
J. R. Shewchuk. http://www. cs.cmu.edu/quake/triangle.btml.
[11]
J. R. Shewchuk. Delaunay Refinement Mesh Generation. PhD thesis, Carnegie Mellon University, 1997.

Cited By

View all
  • (2022)Synthesis of Rigorous Floating-Point PredicatesModel Checking Software10.1007/978-3-031-15077-7_3(44-60)Online publication date: 23-Aug-2022
  • (2010)Automating mathematical program transformationsProceedings of the 12th international conference on Practical Aspects of Declarative Languages10.1007/978-3-642-11503-5_12(134-148)Online publication date: 18-Jan-2010
  • (2008)SVR: Practical Engineering of a Fast 3D Meshing Algorithm*Proceedings of the 16th International Meshing Roundtable10.1007/978-3-540-75103-8_3(45-62)Online publication date: 2008
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 36, Issue 10
October 2001
276 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/507669
Issue’s Table of Contents
  • cover image ACM Conferences
    ICFP '01: Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
    October 2001
    277 pages
    ISBN:1581134150
    DOI:10.1145/507635
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 2001
Published in SIGPLAN Volume 36, Issue 10

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Synthesis of Rigorous Floating-Point PredicatesModel Checking Software10.1007/978-3-031-15077-7_3(44-60)Online publication date: 23-Aug-2022
  • (2010)Automating mathematical program transformationsProceedings of the 12th international conference on Practical Aspects of Declarative Languages10.1007/978-3-642-11503-5_12(134-148)Online publication date: 18-Jan-2010
  • (2008)SVR: Practical Engineering of a Fast 3D Meshing Algorithm*Proceedings of the 16th International Meshing Roundtable10.1007/978-3-540-75103-8_3(45-62)Online publication date: 2008
  • (2007)Formally certified floating-point filters for homogeneous geometric predicatesRAIRO - Theoretical Informatics and Applications10.1051/ita:200700541:1(57-69)Online publication date: 24-Apr-2007
  • (2005)Recent progress in exact geometric computationThe Journal of Logic and Algebraic Programming10.1016/j.jlap.2004.07.00664:1(85-111)Online publication date: Jul-2005
  • (2003)Automatic Generation of Staged Geometric PredicatesHigher-Order and Symbolic Computation10.1023/A:102587692052216:4(379-400)Online publication date: 1-Dec-2003
  • (2001)Automatic generation of staged geometric predicatesACM SIGPLAN Notices10.1145/507669.50766236:10(217-228)Online publication date: 1-Oct-2001

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media