2个版本
0.1.1 | 2021年12月15日 |
---|---|
0.1.0 | 2021年12月15日 |
#1826 in 数据结构
22KB
244 行
dynamic-matrix
一个用于处理动态大小矩阵的库。
use dynamic_matrix::{dynamic_matrix, DynamicMatrix};
let mut mat = dynamic_matrix![
1, 2;
4, 5;
];
// let mat: DynamicMatrix<isize> = DynamicMatrix::new([[1, 2], [4, 5]]);
assert_eq!(mat.shape(), (2, 2));
mat.push_row(vec![7, 8]).unwrap();
mat.push_col(vec![3, 6, 10]).unwrap();
assert_eq!(mat.shape(), (3, 3));
assert_eq!(mat[(1, 2)], 6);
mat[(2, 2)] = 9;
assert_eq!(mat.as_slice(), &[1, 2, 3, 4, 5, 6, 7, 8, 9]);
目标
这个库的目的是让使用矩阵(内部通过将元素展平到向量中来存储)变得简单。实现将尝试模仿 std::vec::Vec
上的方法,并提供了与矩阵的形状和大小交互的方法。然而,它并不旨在提供在这些矩阵上执行任何数学运算的方法。
目前重点是行主序,但未来可能会支持列主序。
注意
这仅是我的一项爱好项目,因为我的另一个库需要一个更简单的方式来处理矩阵。欢迎任何和所有的建议/贡献。