#include "SparseMat.h" float MultiplySparseRows(struct row_sp * row1, struct row_sp * row2) { int i1, i2, j1, j2; float z1, z2, product; /* Move Entries */ product = 0.0; for(i1=0; i1<(*row1).p; i1++) { z1 = (*row1).vals[i1]; j1 = (*row1).cols[i1]; for(i2=0; i2<(*row2).p; i2++) { if(j1==(*row2).cols[i2]) { z2=(*row2).vals[i2]; product+=z1*z2; } } } /* Returning Matrix Structure */ printf("product = %f \n", product); return product; }