/* Compile with: export CFLAGS="-g -Wall -std=gnu11 -O3" #the usual. make times_table */ #include //NAN #include #define make_a_list(...) (double[]){__VA_ARGS__, NAN} #define matrix_cross(list1, list2) matrix_cross_base(make_a_list list1, make_a_list list2) void matrix_cross_base(double *list1, double *list2){ int count1 = 0, count2 = 0; while (!isnan(list1[count1])) count1++; while (!isnan(list2[count2])) count2++; for (int i=0; i