File: design.dox

package info (click to toggle)
geogram 1.9.6-1
  • links: PTS, VCS
  • area: contrib
  • in suites: sid
  • size: 15,436 kB
  • sloc: cpp: 143,890; ansic: 10,098; perl: 1,430; sh: 1,199; yacc: 522; lex: 182; python: 157; javascript: 149; makefile: 17
file content (36 lines) | stat: -rw-r--r-- 1,252 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

namespace GEO {

/**

\page geogram_design Design principles

Geogram is designed with the following principles in mind (some of them
borrowed from the "Futurist Programmer" manifesto and programming notes,
see http://www.graficaobscura.com/future/index.html and
http://www.graficaobscura.com/future/futnotes.html):
- Make it as simple as possible (but not simpler)
- Make it as easy to use as possible
- Make it as easy to compile as possible
- Maximize speed
- Minimize memory consumption
- Minimize number of lines of code
- Minimize number of C++ classes
- Systematically document all classes, all functions and all parameters
- Systematically document the implementation of all algorithms, with
 relevant bibliographic references when applicable
- Assertion checks everywhere
- Zero warnings with all compilers / platforms / maximum level of
 warnings activated
- Perform systematic non-regression testing and memory checking, using
 a continuous integration platform

The algorithms implemented in Geogram are specialized and tuned for most common
uses.

How does it compare to other geometry libraries ? Some elements
[here](https://github.com/BrunoLevy/geogram/wiki/FAQ#how-geogram-compares-with-other-geometric-programming-libraries-)

*/

}