static void check_matrix_vector_multiplication______sent_n_m_matrix_array_size_vector_array_____returned(void **state){ const int test_arr[2][2] = {{1, 2}, {4, 5}}; const int test_arr1[2] = {1, 2}; matrix_t * mt =matrix_new_test(2, 2,test_arr); vector_t * vc = vector_new_test(2,test_arr1); matrix_vector_multiplication(mt,vc); assert_int_equal(matrix_return_element(mt,0,0),1); assert_int_equal(matrix_return_element(mt,0,1),4); assert_int_equal(matrix_return_element(mt,1,0),4); assert_int_equal(matrix_return_element(mt,1,1),10); //assert_int_equal(matrix_vector_multiplication(mt,vc),1); matrix_free(mt); }
void bfs_2d(char matrix[][NODES], char *level, char *parents){ level[0] = 1; parents[0] = 1; char result[] = {0,0,0,0,0,0,0}; while (isNotZero(level)){ matrix_vector_multiplication(matrix, level, result); negate(parents); vector_multiplication_elementwise(result, parents); negate(parents); vector_addition_elementwise(parents, result); memcpy((void*)level, (void*)result, NODES); int i; for (i = 0; i < NODES; i++){ printf("%i,", level[i]); } printf("\n"); for (i = 0; i < NODES; i++){ printf("%i,", parents[i]); } printf("\n\n"); } }
int main() { matrix_vector_multiplication(); return 0; }