The source code is organized into several subdirectories.
All include files are in the include directory.
The arith directory contains
code for implementing finite fields of any characteristic
greater than 3: modular arithmetic, polynomial rings, and
finally polynomial rings modulo a polynomial. In future,
finite fields of low characteristic may be implemented.
The ecc directory contains
code for arbitrary precision complex numbers, curve
generation (which depends on the former), curve group
operations and pairings. A separate source file is dedicated
to each type of pairing, containing optimizations tailored
for its pairing.
The misc directory contains
code for dynamic arrays, symbol tables, parsing,
benchmarking, debugging and so on.
The test directory contains
test programs. They were used to generate the files in the
param directory.