- co2_t *env = self;
- co2_irn_t *ci = get_co2_irn(env, irn);
- int peri = 1;
-
- char buf[128] = "";
-
- if(ci->aff) {
- co2_cloud_irn_t *cci = (void *) ci;
- if (cci->cloud && cci->cloud->mst_root == cci)
- peri = 2;
-
- if(cci->cloud && cci->cloud->mst_root)
- ir_snprintf(buf, sizeof(buf), "%+F", cci->cloud->mst_root->inh.irn);
- }
-
- ir_fprintf(f, "label=\"%+F%s\" style=filled peripheries=%d color=%s shape=%s", irn, buf, peri,
- get_dot_color_name(get_col(env, irn)), get_dot_shape_name(env, ci));
-}
-
-static void ifg_dump_at_end(FILE *file, void *self)
-{
- co2_t *env = self;
- affinity_node_t *a;
-
- co_gs_foreach_aff_node(env->co, a) {
- co2_cloud_irn_t *ai = get_co2_cloud_irn(env, a->irn);
- int idx = get_irn_idx(a->irn);
- neighb_t *n;
-
- if(ai->mst_parent != ai)
- fprintf(file, "\tn%d -- n%d [style=dotted color=blue arrowhead=normal];\n", idx, get_irn_idx(ai->mst_parent->inh.irn));
-
- co_gs_foreach_neighb(a, n) {
- int nidx = get_irn_idx(n->irn);
- co2_cloud_irn_t *ci = get_co2_cloud_irn(env, n->irn);
-
- if(idx < nidx) {
- const char *color = get_col(env, a->irn) == get_col(env, n->irn) ? "black" : "red";
- const char *arr = "arrowhead=dot arrowtail=dot";
-
- if(ci->mst_parent == ai)
- arr = "arrowtail=normal";
- else if(ai->mst_parent == ci)
- arr = "arrowhead=normal";
-
- fprintf(file, "\tn%d -- n%d [label=\"%d\" %s style=dashed color=%s weight=0.01];\n", idx, nidx, n->costs, arr, color);
- }
- }
- }
-}
-
-
-static be_ifg_dump_dot_cb_t ifg_dot_cb = {
- ifg_is_dump_node,
- ifg_dump_graph_attr,
- ifg_dump_node_attr,
- NULL,
- NULL,
- ifg_dump_at_end
-};
-
-
-int co_solve_heuristic_new(copy_opt_t *co)
-{
- char buf[256];