M4RIE
0.20120613
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Files
Functions
Variables
Macros
Groups
Pages
trsm.h
Go to the documentation of this file.
1
8
#ifndef TRSM_H
9
#define TRSM_H
10
11
/******************************************************************************
12
*
13
* M4RIE: Linear Algebra over GF(2^e)
14
*
15
* Copyright (C) 2011 Martin Albrecht <martinralbrecht@googlemail.com>
16
*
17
* Distributed under the terms of the GNU General Public License (GEL)
18
* version 2 or higher.
19
*
20
* This code is distributed in the hope that it will be useful,
21
* but WITHOUT ANY WARRANTY; without even the implied warranty of
22
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23
* General Public License for more details.
24
*
25
* The full text of the GPL is available at:
26
*
27
* http://www.gnu.org/licenses/
28
******************************************************************************/
29
30
#include <m4rie/mzed.h>
31
#include <m4rie/mzd_slice.h>
32
33
#define MZED_TRSM_CUTOFF 512
45
void _mzed_trsm_upper_left(const mzed_t *U, mzed_t *B, const rci_t cutoff);
46
56
void
mzed_trsm_upper_left_naive
(
const
mzed_t
*U,
mzed_t
*B);
57
67
static
inline
void
mzed_trsm_upper_left
(
const
mzed_t
*U,
mzed_t
*B) {
68
_mzed_trsm_upper_left
(U, B,
MZED_TRSM_CUTOFF
);
69
}
70
81
void
_mzd_slice_trsm_upper_left
(
const
mzd_slice_t
*U,
mzd_slice_t
*B,
const
rci_t cutoff);
82
92
void
mzd_slice_trsm_upper_left_naive
(
const
mzd_slice_t
*U,
mzd_slice_t
*B);
93
103
static
inline
void
mzd_slice_trsm_upper_left
(
const
mzd_slice_t
*U,
mzd_slice_t
*B) {
104
_mzd_slice_trsm_upper_left
(U, B,
MZED_TRSM_CUTOFF
);
105
}
106
117
void
_mzed_trsm_lower_left
(
const
mzed_t
*L,
mzed_t
*B,
const
rci_t cutoff);
118
128
void
mzed_trsm_lower_left_naive
(
const
mzed_t
*L,
mzed_t
*B);
129
139
static
inline
void
mzed_trsm_lower_left
(
const
mzed_t
*L,
mzed_t
*B) {
140
_mzed_trsm_lower_left
(L, B,
MZED_TRSM_CUTOFF
);
141
}
142
153
void
_mzd_slice_trsm_lower_left
(
const
mzd_slice_t
*L,
mzd_slice_t
*B,
const
rci_t cutoff);
154
164
void
mzd_slice_trsm_lower_left_naive
(
const
mzd_slice_t
*L,
mzd_slice_t
*B);
165
175
static
inline
void
mzd_slice_trsm_lower_left
(
const
mzd_slice_t
*L,
mzd_slice_t
*B) {
176
_mzd_slice_trsm_lower_left
(L, B,
MZED_TRSM_CUTOFF
);
177
}
178
179
180
181
182
#endif //TRSM_H
Generated on Mon Feb 11 2013 17:23:10 for M4RIE by
1.8.3