Team Geometrica

Overall Objectives
Scientific Foundations
Application Domains
New Results
Contracts and Grants with Industry
Other Grants and Activities

Section: New Results

Keywords : cgal, standardization, arithmetic filters, automatic code generator.



A new major release of cgal , version 3.4, will be available at the beginning of 2009. This release contains the following new package implemented by Geometrica :

Also, already existing packages have been enriched:

It also contains new packages implemented by our cgal partners and improvements to some existing packages, the detailed list of which can be found on the cgal web site. Major general enhancements include the switch to CMake as the building and installing tool instead of our own scripts, and a new portable graphical framework based on Qt4's GraphicsView.

Two courses devoted to the use of cgal for meshing and for computer graphics have been organized. Pierre Alliez, Efi Fogel, and Andreas Fabri organized a course at SIGGRAPH which gathered 150 attendees with a very positive feedback as the reviewers recommended this course to be offered again [32] . Mariette Yvinec presented a course at Meshing Roundtable [22] on Delaunay refinement and filtering for mesh generation.

In addition, Sylvain Pion and Andreas Fabri presented cgal at Google, Mountain View, CA, in the Google Tech Talks series, a video of which is available at .

FPG: A code generator for fast and certified geometric predicates

Participants : Andreas Meyer, Sylvain Pion.

We present  [34] a general purpose code analyzer and generator for filtered predicates, which are critical for geometric algorithms. While there already exist such code generators, our contribution is to generate almost static filters , a type of filter which could not be generated previously. The generated and safe filtered predicates are almost as fast as their inexact floating point counterparts, in most cases. The tool is also able to parse code closer to the original cgal C++ code of the predicates, and is able to handle some loops and varying degrees of the input variables.

Standardization of interval arithmetic

Participant : Sylvain Pion.

In collaboration with Guillaume Melquiond ( Proval project-team). This work is linked to the subject of the internship of Jihun Yu.

Geometric computations are very sensitive to numerical roundoff errors. There are efficient ways to solve this problem like static filters, but there is also a more general approach using a well-known tool which is interval arithmetic. Since the latter solution is more general and easier to use from a programming point of view, we are pushing for its standardization in the hope to get better support from hardware and compilers in the long term.

In the past years, we have worked on a proposal for standardization of interval arithmetic in C++. This year, a new standardization effort has started as IEEE-1788 to provide a language-independant standard for interval arithmetic, similar in spirit to the IEEE-754 standard for floating-point. This standard would serve as a base for implementations in various languages such as Fortran, Matlab, C++...

In order to get more insight at what could best be done to improve the situation for interval arithmetic support, we have also worked on an implementation of our proposal based on Boost.Interval, using MPFR and CRLIBM as basic building blocks.

This year, we have also submitted a proposal for addition to the C++0x language to support basic floating-point operations with directed rounding-mode. We think that this set of operations is as fundamental as the basic addition of floating-point variables as is done now, and that they deserve the same special compiler support. Compiler knowledge of the rounding modes in particular is key to efficient support of interval arithmetic. Our proposal is described in  [51] .


Logo Inria