67 bool size_read =
true;
69 int commodities_read = 0;;
75 s.getline(line, 1000);
76 if (s.gcount() >= 999) {
77 printf(
"Input file is incorrect. A line more than 1000 characters is found.\n");
82 if (sscanf(line,
"p%s%i%i%i",
84 printf(
"Input file is incorrect. (p line)\n");
95 if (sscanf(line,
"d%i%i%i",
96 &commodities[commodities_read].source,
97 &commodities[commodities_read].sink,
98 &commodities[commodities_read].demand) != 3) {
99 printf(
"Input file is incorrect. (d line)\n");
105 if (sscanf(line,
"a%i%i%i%i%lf",
106 &
arcs[arcs_read].tail,
107 &
arcs[arcs_read].head,
110 &
arcs[arcs_read].weight) != 5) {
111 printf(
"Input file is incorrect. (a line)\n");
114 sumweight += fabs(
arcs[arcs_read].weight);
118 if (sscanf(line+1,
"%s", name) <= 0) {
119 printf(
"Input file is incorrect. (non-recognizable line)\n");
127 printf(
"Input file is incorrect. size_read=%i arcs_read=%i commodities_read=%i\n",
128 size_read, arcs_read, commodities_read);
171 for (
int j = 0;
j <
s; ++
j) {
188 for (
int j = 0;
j <
s; ++
j) {
BCP_buffer & pack(const T &value)
Pack a single object of type T.
void unpack(BCP_buffer &buf)
BCP_buffer & unpack(T &value)
Unpack a single object of type T.
void fint fint fint fint fint fint fint fint fint fint real real real real real real real real * s
void pack(BCP_buffer &buf) const
int readDimacsFormat(std::istream &s, bool addDummyArcs)
std::vector< MCF3_branch_decision > * branch_history
void pack(BCP_buffer &buf) const
This class describes the message buffer used for all processes of BCP.
void unpack(BCP_buffer &buf)
void unpack(BCP_buffer &buf)
void pack(BCP_buffer &buf) const