#geometry #math #simd-vector #simd #vector

geometric_algebra

生成几何代数的自定义库

7个版本

0.3.0 2023年9月20日
0.2.1 2022年11月26日
0.2.0 2022年10月16日
0.1.3 2021年6月19日
0.1.2 2021年4月24日

#11 in #simd-vector


用于 2 crates

MIT 许可证

3.5MB
54K SLoC

Rust 37K SLoC // 0.0% comments GLSL 16K SLoC // 0.0% comments

actions Docs crates.io

关于

此存储库允许您使用1到16个生成元素来描述几何代数,并为它们生成SIMD-ready、无依赖的库。它还包括一系列预构建的1D、2D和3D射影几何代数,这些代数是椭圆的、抛物线(欧几里得)或双曲的。

架构

  • DSL 解析器:请参阅示例
  • 代数:生成乘法表
  • 编译器:从乘法表构建AST
  • 优化器:简化AST
  • 合法化器:在AST中插入缺失的表达式
  • 发射器:将AST序列化为源代码

支持的SIMD ISAs

  • x86, x86_64: sse2
  • arm, aarch64: neon
  • wasm32: simd128

无运行时依赖