#graph #partitioning #matrix #mesh #order

sys metis-sys

原始的 FFI 接口到 METIS,一个序列图划分器和填充减少矩阵排序器

6 个版本

0.3.1 2024 年 3 月 10 日
0.3.0 2024 年 3 月 6 日
0.2.1 2023 年 7 月 24 日
0.2.0 2023 年 6 月 12 日
0.1.1 2021 年 7 月 2 日

#1487 in 数学

Download history 107/week @ 2024-03-28 81/week @ 2024-04-04 89/week @ 2024-04-11 280/week @ 2024-04-18 863/week @ 2024-04-25 1542/week @ 2024-05-02 1142/week @ 2024-05-09 1348/week @ 2024-05-16 1584/week @ 2024-05-23 1624/week @ 2024-05-30 1302/week @ 2024-06-06 1306/week @ 2024-06-13 950/week @ 2024-06-20 1122/week @ 2024-06-27 1336/week @ 2024-07-04 1347/week @ 2024-07-11

4,910 每月下载量
4 个 Crates 中使用 (通过 metis)

MIT/Apache

5MB
39K SLoC

C 31K SLoC // 0.2% comments GLSL 7.5K SLoC Rust 443 SLoC // 0.0% comments Perl 36 SLoC // 0.1% comments Shell 28 SLoC // 0.1% comments Batch 8 SLoC

metis-rs

metis-rs 是一个 Rust 库,提供对 libmetis 的语法糖绑定,这是一个用于图和网格划分的库。它专为与 Rust 版本 1.67.0 或更高版本一起使用而设计。

入门

库发布在 crates.io。要使用它,将以下内容添加到您的 Cargo.toml

[dependencies]
metis-rs = "0.2"

可用的版本列表和变更日志可在 CHANGELOG.md 文件中找到。

功能

使用 Vendored 功能

启用 vendored 功能可以让 metis-rs 从源代码构建 METIS 并静态链接到它。如果不启用,metis-rs 将寻找现有的安装并动态链接到它。

使用系统级功能

启用 use-system 功能可以让 metis-rs 使用系统级安装的 METIS。如果不启用,metis-rs 将引用自己的 METIS 版本。

请注意,vendoreduse-system 功能是互斥的。

非标准 METIS 安装指南

如果您启用了 use-system 功能且 METIS 安装在非标准位置,您必须设置以下环境变量

export METISDIR=path/to/your/metis/installation
export CPATH="$METISDIR/include"
export RUSTFLAGS="-L$METISDIR/lib"

$METISDIR 必须指向包含 lib/include/ 目录的目录,分别包含 METIS 的共享库和头文件。

构建文档

要构建文档,尤其是如果 METIS 安装在非标准位置,请设置 RUSTDOCFLAGS 环境变量

export RUSTDOCFLAGS="-L$METISDIR/lib"

然后以下命令将生成并打开文档

cargo doc --no-deps --open

许可协议

metis-rs 同时遵循 MIT 许可协议和 Apache 许可协议(版本 2.0)。有关更多详细信息,请参阅 LICENSE-APACHELICENSE-MIT

无运行时依赖