Browse Source Download (without any required ccan dependencies)
agar
Re-entrant Abstract Graph Algorithms
David Gibson <[email protected]>
This modules contains re-entrant versions of the graph algorithms in the aga module.
The versions in the aga module require some node-local storage. This means that the calling code:
a) Needs to actually allocate memory per node. That may or may not be natural depending on its internal representation. b) Multiple algorithms can't run at once (easily), since they all need to use the aga_node structures.
This module provides versions without those restrictions, by allocating per-node storage itself for each run, and associating those with the caller's representation of nodes via a hash table.
LGPL (v2.1 or any later version)