double *read_rhs(const char *filename, int j) { int M, N, nnz, nrhs; readHB_info(filename, &M, &N, &nnz, &nrhs); double *rhs = new double[nnz]; if (j >= 0 && j < nrhs) readHB_rhs_double(filename, rhs, j); else printf("Error: HB rhs #%d in file '%s' not found.\n", j, filename); return rhs; }
VECTOR_double& readHB_rhs(const char *filename, VECTOR_double *b, int j) { int M; int N; int nrhs; int nz; readHB_info(filename, &M, &N, &nz, &nrhs); VECTOR_double T(N); if (j >= 0 && j < nrhs) readHB_rhs_double(filename, &T(0), j); else { printf( "Error: HB file right-hand-size vector #%d in file '%s' not found.\n", j, filename); exit(1); } return ( *b = T) ; }