No description
Find a file
Alexander Meißner 09948e3c3e Adds Scale trait.
2022-11-26 15:57:24 +01:00
.github/workflows Renames IdealLine to IdealPoint for consistency across dimensions. 2022-10-16 12:12:56 +02:00
codegen Adds Scale trait. 2022-11-26 15:57:24 +01:00
src Adds Scale trait. 2022-11-26 15:57:24 +01:00
.gitignore Implements code generator for Rust and GLSL. 2021-03-27 15:09:46 +01:00
Cargo.toml Bump version [skip ci] 2022-10-16 23:29:54 +02:00
LICENSE Initial commit 2021-03-14 19:50:36 +01:00
README.md Adds section about supported SIMD ISAs to README. 2021-06-18 21:03:37 +02:00

actions Docs crates.io

About

This repository allows you to describe geometric algebras with 1 to 16 generator elements and generate SIMD-ready, dependency-less libraries for them. It also comes with a set of prebuilt projective geometric algebras in 1D, 2D and 3D which are elliptic, parabolic (euclidian) or hyperbolic.

Architecture

  • DSL Parser: See examples
  • Algebra: Generates the multiplication tables
  • Compiler: Constructs an AST from the multiplication tables
  • Optimizer: Simplifies the AST
  • Legalizer: Inserts missing expressions in the AST
  • Emitter: Serializes the AST to source code

Supported SIMD ISAs

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