aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dsf.c8
-rw-r--r--puzzles.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/dsf.c b/dsf.c
index a81bc3c..91d4b2c 100644
--- a/dsf.c
+++ b/dsf.c
@@ -28,3 +28,11 @@ void dsf_merge(int *dsf, int v1, int v2)
v2 = dsf_canonify(dsf, v2);
dsf[v2] = v1;
}
+
+void dsf_init(int *dsf, int len)
+{
+ int i;
+
+ for (i = 0; i < len; i++)
+ dsf[i] = i;
+}
diff --git a/puzzles.h b/puzzles.h
index d9cb745..4b977a5 100644
--- a/puzzles.h
+++ b/puzzles.h
@@ -280,6 +280,7 @@ void draw_rect_outline(drawing *dr, int x, int y, int w, int h,
*/
int dsf_canonify(int *dsf, int val);
void dsf_merge(int *dsf, int v1, int v2);
+void dsf_init(int *dsf, int len);
/*
* version.c