M4RI  1.0.1
ple.h
Go to the documentation of this file.
1 
10 #ifndef M4RI_PLUQ_H
11 #define M4RI_PLUQ_H
12 
13 /*******************************************************************
14 *
15 * M4RI: Linear Algebra over GF(2)
16 *
17 * Copyright (C) 2008, 2009 Clement Pernet <clement.pernet@gmail.com>
18 *
19 * Distributed under the terms of the GNU General Public License (GPL)
20 * version 2 or higher.
21 *
22 * This code is distributed in the hope that it will be useful,
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
25 * General Public License for more details.
26 *
27 * The full text of the GPL is available at:
28 *
29 * http://www.gnu.org/licenses/
30 *
31 ********************************************************************/
32 
33 #include "mzd.h"
34 #include "mzp.h"
35 
40 #define __M4RI_PLE_CUTOFF MIN(524288, __M4RI_CPU_L2_CACHE >> 3)
41 
72 rci_t mzd_pluq(mzd_t *A, mzp_t *P, mzp_t *Q, const int cutoff);
73 
74 
108 rci_t mzd_ple(mzd_t *A, mzp_t *P, mzp_t *Q, const int cutoff);
109 
126 rci_t _mzd_pluq(mzd_t *A, mzp_t *P, mzp_t *Q, const int cutoff);
127 
144 rci_t _mzd_ple(mzd_t *A, mzp_t *P, mzp_t *Qt, const int cutoff);
145 
161 rci_t _mzd_pluq_naive(mzd_t *A, mzp_t *P, mzp_t *Q);
162 
178 rci_t _mzd_ple_naive(mzd_t *A, mzp_t *P, mzp_t *Qt);
179 
180 #endif // M4RI_PLUQ_H