### 7 releases

0.3.0 | Sep 20, 2023 |
---|---|

0.2.1 | Nov 26, 2022 |

0.2.0 | Oct 16, 2022 |

0.1.3 | Jun 19, 2021 |

0.1.2 | Apr 24, 2021 |

#**1514** in Algorithms

**21** downloads per month

Used in **2** crates

**MIT**license

3.5MB

**54K**
SLoC

## 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