Working on gcc bug
Tests are passing on Appveyor
This commit is contained in:
@@ -121,6 +121,45 @@ void saveauxdata(Project *pr, FILE *f)
|
|||||||
InFile = NULL;
|
InFile = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void write_demands(Project *pr, FILE *f) {
|
||||||
|
|
||||||
|
int i, j;
|
||||||
|
|
||||||
|
Snode *node = NULL;
|
||||||
|
list_node_t *lnode = NULL;
|
||||||
|
char *temp = NULL;
|
||||||
|
|
||||||
|
char s[MAXLINE + 1],
|
||||||
|
s1[MAXLINE + 1];
|
||||||
|
|
||||||
|
double ucf = pr->Ucf[DEMAND];
|
||||||
|
Network *net = &pr->network;
|
||||||
|
|
||||||
|
fprintf(f, "\n\n");
|
||||||
|
fprintf(f, s_DEMANDS);
|
||||||
|
|
||||||
|
for (i = 1; i <= net->Njuncs; i++) {
|
||||||
|
node = &net->Node[i];
|
||||||
|
if (node->D) {
|
||||||
|
for (lnode = first_list(node->D); done_list(lnode); lnode = next_list(lnode)) {
|
||||||
|
sprintf(s, " %-31s %14.6f", node->ID, ucf * get_base_demand(lnode));
|
||||||
|
|
||||||
|
if
|
||||||
|
((j = get_pattern_index(lnode)) > 0) sprintf(s1, " %-31s", net->Pattern[j].ID);
|
||||||
|
else
|
||||||
|
strcpy(s1, " ");
|
||||||
|
|
||||||
|
fprintf(f, "\n%s %-31s", s, s1);
|
||||||
|
|
||||||
|
if (temp = get_category_name(lnode)) {
|
||||||
|
fprintf(f, " ;%s", temp);
|
||||||
|
free(temp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int saveinpfile(Project *pr, const char *fname)
|
int saveinpfile(Project *pr, const char *fname)
|
||||||
/*
|
/*
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
@@ -137,7 +176,7 @@ int saveinpfile(Project *pr, const char *fname)
|
|||||||
Times *time = &pr->times;
|
Times *time = &pr->times;
|
||||||
|
|
||||||
int i, j, n;
|
int i, j, n;
|
||||||
double d, kc, ke, km, ucf;
|
double d, kc, ke, km;
|
||||||
char s[MAXLINE + 1], s1[MAXLINE + 1], s2[MAXLINE + 1];
|
char s[MAXLINE + 1], s1[MAXLINE + 1], s2[MAXLINE + 1];
|
||||||
//Pdemand demand;
|
//Pdemand demand;
|
||||||
Psource source;
|
Psource source;
|
||||||
@@ -327,35 +366,10 @@ int saveinpfile(Project *pr, const char *fname)
|
|||||||
if (link->Comment) fprintf(f, " ;%s", link->Comment);
|
if (link->Comment) fprintf(f, " ;%s", link->Comment);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Write [DEMANDS] section
|
// Write [DEMANDS] section
|
||||||
fprintf(f, "\n\n");
|
write_demands(pr, f);
|
||||||
fprintf(f, s_DEMANDS);
|
|
||||||
ucf = pr->Ucf[DEMAND];
|
|
||||||
|
|
||||||
//list_t *dlist = NULL;
|
|
||||||
list_node_t *lnode = NULL;
|
|
||||||
char *temp = NULL;
|
|
||||||
|
|
||||||
for (i = 1; i <= net->Njuncs; i++) {
|
|
||||||
node = &net->Node[i];
|
|
||||||
if (node->D) {
|
|
||||||
for (lnode = first_list(node->D); done_list(lnode); lnode = next_list(lnode)) {
|
|
||||||
sprintf(s, " %-31s %14.6f", node->ID, ucf * get_base_demand(lnode));
|
|
||||||
|
|
||||||
if
|
|
||||||
((j = get_pattern_index(lnode)) > 0) sprintf(s1, " %-31s", net->Pattern[j].ID);
|
|
||||||
else
|
|
||||||
strcpy(s1, " ");
|
|
||||||
|
|
||||||
fprintf(f, "\n%s %-31s", s, s1);
|
|
||||||
|
|
||||||
if (temp = get_category_name(lnode)) {
|
|
||||||
fprintf(f, " ;%s", temp);
|
|
||||||
free(temp);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Write [EMITTERS] section
|
// Write [EMITTERS] section
|
||||||
fprintf(f, "\n\n");
|
fprintf(f, "\n\n");
|
||||||
|
|||||||
Reference in New Issue
Block a user