Go to the documentation of this file.
49 #define M4RI_DJB_BASE_SIZE 64
100 assert((target < z->nrows) &&
101 ((source < z->ncols) | (srctyp != source_source)) &&
102 ((source < z->nrows) | (srctyp != source_target)));
142 printf(
"%d x %d linear map in %d xors (cost: %.5f)\n", z->
nrows, z->
ncols, z->
length, save);
rci_t * source
Definition: djb.h:39
void m4ri_die(const char *errormessage,...)
Print error message and abort().
Definition: misc.c:36
rci_t length
Definition: djb.h:41
Dense matrices over GF(2) represented as a bit field.
djb_t * djb_compile(mzd_t *A)
Definition: djb.c:114
static void djb_push_back(djb_t *z, rci_t target, rci_t source, srctyp_t srctyp)
Definition: djb.h:99
srctyp_t
Specify source type of addition.
Definition: djb.h:26
int rci_t
Type of row and column indexes.
Definition: misc.h:72
static djb_t * djb_init(rci_t nrows, rci_t ncols)
Definition: djb.h:58
void djb_apply_mzd(djb_t *z, mzd_t *W, const mzd_t *V)
W = m*V.
Definition: djb.c:147
Dense matrices over GF(2).
Definition: mzd.h:86
wi_t allocated
Definition: djb.h:42
DJB's optimized linear maps mod 2.
Definition: djb.h:35
static void djb_free(djb_t *m)
Definition: djb.h:83
int wi_t
Type of word indexes.
Definition: misc.h:80
static void djb_info(const djb_t *z)
Definition: djb.h:140
rci_t ncols
Definition: djb.h:37
rci_t nrows
Definition: djb.h:36
srctyp_t * srctyp
Definition: djb.h:40
#define M4RI_DJB_BASE_SIZE
Definition: djb.h:49
rci_t * target
Definition: djb.h:38