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);
srctyp_t
Specify source type of addition.
Definition: djb.h:26
rci_t * target
Definition: djb.h:38
DJB's optimized linear maps mod 2.
Definition: djb.h:35
Dense matrices over GF(2).
Definition: mzd.h:86
rci_t nrows
Definition: djb.h:36
int rci_t
Type of row and column indexes.
Definition: misc.h:72
wi_t allocated
Definition: djb.h:42
void m4ri_die(const char *errormessage,...)
Print error message and abort().
Definition: misc.c:36
rci_t ncols
Definition: djb.h:37
static void djb_info(djb_t *z)
Definition: djb.h:140
#define M4RI_DJB_BASE_SIZE
Definition: djb.h:49
static void djb_free(djb_t *m)
Definition: djb.h:83
djb_t * djb_compile(mzd_t *A)
Definition: djb.c:112
static void djb_push_back(djb_t *z, rci_t target, rci_t source, srctyp_t srctyp)
Definition: djb.h:99
rci_t * source
Definition: djb.h:39
srctyp_t * srctyp
Definition: djb.h:40
int wi_t
Type of word indexes.
Definition: misc.h:80
rci_t length
Definition: djb.h:41
void djb_apply_mzd(djb_t *z, mzd_t *W, const mzd_t *V)
W = m*V.
Definition: djb.c:145
static djb_t * djb_init(rci_t nrows, rci_t ncols)
Definition: djb.h:58