M4RIE
20250128
Toggle main menu visibility
Loading...
Searching...
No Matches
echelonform.h
Go to the documentation of this file.
1
8
9
#ifndef M4RIE_ECHELONFORM_H
10
#define M4RIE_ECHELONFORM_H
11
12
/******************************************************************************
13
*
14
* M4RIE: Linear Algebra over GF(2^e)
15
*
16
* Copyright (C) 2010,2011 Martin Albrecht <martinralbrecht@googlemail.com>
17
*
18
* Distributed under the terms of the GNU General Public License (GEL)
19
* version 2 or higher.
20
*
21
* This code is distributed in the hope that it will be useful,
22
* but WITHOUT ANY WARRANTY; without even the implied warranty of
23
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24
* General Public License for more details.
25
*
26
* The full text of the GPL is available at:
27
*
28
* http://www.gnu.org/licenses/
29
******************************************************************************/
30
31
#include <m4rie/mzed.h>
32
#include <m4rie/mzd_slice.h>
33
#include <m4rie/conversion.h>
34
47
48
rci_t
mzd_slice_echelonize_ple
(
mzd_slice_t
*A,
int
full);
49
66
67
static
inline
rci_t
mzed_echelonize_ple
(
mzed_t
*A,
int
full) {
68
mzd_slice_t
*a =
mzed_slice
(NULL, A);
69
rci_t r =
mzd_slice_echelonize_ple
(a, full);
70
mzed_cling
(A, a);
71
mzd_slice_free
(a);
72
return
r;
73
}
74
86
87
#define mzd_slice_echelonize mzd_slice_echelonize_ple
88
100
101
rci_t
mzed_echelonize
(
mzed_t
*A,
int
full);
102
103
#endif
//M4RIE_ECHELONFORM_H
mzed_cling
mzed_t * mzed_cling(mzed_t *A, const mzd_slice_t *Z)
Pack a bitslice matrix into a packed represenation.
Definition
conversion.c:88
mzd_slice_free
static void mzd_slice_free(mzd_slice_t *A)
Free a matrix created with mzd_slice_init().
Definition
mzd_slice.h:145
mzed_slice
mzd_slice_t * mzed_slice(mzd_slice_t *A, const mzed_t *Z)
Unpack the matrix Z into bitslice representation.
Definition
conversion.c:56
mzed_echelonize
rci_t mzed_echelonize(mzed_t *A, int full)
Compute row echelon forms.
Definition
echelonform.c:26
mzd_slice_echelonize_ple
rci_t mzd_slice_echelonize_ple(mzd_slice_t *A, int full)
Compute row echelon forms using PLE decomposition.
Definition
echelonform.c:36
mzed_echelonize_ple
static rci_t mzed_echelonize_ple(mzed_t *A, int full)
Compute row echelon forms using PLE decomposition.
Definition
echelonform.h:67
mzd_slice_t
Dense matrices over represented as slices of matrices over .
Definition
mzd_slice.h:56
mzed_t
Dense matrices over represented as packed matrices.
Definition
mzed.h:59
Generated on
for M4RIE by
1.17.0