M4RIE  0.20111004
 All Data Structures Files Functions Variables Typedefs 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) {
69 }
70 
81 void _mzd_slice_trsm_upper_left(const mzd_slice_t *U, mzd_slice_t *B, const rci_t cutoff);
82 
93 
103 static inline void mzd_slice_trsm_upper_left(const mzd_slice_t *U, mzd_slice_t *B) {
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) {
141 }
142 
153 void _mzd_slice_trsm_lower_left(const mzd_slice_t *L, mzd_slice_t *B, const rci_t cutoff);
154 
165 
175 static inline void mzd_slice_trsm_lower_left(const mzd_slice_t *L, mzd_slice_t *B) {
177 }
178 
179 
180 
181 
182 #endif //TRSM_H
void _mzed_trsm_lower_left(const mzed_t *L, mzed_t *B, const rci_t cutoff)
static void mzed_trsm_lower_left(const mzed_t *L, mzed_t *B)
Definition: trsm.h:139
void _mzed_trsm_upper_left(const mzed_t *U, mzed_t *B, const rci_t cutoff)
static void mzed_trsm_upper_left(const mzed_t *U, mzed_t *B)
Definition: trsm.h:67
Dense matrices over represented as packed matrices.
Definition: mzed.h:59
static void mzd_slice_trsm_lower_left(const mzd_slice_t *L, mzd_slice_t *B)
Definition: trsm.h:175
#define MZED_TRSM_CUTOFF
Definition: trsm.h:33
void mzd_slice_trsm_lower_left_naive(const mzd_slice_t *L, mzd_slice_t *B)
Definition: trsm.c:47
void mzd_slice_trsm_upper_left_naive(const mzd_slice_t *U, mzd_slice_t *B)
Definition: trsm.c:33
void _mzd_slice_trsm_lower_left(const mzd_slice_t *L, mzd_slice_t *B, const rci_t cutoff)
void mzed_trsm_lower_left_naive(const mzed_t *L, mzed_t *B)
Definition: trsm.c:19
Dense matrices over represented as slices of matrices over .
Definition: mzd_slice.h:56
void _mzd_slice_trsm_upper_left(const mzd_slice_t *U, mzd_slice_t *B, const rci_t cutoff)
static void mzd_slice_trsm_upper_left(const mzd_slice_t *U, mzd_slice_t *B)
Definition: trsm.h:103
void mzed_trsm_upper_left_naive(const mzed_t *U, mzed_t *B)
Definition: trsm.c:5