Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/michaeljklein/hcy2c
A small library for finding/counting cycles in graphs and finding the maximally-cyclic orientation of a graph
https://github.com/michaeljklein/hcy2c
assembly c cycle graph haskell orientation parallel
Last synced: 6 days ago
JSON representation
A small library for finding/counting cycles in graphs and finding the maximally-cyclic orientation of a graph
- Host: GitHub
- URL: https://github.com/michaeljklein/hcy2c
- Owner: michaeljklein
- License: mit
- Created: 2015-11-29T23:20:57.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-12-10T06:08:21.000Z (about 9 years ago)
- Last Synced: 2024-12-12T17:09:17.738Z (2 months ago)
- Topics: assembly, c, cycle, graph, haskell, orientation, parallel
- Language: HTML
- Size: 188 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hcy2C: A library for counting, finding, and maximizing the number of cycles in graphs
[Project Haddock Documentation](http://michaeljklein.github.io/HCy2C/)
The primary goal of this project is to find an orientation of a given graph with the maximum possible number of cycles.
-See [this](https://en.wikipedia.org/wiki/Orientation_(graph_theory)) Wikipedia article for some basicsThe project is implemented in Haskell and C, with the main features tested on OSX (Macbook Pro, Late 2011) and the automatically generated C code tested on the Raspberry Pi 1, Model B (though there have been some tweaks since then, so it might take a little fiddling to get up and running).
See [TODO](https://github.com/michaeljklein/HCy2C/blob/master/TODO) for implemented and planned features.
The program flow goes: graph -> path finding, input graph specific C code -> compiled/optimized -> imported by Haskell -> pre-processed -> desired number of portable, independent, and parallel pieces in C code -> run in parallel or sequentially -> results reaped and consolidated (unimplemented/buggy) -> results output as orientations
Besides batch processing of a list of graphs, most everything needed has been implemented. Look [here](http://michaeljklein.github.io/HCy2C/Main.html) for cursory test documentation.