int loadMatrix(Matrix& a, String& fileName) { a.Zero(); IFILE ifile(fileName.c_str(), "r"); String line; StringArray array; int lineNo = 0; while (!ifeof(ifile)) { line.ReadLine(ifile); lineNo++; if (line.Length() == 0) continue; array.Clear(); array.AddTokens(line); if (a.cols != 0 && a.cols != array.Length() && line.Length() > 0) { fprintf(stderr, "Wrong column size at line %d!\n", lineNo); array.Print(); line.Write(stdout); return -1; } else { a.GrowTo(a.rows, array.Length()); } if (a.rows < lineNo) { a.GrowTo(a.rows + 1, a.cols); } for (int i = 0; i < array.Length(); i++) { a[lineNo - 1][i] = atol(array[i]); } } // a.Print(stdout); return 0; };
int loadVector(Vector& a, String& fileName) { a.Zero(); IFILE ifile(fileName.c_str(), "r"); String line; StringArray array; int lineNo = 0; while (!ifeof(ifile)) { line.ReadLine(ifile); lineNo++; if (line.Length() == 0) continue; array.Clear(); array.AddTokens(line); if (array.Length() > 1 && line.Length() > 0) { fprintf(stderr, "Warning: column size at line %d!\n", lineNo); array.Print(); line.Write(stdout); return -1; } if (a.dim < lineNo) { a.GrowTo(a.dim + 1); } a[lineNo - 1] = atol(array[0]); } // a.Print(stdout); return 0; };