/* Randomly shuffles an array of items. */
void shuffle(void *array, int nelts, int eltsize, random_state *rs);
+/* Draw a rectangle outline, using the frontend's draw_line. */
+void draw_rect_outline(frontend *fe, int x, int y, int w, int h,
+ int colour);
+
+/*
+ * dsf.c
+ */
+int dsf_canonify(int *dsf, int val);
+void dsf_merge(int *dsf, int v1, int v2);
+
/*
* version.c
*/
* random.c
*/
random_state *random_init(char *seed, int len);
+random_state *random_copy(random_state *tocopy);
unsigned long random_bits(random_state *state, int bits);
unsigned long random_upto(random_state *state, unsigned long limit);
void random_free(random_state *state);