X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/121aae4bb9c6afab9ca957d1c0185ab1b0bd435b..95c76d7c0c76081ab4f389aa1bb7667ee08c99eb:/dsf.c diff --git a/dsf.c b/dsf.c index f4deb1e..ecb2858 100644 --- a/dsf.c +++ b/dsf.c @@ -9,7 +9,7 @@ #include "puzzles.h" -void print_dsf(int *dsf, int size) +/*void print_dsf(int *dsf, int size) { int *printed_elements = snewn(size, int); int *equal_elements = snewn(size, int); @@ -58,19 +58,25 @@ done: sfree(printed_elements); sfree(equal_elements); sfree(inverse_elements); -} +}*/ -int *snew_dsf(int size) +void dsf_init(int *dsf, int size) { int i; - int *ret; - - ret = snewn(size, int); + for (i = 0; i < size; i++) { /* Bottom bit of each element of this array stores whether that element * is opposite to its parent, which starts off as false */ - ret[i] = i << 1; + dsf[i] = i << 1; } +} + +int *snew_dsf(int size) +{ + int *ret; + + ret = snewn(size, int); + dsf_init(ret, size); /*print_dsf(ret, size); */