From 2cc53c2e2fbb84f6ea1de7ead2a80faa2964c59f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Mei=C3=9Fner?= Date: Sun, 4 Apr 2021 16:47:26 +0200 Subject: [PATCH] Update README [skip ci] --- README.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b8d526c..2550fa8 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,15 @@ -# geometric_algebra -Geometric Algebra Generator written in Rust +[![actions](https://github.com/Lichtso/geometric_algebra/actions/workflows/actions.yaml/badge.svg)](https://github.com/Lichtso/geometric_algebra/actions/workflows/actions.yaml) +[![crates.io](https://img.shields.io/crates/v/geometric_algebra.svg)](https://crates.io/crates/geometric_algebra) + +## About +This repository allows you to describe [geometric algebras](https://en.wikipedia.org/wiki/Geometric_algebra) with 1 to 16 generator elements and generate SIMD-ready, dependency-less libraries for them. + +## Architecture +- [DSL](https://en.wikipedia.org/wiki/Domain-specific_language) Parser: See [examples](.github/workflows/actions.yaml) +- 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 + - [Rust](https://www.rust-lang.org/) + - [GLSL](https://www.khronos.org/opengl/wiki/Core_Language_(GLSL))