Snark tool is simple tool for snarks analysis. Snark is cubic graph with girth at least 5 and cyclic edge connectivity at least 4.
Include snark-tool in your Cargo project by adding as a dependency to your Cargo.toml configuration file.
toml
[dependencies]
...
snark-tool = "0.4.0"
Then simply use needed structs or functions in your code.
```rust use crate::graph::undirected::simplegraph::graph::SimpleGraph; use crate::service::io::readerg6::G6Reader;
pub fn readgraph(graphg6: &String) { let graph: SimpleGraph = G6Reader::readgraph(graphg6).unwrap(); } ```
For more examples see examples folder.
At first install cargo. Then install snark-tool.
cargo install snark-tool
To run snark-tool at first we have to define configuration file in YAML format. Here we can specify what we want to do.
```yaml version: 0.1
procedures: - proc-type: read config: file: input-file.g6 graph-format: g6
# means regular 3-edge coloring - proc-type: colour config: colouriser-type: dfs
proc-type: write config: file: output.json graph-format: s6 # if set to true, file format will be json for g6/s6 graph format with-properties: true # default true
proc-type: count ``` Basic usage is that snark-tool takes input file, read graphs from specified format. Then applies/perform specified procedures (in this case edge colouring) over graphs and at the end writes graphs to output file.
When we have specified configuration file with name snark-tool.yml we can start snark-tool using terminal command:
snark-tool run snark-tool.yml
For full description of available procedures and its configuration see procedures.md.
Licensed under either of
at your option.
Package and all its parts are WIP. Package's API can change rapidly from version to version.