FeaturesOur library is designed with emphasis on the following properties:
Ease of Use:
It is intuitive, as users can achieve numerically robust algorithms without
#define Level <level_number>
Replace <level_number> by the integers 1,2,3 or 4. These corresponds to the choice of accuracy levels.
This preamble should appear after all the standard header files such as <iostream.h>, but before your code. Now compile and execute your program as usual.
Again, the control of accuracy is a central theme is EGC.
We promote the idea of "write once, run at any numerical accuracy''. Performance portability across platforms is aimed at numerical accuracy as well as speed. We support a variety of platforms including windows and *nix-based systems with Mac OS X compatibility on the way.
By portability, we mean "performance portability''. For robust algorithms, the primary objective is numerical performance. This is achieved through our Numberical Accuracy API. We are also interested in compiler optimizations that produce highly efficient machine code for a range of platforms. We eventually plan to exploit a state-of-art compiler infrastructure such as TRIMARAN in collaboration with Professor Palem's group.
We plan bring our library directly to user communities by its incorporation into widely-used application systems. Work is in progress with scientists from the CGAL project to incorporate the CORE library with their work.