M4RI  20200125
m4ri.h
Go to the documentation of this file.
1 
8 /******************************************************************************
9 *
10 * M4RI: Linear Algebra over GF(2)
11 *
12 * Copyright (C) 2007 Gregory Bard <gregory.bard@ieee.org>
13 * Copyright (C) 2007,2008 Martin Albrecht <malb@informatik.uni-bremen.de>
14 *
15 * Distributed under the terms of the GNU General Public License (GPL)
16 * version 2 or higher.
17 *
18 * This code is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 * General Public License for more details.
22 *
23 * The full text of the GPL is available at:
24 *
25 * http://www.gnu.org/licenses/
26 ******************************************************************************/
27 
28 #ifndef M4RI_M4RI_H
29 #define M4RI_M4RI_H
30 
42 #include <stdio.h>
43 #include <stdlib.h>
44 #include <math.h>
45 
46 #if defined(__M4RI_HAVE_SSE2) && __M4RI_HAVE_SSE2
47 # if !defined(__SSE2__) || !__SSE2__
48 # error "Your current compiler and / or CFLAGS setting doesn't allow SSE2 code. Please change that or these to the setting(s) you used when compiling M4RI."
49 # endif
50 #endif
51 
52 #if defined(__cplusplus) && !defined (_MSC_VER)
53 extern "C" {
54 #endif
55 
56 #include <m4ri/mzp.h>
57 #include <m4ri/mzd.h>
58 #include <m4ri/brilliantrussian.h>
59 #include <m4ri/strassen.h>
60 #include <m4ri/mp.h>
61 #include <m4ri/graycode.h>
62 #include <m4ri/parity.h>
63 #include <m4ri/triangular.h>
65 #include <m4ri/ple.h>
66 #include <m4ri/ple_russian.h>
67 #include <m4ri/solve.h>
68 #include <m4ri/echelonform.h>
69 #include <m4ri/io.h>
70 #include <m4ri/djb.h>
71 
72 #if defined(__cplusplus) && !defined (_MSC_VER)
73 }
74 #endif
75 
76 #endif // M4RI_M4RI_H
mp.h
multicore matrix operations
brilliantrussian.h
M4RI and M4RM.
parity.h
Compute the parity of 64 words in parallel.
mzp.h
Permutation matrices.
ple_russian.h
PLE and PLUQ factorization using Gray codes.
mzd.h
Dense matrices over GF(2) represented as a bit field.
graycode.h
Gray code implementation.
echelonform.h
Row echelon forms.
solve.h
System solving with matrix routines.
strassen.h
Matrix operations using Strassen's formulas including Winograd's improvements.
ple.h
PLE and PLUQ matrix decomposition routines.
triangular_russian.h
TRSM and TRTRI via Gray code tables.
io.h
Input/output routines for matrices.
djb.h
Dan Bernstein's "Optimizing linear maps mod 2".
triangular.h
Triangular system solving with Matrix routines.