11 #ifndef M4RI_STRASSEN_H 12 #define M4RI_STRASSEN_H 163 #ifndef __M4RI_STRASSEN_MUL_CUTOFF 164 #define __M4RI_STRASSEN_MUL_CUTOFF MIN(((int)sqrt((double)(4 * __M4RI_CPU_L2_CACHE))), 4096) 167 #endif // M4RI_STRASSEN_H mzd_t * _mzd_addmul_even(mzd_t *C, mzd_t const *A, mzd_t const *B, int cutoff)
Matrix multiplication and in-place addition via the Strassen-Winograd matrix multiplication algorithm...
Definition: strassen.c:783
mzd_t * mzd_addmul(mzd_t *C, mzd_t const *A, mzd_t const *B, int cutoff)
Matrix multiplication and in-place addition via the Strassen-Winograd matrix multiplication algorithm...
Definition: strassen.c:1288
Dense matrices over GF(2).
Definition: mzd.h:89
mzd_t * _mzd_addmul_even_weird(mzd_t *C, mzd_t const *A, mzd_t const *B, int cutoff)
Definition: strassen.c:1167
Dense matrices over GF(2) represented as a bit field.
mzd_t * _mzd_addmul(mzd_t *C, mzd_t const *A, mzd_t const *B, int cutoff)
Matrix multiplication and in-place addition via the Strassen-Winograd matrix multiplication algorithm...
Definition: strassen.c:1069
mzd_t * mzd_mul(mzd_t *C, mzd_t const *A, mzd_t const *B, int cutoff)
Matrix multiplication via the Strassen-Winograd matrix multiplication algorithm, i.e. compute C = AB.
Definition: strassen.c:610
mzd_t * _mzd_mul_even(mzd_t *C, mzd_t const *A, mzd_t const *B, int cutoff)
Matrix multiplication via the Strassen-Winograd matrix multiplication algorithm, i.e. compute C = AB.
Definition: strassen.c:197
mzd_t * _mzd_addmul_weird_weird(mzd_t *C, mzd_t const *A, mzd_t const *B)
Definition: strassen.c:1244
mzd_t * _mzd_addmul_weird_even(mzd_t *C, mzd_t const *A, mzd_t const *B, int cutoff)
Definition: strassen.c:1157