M4RI  1.0.1
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
Matrix operations using Strassen's formulas including Winograd's improvements.
TRSM and TRTRI via Gray code tables.
System solving with matrix routines.
Input/output routines for matrices.
Permutation matrices.
Triangular system solving with Matrix routines.
Row echelon forms.
Dense matrices over GF(2) represented as a bit field.
PLE and PLUQ factorization using Gray codes.
multicore matrix operations
Compute the parity of 64 words in parallel.
M4RI and M4RM.
PLE and PLUQ matrix decomposition routines.
Gray code implementation.
Dan Bernstein's "Optimizing linear maps mod 2".