3 个版本
0.1.2 | 2021 年 5 月 7 日 |
---|---|
0.1.1 | 2021 年 5 月 7 日 |
0.1.0 | 2021 年 5 月 7 日 |
#2157 在 Rust 模式
32KB
820 行
Rusty Matrix
Rust 的泛型矩阵实现。
矩阵实现使用特质 Matrix<T>
,默认实现包括
StackMatrix<T, X, Y>
- 一个基于栈的矩阵实现,其中T
是类型,X
是列数,Y
是行数。这种实现的优势在于能够在编译时对其他StackMatrix
进行数学运算检查。HeapMatrix<T>
- 一个基于堆的矩阵实现,其中T
是矩阵的类型。由于基于堆的解决方案的限制,无法在编译时检查数学运算。然而,HeapMatrix
能够在运行时增长和缩小(TODO)。
无论使用哪种实现,两种实现都可以相互使用数学运算符。例如
let stack_mat = StackMatrix::new([1, 2], [3, 4], [5, 6]);
let heap_mat = HeapMatrix::new_owned_2d([1, 2, 3], [4, 5, 6]);
stack_mat * heap_mat // Is equal to:
// Ok(HeapMatrix::new_owned_2d([
// [9, 12, 15],
// [19, 26, 33],
// [29, 40, 51]
// ]))
此软件包需要 Rust 的 nightly 版本 >= 1.53。
GitHub 仓库是我的 自托管的 Gitea 实例 的镜像。