void mult(const SparseMatrix<CoeffType>& A, const CoeffType* x, CoeffType* y) { if(A.rows_are_stored()) { if(A.has_symmetric_storage()) { mult_rows_symmetric(A, x, y) ; } else { mult_rows(A, x, y) ; } } else { if(A.has_symmetric_storage()) { mult_cols_symmetric(A, x, y) ; } else { mult_cols(A, x, y) ; } } }
// general driver routine for // sparse matrix * vector product void mult(const SparseMatrix& A, const double* x, double* y) { if(A.rows_are_stored()) { if(A.has_symmetric_storage()) { mult_rows_symmetric(A, x, y) ; } else { mult_rows(A, x, y) ; } } else { if(A.has_symmetric_storage()) { mult_cols_symmetric(A, x, y) ; } else { mult_cols(A, x, y) ; } } }