X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/121aae4bb9c6afab9ca957d1c0185ab1b0bd435b..550742c19aa64ef9033f2b796c5ecd7fa135962d:/dsf.c diff --git a/dsf.c b/dsf.c index f4deb1e..207357d 100644 --- a/dsf.c +++ b/dsf.c @@ -60,17 +60,23 @@ done: 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); */