return 0;
}
-static int __ses_de_cross(ScfEfunction* f, int d, intptr_t N)
+static int __ses_de_cross(ScfEfunction* f, int d)
{
ScfEcomponent* c;
ScfEline* el;
return -ENOMEM;
}
+ intptr_t N = 2;
intptr_t i;
intptr_t j;
intptr_t k;
if (ret < 0)
return ret;
- if (N <= 0) {
- if (0 < graph->size) {
- v = graph->data[0];
- N = v->edges->size;
- } else
- N = 2;
+ if (0 < graph->size) {
+ v = graph->data[0];
+
+ N = v->edges->size;
}
- for (j = N; j >= 2; j--) {
+ for (j = N; j >= 1; j--) {
for (i = 1; i <= j; i++)
scf_vector_add(colors, (void*)i);
for (i = 0; i < graph->size; i++) {
v = graph->data[i];
- if (v->color < 0 && j > 2) {
+ if (v->color < 0) {
c = v->data;
scf_loge("j: %ld, i: %ld, c%ld->color: %ld\n", j, i, c->id, v->color);
break;
for (i = 0; i < graph->size; i++) {
v = graph->data[i];
- c = v->data;
- if (v->color > 0) {
- c->color = v->color;
- scf_logi("j: %ld, i: %ld, c%ld->color: %ld\n", j, i, c->id, c->color);
- } else {
- c->color = j;
- scf_loge("j: %ld, i: %ld, c%ld->color: %ld\n", j, i, c->id, c->color);
- }
-
+ c = v->data;
+ c->color = v->color;
v->color = 0;
}
- printf("\n");
scf_vector_clear(colors, NULL);
}
qsort(f->elines, f->n_elines, sizeof(ScfEline*), eline_cmp_id);
- ret = __ses_de_cross(f, d, 0);
+ ret = __ses_de_cross(f, d);
if (ret < 0)
return ret;