1个不稳定版本
0.1.0 | 2023年8月29日 |
---|
#1406 in 数学
56KB
1K SLoC
一个微型的SIMD向量库 🏹
🚩 仅支持具有AVX2和FMA扩展的x86_64 CPU架构!
可以通过将这些行放入.cargo/config.toml
来启用它们,该文件位于您的项目根目录或cargo的安装目录中
[build]
rustflags = ["-Ctarget-feature=+avx2,+fma"]
亮点
- 创建此库的动机是为小型计算机图形项目提供快速向量。
- 简单实现,没有宏技巧。探索源代码,了解一切是如何完成的!
数据类型
- 双精度
Dvec2
- 2D向量Dvec4
- 4D向量Dmat4
- 4x4矩阵
- 单精度
Fvec2
- 2D向量(此向量不是SIMD)Fvec4
- 4D向量Fmat4
- 4x4矩阵
支持的运算
- 算术运算(
+
、-
、*
和/
)- 逐分量相加、减去、乘以或除以两个向量,或者一个向量与一个标量。
- 相加或减去两个矩阵。
- 相乘两个矩阵。
- 将矩阵与向量相乘。
- 方法
- 对一个向量进行的操作:逐分量取整
- 对两个向量进行的操作:点积、叉积、逐分量最小值和最大值。
- 将单个向量缩减:跨所有分量的最小值和最大值。
- 求SE(3)矩阵的逆,即变换矩阵。
- 转置矩阵。
库功能
- 启用库功能
bytemuck
以将所有向量标记为纯旧数据。
依赖关系
~94–300KB