1 个不稳定版本
0.4.0 | 2021年10月26日 |
---|
#1736 在 解析器实现
545KB
11K SLoC
snark-tool
Snark tool 是一个用于 snarks 分析的简单工具。Snark 是一个至少有 5 个环和至少 4 个循环边连通性的立方图。
作为库使用
通过在 Cargo.toml 配置文件中将 snark-tool 添加为依赖项,将 snark-tool 包含在您的 Cargo 项目中。
[dependencies]
...
snark-tool = "0.4.0"
然后在您的代码中简单地使用所需的结构或函数。
use crate::graph::undirected::simple_graph::graph::SimpleGraph;
use crate::service::io::reader_g6::G6Reader;
pub fn read_graph(graph_g6: &String) {
let graph: SimpleGraph = G6Reader::read_graph(graph_g6).unwrap();
}
有关更多示例,请参阅 示例 文件夹。
作为二进制文件使用
首先 安装 cargo。然后安装 snark-tool。
cargo install snark-tool
首先,我们需要使用 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
基本用法是 snark-tool 读取输入文件,从指定的格式中读取图。然后对图应用/执行指定的程序(在这种情况下为边着色),最后将图写入输出文件。
当指定了名为 snark-tool.yml 的配置文件后,我们可以使用终端命令启动 snark-tool。
snark-tool run snark-tool.yml
有关可用程序及其配置的完整说明,请参阅 procedures.md。
许可证
根据您的选择,许可权属于以下之一
- Apache 许可证 2.0(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
请注意
软件包及其所有部分均为 WIP。软件包的 API 可能会快速从版本到版本进行更改。
依赖关系
~12MB
~205K SLoC