From 20b56788bc61de5b3d10c90a9fd588d373134aae Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Tue, 13 Nov 2018 21:39:45 +0000 Subject: Adopt C99 bool in the edsf API. Now the flag passed to edsf_merge to say whether two items are the same or opposite is a bool, and so is the flag returned via a pointer argument from edsf_canonify. The latter requires client code to be updated to match (otherwise you'll get a pointer type error), so I've done that update in Loopy, which is edsf's only current in-tree client. --- puzzles.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'puzzles.h') diff --git a/puzzles.h b/puzzles.h index 379be15..d6d9e51 100644 --- a/puzzles.h +++ b/puzzles.h @@ -435,16 +435,16 @@ void print_dsf(int *dsf, int size); /* Return the canonical element of the equivalence class containing element * val. If 'inverse' is non-NULL, this function will put into it a flag * indicating whether the canonical element is inverse to val. */ -int edsf_canonify(int *dsf, int val, int *inverse); +int edsf_canonify(int *dsf, int val, bool *inverse); int dsf_canonify(int *dsf, int val); int dsf_size(int *dsf, int val); /* Allow the caller to specify that two elements should be in the same - * equivalence class. If 'inverse' is TRUE, the elements are actually opposite + * equivalence class. If 'inverse' is true, the elements are actually opposite * to one another in some sense. This function will fail an assertion if the * caller gives it self-contradictory data, ie if two elements are claimed to * be both opposite and non-opposite. */ -void edsf_merge(int *dsf, int v1, int v2, int inverse); +void edsf_merge(int *dsf, int v1, int v2, bool inverse); void dsf_merge(int *dsf, int v1, int v2); void dsf_init(int *dsf, int len); -- cgit v1.1