mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 16:05:44 -07:00
Adopt C99 bool in the findloop API.
This shouldn't be a disruptive change at all: findloop_run and findloop_is_loop_edge now return bool in place of int, but client code should automatically adjust without needing any changes.
This commit is contained in:
@ -37,7 +37,7 @@ void findloop_free_state(struct findloopstate *state)
|
|||||||
sfree(state);
|
sfree(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
int findloop_is_loop_edge(struct findloopstate *pv, int u, int v)
|
bool findloop_is_loop_edge(struct findloopstate *pv, int u, int v)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Since the algorithm is intended for finding bridges, and a
|
* Since the algorithm is intended for finding bridges, and a
|
||||||
@ -56,7 +56,7 @@ int findloop_is_loop_edge(struct findloopstate *pv, int u, int v)
|
|||||||
return !(pv[u].bridge == v || pv[v].bridge == u);
|
return !(pv[u].bridge == v || pv[v].bridge == u);
|
||||||
}
|
}
|
||||||
|
|
||||||
int findloop_run(struct findloopstate *pv, int nvertices,
|
bool findloop_run(struct findloopstate *pv, int nvertices,
|
||||||
neighbour_fn_t neighbour, void *ctx)
|
neighbour_fn_t neighbour, void *ctx)
|
||||||
{
|
{
|
||||||
int u, v, w, root, index;
|
int u, v, w, root, index;
|
||||||
|
10
puzzles.h
10
puzzles.h
@ -580,22 +580,22 @@ void findloop_free_state(struct findloopstate *);
|
|||||||
typedef int (*neighbour_fn_t)(int vertex, void *ctx);
|
typedef int (*neighbour_fn_t)(int vertex, void *ctx);
|
||||||
/*
|
/*
|
||||||
* Actual function to find loops. 'ctx' will be passed unchanged to
|
* Actual function to find loops. 'ctx' will be passed unchanged to
|
||||||
* the 'neighbour' function to query graph edges. Returns FALSE if no
|
* the 'neighbour' function to query graph edges. Returns false if no
|
||||||
* loop was found, or TRUE if one was.
|
* loop was found, or true if one was.
|
||||||
*/
|
*/
|
||||||
int findloop_run(struct findloopstate *state, int nvertices,
|
bool findloop_run(struct findloopstate *state, int nvertices,
|
||||||
neighbour_fn_t neighbour, void *ctx);
|
neighbour_fn_t neighbour, void *ctx);
|
||||||
/*
|
/*
|
||||||
* Query whether an edge is part of a loop, in the output of
|
* Query whether an edge is part of a loop, in the output of
|
||||||
* find_loops.
|
* find_loops.
|
||||||
*
|
*
|
||||||
* Due to the internal storage format, if you pass u,v which are not
|
* Due to the internal storage format, if you pass u,v which are not
|
||||||
* connected at all, the output will be TRUE. (The algorithm actually
|
* connected at all, the output will be true. (The algorithm actually
|
||||||
* stores an exhaustive list of *non*-loop edges, because there are
|
* stores an exhaustive list of *non*-loop edges, because there are
|
||||||
* fewer of those, so really it's querying whether the edge is on that
|
* fewer of those, so really it's querying whether the edge is on that
|
||||||
* list.)
|
* list.)
|
||||||
*/
|
*/
|
||||||
int findloop_is_loop_edge(struct findloopstate *state, int u, int v);
|
bool findloop_is_loop_edge(struct findloopstate *state, int u, int v);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Data structure containing the function calls and data specific
|
* Data structure containing the function calls and data specific
|
||||||
|
Reference in New Issue
Block a user