From 3b42111855b525d07ef0960b36d0114621b247f8 Mon Sep 17 00:00:00 2001 From: David Monniaux Date: Thu, 31 Jan 2019 14:12:59 +0100 Subject: multiplication of matrices in a finite ring --- test/monniaux/xor_and_mat/xor_and.h | 50 +++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 test/monniaux/xor_and_mat/xor_and.h (limited to 'test/monniaux/xor_and_mat/xor_and.h') diff --git a/test/monniaux/xor_and_mat/xor_and.h b/test/monniaux/xor_and_mat/xor_and.h new file mode 100644 index 00000000..956ad800 --- /dev/null +++ b/test/monniaux/xor_and_mat/xor_and.h @@ -0,0 +1,50 @@ +#include +#include + +typedef uint64_t xor_and; + +void xor_and_mat_mul1(unsigned m, unsigned n, unsigned p, + xor_and * restrict c, unsigned stride_c, + const xor_and *a, unsigned stride_a, + const xor_and *b, unsigned stride_b); + +void xor_and_mat_mul2(unsigned m, unsigned n, unsigned p, + xor_and * restrict c, unsigned stride_c, + const xor_and *a, unsigned stride_a, + const xor_and *b, unsigned stride_b); + +void xor_and_mat_mul3(unsigned m, unsigned n, unsigned p, + xor_and * restrict c, unsigned stride_c, + const xor_and *a, unsigned stride_a, + const xor_and *b, unsigned stride_b); + +void xor_and_mat_mul4(unsigned m, unsigned n, unsigned p, + xor_and * restrict c, unsigned stride_c, + const xor_and *a, unsigned stride_a, + const xor_and *b, unsigned stride_b); + +void xor_and_mat_mul5(unsigned m, unsigned n, unsigned p, + xor_and * restrict c, unsigned stride_c, + const xor_and *a, unsigned stride_a, + const xor_and *b, unsigned stride_b); + +void xor_and_mat_mul6(unsigned m, unsigned n, unsigned p, + xor_and * restrict c, unsigned stride_c, + const xor_and *a, unsigned stride_a, + const xor_and *b, unsigned stride_b); + +void xor_and_mat_mul7(unsigned m, unsigned n, unsigned p, + xor_and * restrict c, unsigned stride_c, + const xor_and *a, unsigned stride_a, + const xor_and *b, unsigned stride_b); + +xor_and xor_and_random(void); + +void xor_and_mat_random(unsigned m, + unsigned n, + xor_and *a, unsigned stride_a); + +bool xor_and_mat_equal(unsigned m, + unsigned n, + const xor_and *a, unsigned stride_a, + const xor_and *b, unsigned stride_b); -- cgit