#include "matrix.h" #include #include int main(int argc, char * argv[]) { if (argc < 2) { fprintf(stderr, "Usage: size\n"); exit(1); } size_t size = strtol(argv[1], NULL, 10); assert(size > 0 && size < sizeof(size_t)*8); size = 1 << size; matrix * rm = matrix_create(size, size); matrix_populate(rm); matrix * zm = matrix_rm_to_zm(rm); matrix * r = matrix_multiply_zm(zm, zm); matrix * tmp = matrix_multiply_verify(rm, rm); matrix * tmp2 = matrix_zm_to_rm(r); assert(matrix_equals(tmp2, tmp)); matrix_destroy(tmp); matrix_destroy(tmp2); matrix_destroy(rm); matrix_destroy(zm); matrix_destroy(r); return 0; }