void operator=(SubMatrix<MatType> src) { assert(sameSize(src)); long rA = begin_row; long rB = src.begin_row; for (; rA < end_row; ++rA, ++rB) { long cA = begin_column; long cB = src.begin_column; for (; cA < end_column; ++cA, ++cB) matrix.ring().set(matrix.entry(rA, cA), src.matrix.entry(rB, cB)); } }
int main (int argc, char **argv) { printf("%s %s %s \n", argv[0], argv[1], argv[2]); printf("%d\n", argc); if (argc != 3) { printf("Please enter a filename followed by 0 or 1"); } else if (atoi(argv[2]) == 0) { modified(argv[1]); } else if (atoi(argv[2]) == 1) { sameSize(argv[1]); } return 0; }
void addMultipleTo(ElementType& c, SubMatrix<MatType> src) { assert(sameSize(src)); long rA = begin_row; long rB = src.begin_row; for (; rA < end_row; ++rA, ++rB) { long cA = begin_column; long cB = src.begin_column; for (; cA < end_column; ++cA, ++cB) matrix.ring().addMultipleTo( matrix.entry(rA, cA), c, src.matrix.entry(rB, cB)); } }
void operator+=(SubMatrix<MatType> src) { M2_ASSERT(sameSize(src)); long rA = begin_row; long rB = src.begin_row; for ( ; rA < end_row; ++rA, ++rB) { long cA = begin_column; long cB = src.begin_column; for ( ; cA < end_column; ++cA, ++cB) { auto& a = matrix.entry(rA,cA); matrix.ring().add(a, a, src.matrix.entry(rB,cB)); } } }