3 个版本

0.1.2 2021 年 5 月 7 日
0.1.1 2021 年 5 月 7 日
0.1.0 2021 年 5 月 7 日

#2157Rust 模式

MIT 许可证

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 实例 的镜像。

无运行时依赖