Results 1 -
6 of
6
On the design of CGAL a computational geometry algorithms library
- Softw. – Pract. Exp
, 1998
"... CGAL is a Computational Geometry Algorithms Library written in C++, which is being developed by research groups in Europe and Israel. The goal is to make the large body of geometric algorithms developed in the field of computational geometry available for industrial application. We discuss the major ..."
Abstract
-
Cited by 82 (15 self)
- Add to MetaCart
CGAL is a Computational Geometry Algorithms Library written in C++, which is being developed by research groups in Europe and Israel. The goal is to make the large body of geometric algorithms developed in the field of computational geometry available for industrial application. We discuss the major design goals for CGAL, which are correctness, flexibility, ease-of-use, efficiency, and robustness, and present our approach to reach these goals. Generic programming using templates in C++ plays a central role in the architecture of CGAL. We give a short introduction to generic programming in C++, compare it to the object-oriented programming paradigm, and present examples where both paradigms are used effectively in CGAL. Moreover, we give an overview of the current structure of the CGAL-library and consider software engineering aspects in the CGAL-project. Copyright c ○ 1999 John Wiley & Sons, Ltd. KEY WORDS: computational geometry; software library; C++; generic programming;
Science, Computational Science and Computer Science: At a Crossroads
- Comm. ACM
, 1993
"... We describe computational science as an interdisciplinary approach to doing science on computers. Our purpose is to introduce computational science as a legitimate interest of computer scientists. We present a foundation for computational science based on the need to incorporate computation at the s ..."
Abstract
-
Cited by 24 (2 self)
- Add to MetaCart
We describe computational science as an interdisciplinary approach to doing science on computers. Our purpose is to introduce computational science as a legitimate interest of computer scientists. We present a foundation for computational science based on the need to incorporate computation at the scientific level; i.e., computational aspects must be considered when a model is formulated. We next present some obstacles to computer scientists' participation in computational science, including a cultural bias in computer science that inhibits participation. Finally, we look at some areas of conventional computer science and indicate areas of mutual interest between computational science and computer science. Keywords: education, computational science. 1 What is Computational Science ? In December, 1991, the U. S. Congress passed the High Performance Computing and Communications Act, commonly known as the HPCC . This act focuses on several aspects of computing technology, but two have...
Requirements for an Elucidative Programming Environment
, 2000
"... The main goal with this paper is to motivate and coin a variation of literate programming whichwe call elucidative programming. Elucidative programming is oriented towards program explanation with the purpose of throwing lights on important and complex program relationships. Since proposed byKnuth i ..."
Abstract
-
Cited by 20 (3 self)
- Add to MetaCart
The main goal with this paper is to motivate and coin a variation of literate programming whichwe call elucidative programming. Elucidative programming is oriented towards program explanation with the purpose of throwing lights on important and complex program relationships. Since proposed byKnuth in 1984, literate programming has been the most viable approach to a radical improvementofinternal program documentation. Unfortunately, most programmers #nd the ideas of literate programming, as supported by WEB-like tools, for impractical, academic, and far-fetched in relation to present-day programming practices. With elucidative programming, we intend to focus on the best ideas of literate programming. We disregards the aspects of program publication as technical literature, and we provide for mechanisms with which documentation can be added to a program without a#ecting or disturbing the source program. Our ideas about elucidative programming are presented as a number of requirements, an...
FunnelWeb User's Manual
- URL HTTP://WWW.ROSS.NET/ FUNNELWEB/INTRODUCTION.HTML. PART OF THE FUNNELWEB DISTRIBUTION
, 1992
"... ..."
FunnelWeb User's Manual
- URL http://www.ross.net/ funnelweb/introduction.html. Part of the FunnelWeb distribution
, 1992
"... Contents Preface 9 Acknowledgements 11 Presentation Notes 13 1 A Tutorial Introduction 15 1.1 What is Literate Programming? ............................. 15 1.2 What is FunnelWeb? ................................... 18 1.3 The Name FunnelWeb .................................. 19 1.4 A FunnelWeb Tut ..."
Abstract
- Add to MetaCart
Contents Preface 9 Acknowledgements 11 Presentation Notes 13 1 A Tutorial Introduction 15 1.1 What is Literate Programming? ............................. 15 1.2 What is FunnelWeb? ................................... 18 1.3 The Name FunnelWeb .................................. 19 1.4 A FunnelWeb Tutorial .................................. 19 1.5 A Hello World Document ................................ 20 1.6 Macro Facilities ...................................... 22 1.6.1 Simple Macros .................................. 22 1.6.2 Number of Times Called ............................. 23 1.6.3 Indentation .................................... 25 1.6.4 Additive Macros ................................. 26 1.6.5 Parameterized Macros .............................. 28 1.6.6 Macro Expansion ......................
Implementing a Rigorous ODE Solver through Literate Programming
"... Abstract Interval numerical methods produce results that can have the power of a mathematical proof. Although there is a substantial amount of theoretical work on these methods, little has been done to ensure that an implementation of an interval method can be readily verified. However, when claimin ..."
Abstract
- Add to MetaCart
Abstract Interval numerical methods produce results that can have the power of a mathematical proof. Although there is a substantial amount of theoretical work on these methods, little has been done to ensure that an implementation of an interval method can be readily verified. However, when claiming rigorous numerical results, it is crucial to ensure that there are no errors in their computation. Furthermore, when such a method is used in a computer assisted proof, it would be desirable to have its implementation published in a form that is convenient for verification by human experts. We have applied Literate Programming (LP) to produce vnode-lp, a C++ solver for computing rigorous bounds on the solution of an initial-value problem (IVP) for an ordinary differential equation (ODE). We have found LP well suited for ensuring that an implementation of a numerical algorithm is a correct translation of its underlying theory into a programming language: we can split the theory into small pieces, translate each of them, and keep mathematical expressions and the corresponding code close together in a unified document. Then it can be reviewed and checked for correctness by human experts, similarly to how a scientific work is examined in a peer-review process. 1

