6 * agar - Re-entrant Abstract Graph Algorithms
8 * This modules contains re-entrant versions of the graph algorithms
11 * The versions in the aga module require some node-local storage.
12 * This means that the calling code:
13 * a) Needs to actually allocate memory per node. That may or may
14 * not be natural depending on its internal representation.
15 * b) Multiple algorithms can't run at once (easily), since they all
16 * need to use the aga_node structures.
18 * This module provides versions without those restrictions, by
19 * allocating per-node storage itself for each run, and associating
20 * those with the caller's representation of nodes via a hash table.
22 * License: LGPL (v2.1 or any later version)
23 * Author: David Gibson <david@gibson.dropbear.id.au>
25 int main(int argc, char *argv[])
27 /* Expect exactly one argument */
31 if (strcmp(argv[1], "depends") == 0) {
33 printf("ccan/container_of\n");
34 printf("ccan/hash\n");
35 printf("ccan/htable\n");
40 if (strcmp(argv[1], "testdepends") == 0) {
41 printf("ccan/array_size\n");
42 printf("ccan/container_of\n");
43 printf("ccan/ptrint\n");