M4RIE  0.20111004
 All Data Structures Files Functions Variables Typedefs Macros Groups Pages
M4RIE Documentation

M4RIE is a library to do fast compations with dense matrices over \(\mathbb{F}_{2^e}\) for small \(e\). M4RIE is available under the GPLv2+.

The two fundamental data types of this library are mzed_t and mzd_slice_t. For big matrices, i.e., those which do not fit into L2 cache, it is recommended to use mzd_slice_t and for smaller matrices mzed_t will be slightly faster and use less memory.

Function names follow the pattern

[_]_[type]_[what]_[algorithm]

Function names beginning with an underscore perform less consistency checks (matching dimensions, matching fields) than those without, e.g., _mzed_ple() is called by mzed_ple() after some checks were performed.

For both data types almost all functions are the same, e.g., there is a function mzd_slice_add() and there also should be a function mzed_add() with the same signature except for the matrix type.

Functions which do not specify an algorithm choose the best available algorithm (based on some heuristic), e.g., mzed_ple() might call mzed_ple_newton_john().