14个版本 (7个重大更新)

0.8.1 2022年1月14日
0.7.0 2021年12月30日

#499数学

每月50次下载

Apache-2.0

330KB
5K SLoC

Rust矢量计算库

Crates.io docs.rs GitHub

测试状态

stable toolchain unit tests beta toolchain unit tests clippy lints rustfmt check

关于

Vectora是一个用于n维矢量计算,具有实数和复数标量类型的库。主库入口点是Vector结构。请参阅入门指南以获取带有示例的详细库API概述。

用户文档

用户文档可在https://docs.rs/vectora找到。

最低Rust版本兼容性策略

此项目通过常量参数化泛型,并依赖于Rust v1.51.0中稳定的常量泛型功能支持

最低支持的rustc版本被认为是v1.51.0。

将Vectora包含到您的项目中

在您的Cargo.toml文件的[dependencies]部分导入库

Cargo.toml

[dependencies]
vectora = "0.8.1"

开发者文档

贡献

L4 Header 问题

GitHub仓库中的问题跟踪器可用。请不要害羞。请报告您发现的任何问题,以便我们能够解决它们。

L4 Header 源贡献

欢迎贡献。将您的更改作为GitHub拉取请求提交。请为新源贡献添加新测试,以覆盖我们当前测试套件未涵盖的部分。

L4 Header 克隆仓库

git clone https://github.com/chrissimpkins/vectora.git

L4 Header 测试

项目使用最新GitHub Actions macOS、Linux(Ubuntu)和Windows环境运行器以及稳定和测试版的rustc工具链进行测试。

单元和文档测试套件

编辑源文件,然后使用以下命令在本地运行单元和文档测试套件:

cargo test
仅单元测试
cargo test --lib
仅文档测试
cargo test --doc
Clippy 检查

以上命令不会执行 Clippy 检查。请使用以下命令使用 Clippy 检查 Rust 源文件

cargo clippy -- -D warnings
模糊测试

该包支持基于 nightly rustc 工具链在支持环境中使用 cargo fuzz + libFuzzer 的模糊测试。

安装 nightly 版本的 rustc 工具链.

然后,使用以下命令安装 cargo-fuzz

cargo +nightly install -f cargo-fuzz

编辑 fuzz/fuzz_vectora.rs 文件中的模糊测试目标源代码,并使用以下命令开始模糊测试

cargo +nightly fuzz run fuzz_vectora

请参阅 Rust Fuzz 书籍中的 使用 cargo-fuzz 进行模糊测试 章节以获取更多文档。

L4 Header 文档贡献

docs.rs 文档是用 Rust 源文件编写的。使用以下命令编辑文本并构建项目的本地文档版本以供审查

cargo doc

文档 index.html 页面可以在以下相对路径中找到:target/doc/vectora/index.html

将您的文档编辑作为 GitHub pull request 提交。

变更

请参阅 CHANGELOG.md

许可协议

Vectora 采用 Apache 许可证,版本 2.0 发布。

依赖关系

~425–770KB
~15K SLoC