carl
24.04
Computer ARithmetic Library
|
On this page, we refer to some internal documentation rules. We use doxygen to generate our documentation and code reference. The most important conventions for documentation in CArL are collected here.
Note that some of the documentation may be incomplete or rendered incorrectly, especially if you use an old version of doxygen. Here is a list of known problems:
static_assert
statements will be incomplete. A patch is pending and will hopefully make it into doxygen 1.8.9.In order to structure the reference, we use the concept of Doxygen modules. Such modules are best thought of as a hierarchical set of tags, called groups. We define those groups in /doc/markdown/codedocs/groups.dox
. Please make sure to put new files and classes in the appropriate groups.
Literature references should be provided when appropriate.
We use a bibtex database located at /doc/literature.bib
with the following conventions:
LastnameYY
, for example Ducos00
for [2] .ABCYY
where ABC
are the first letters of the authors last names. For example GCL92
for [3] .These references can be used with @cite label
, for example like this:
Descriptions may be omitted when the file contains a single class, either implementation or declaration.
Namespaces are documented in a separate file, found at '/doc/markdown/codedocs/namespaces.dox'
These method headers are written directly above the method declaration. Comments about the implementation are written above the or inside the implementation.
The see
command is used likewise as for classes.
There are some cases when documenting each method is tedious and meaningless, for example operators. In this case, we use doxygen method groups.
For member operators (for example operator+=
), this works as follows:
Documentation not directly related to the source code is written in Markdown format, and is located in /doc/markdown/
.