M4RI  20140914
Todo List
Global _mzd_addmul_even (mzd_t *C, mzd_t const *A, mzd_t const *B, int cutoff)
make sure not to overwrite crap after ncols and before width * m4ri_radix
Global _mzd_mul_even (mzd_t *C, mzd_t const *A, mzd_t const *B, int cutoff)
ideally we would use the same Wmk throughout the function but some called function doesn't like that and we end up with a wrong result if we use virtual Wmk matrices. Ideally, this should be fixed not worked around. The check whether the bug has been fixed, use only one Wmk and check if mzd_mul(4096, 3528, 4096, 2124) still returns the correct answer.
Global m4ri_coin_flip ()
Allow user to provide her own random() function.
Global m4ri_die (const char *errormessage,...)
Allow user to register callback which is called on m4ri_die().
Global m4ri_mm_calloc (size_t count, size_t size)
Allow user to register calloc function.
Global m4ri_mm_free (void *condemned,...)
Allow user to register free function.
Global m4ri_mm_malloc (size_t size)
Allow user to register malloc function.
Global m4ri_mm_malloc_aligned (size_t size, size_t alignment)
Allow user to register malloc function.
Global m4ri_random_word ()
Allow user to provide her own random() function.
Global mzd_randomize (mzd_t *M)
Allow the user to provide a RNG callback.