This is the source code documentation of bliss, produced by running doxygen in the source directory. The algorithms and data structures used in bliss are documented in the papers found at the bliss web site.


Compiling bliss in Linux should be easy, just execute


in the bliss source directory. This will produce the executable program bliss as well as the library file libbliss.a that can be linked in other programs. If you have the GNU Multiple Precision Arithmetic Library (GMP) installed in your machine, you can also use

make gmp

to enable exact computation of automorphism group sizes.

When linking the bliss library libbliss.a in other programs, remember to include the standard c++ library (and the GMP library if you compiled bliss to include it). For instance,

gcc -o test test.c -lstdc++ -lgmp -lbliss

The C++ language API

The C++ language API is the main API to bliss; all other APIs are just more or less complete variants of it. The C++ API consists basically of the public methods in the classes bliss::AbstractGraph, bliss::Graph, and bliss::Digraph. For an example of its use, see the source of the bliss executable.

The C language API

The C language API is given in the file bliss_C.h. It is currently more restricted than the C++ API so consider using the C++ API whenever possible.