3 个版本
0.1.2 | 2023年3月9日 |
---|---|
0.1.1 | 2023年3月9日 |
0.1.0 | 2023年3月9日 |
#18 在 #2d-array
11KB
161 代码行
point-index
一个用于处理二维数组或向量的点库。
它具有所有四个基本方向的点加法以及标量乘法。
示例
这里有一些数组访问的示例
use point_index::*;
let mut vec = vec![vec![0, 1, 2], vec![3, 4, 5], vec![6, 7, 8]];
let mut point1 = Point { x: 1, y: 1 };
assert_eq!(vec[point1], 4);
// Up is the same as Point {x: 0, y: -1}
let point2 = point1 + UP;
assert_eq!(vec[point2], 1);
// Down is the same as Point {x: 0, y: 1}
let point3 = point2 + DOWN * 2;
assert_eq!(vec[point3], 7);
// Up left is the same as Point {x: -1, y: -1}
let point4 = point1 + UP_LEFT;
assert_eq!(vec[point4], 0)
这里有一些数组修改的示例
use point_index::*;
let mut arr = [[0; 10]; 10];
// down right is the same as Point {x: 1, y: 1}
for x in 0 .. 10{
arr[DOWN_RIGHT * x] = x
}
assert_eq!(
arr,
[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 2, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 3, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 4, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 5, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 6, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 7, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 8, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 9]]
)
许可证:MIT OR Apache-2.0