Contributing#
Documenting C Code#
semicolon-lapack uses Doxygen-style comments that are processed by Breathe into Sphinx documentation.
Parameter Direction#
Always specify parameter direction:
@param[in]— Input only, not modified@param[out]— Output only, input value ignored@param[in,out]— Both input and output
Building Documentation#
The documentation pipeline uses Doxygen (C) and Sphinx (Python), connected by the Breathe extension. You will need:
Doxygen for parsing C source files
Python 3 with the following packages:
Sphinx >= 7.2
Breathe >= 4.35 (Doxygen-to-Sphinx bridge)
pydata-sphinx-theme >= 0.15
sphinx-copybutton >= 0.5
These are also listed in doc/requirements.txt for convenience:
pip install -r doc/requirements.txt
(or conda, uv or whichever tool you use)
Then build and serve locally:
cd doc
make html
cd build/html && python -m http.server 8000
The output will be in doc/build/html/ and served at
http://localhost:8000.
Note
If you prefer Doxygen’s native HTML output (no judgement), you can run
doxygen doc/source/Doxyfile directly and skip the Python toolchain
entirely. We specifically avoid the caller diagrams and source browser
that Doxygen generates. There is no technical reason, we just don’t
like them.
Comment Style#
Use Javadoc-style comments with
@param: