3 releases
| 0.1.2 | Oct 25, 2022 |
|---|---|
| 0.1.1 | Sep 26, 2022 |
| 0.1.0 | Sep 10, 2022 |
#51 in #mapper
99KB
2K
SLoC
Symoxide provides an Intermediate Representation for Scalar Expressions and abstract visitors (called as mappers) for traversing and transforming these expressions.
primitivescontains the supported expression types.builderscontains routines to build these expressions.- [
mod@parse] contains a parser implementation for these expressions. operationsprovides routines for performing common arithmetic operations on these expressions.mappersprovides abstract visitor for common traversal patters over scalar expressions.mapper_implsusesmappersto provide helpful analysis tools over the expressions.design_docgoes over the key design decisions that were baked into Symoxide's architecture.
SymOxide: Intermediate Representation and Transformations for Computer Algebra Systems
SymOxide has taken many design decisions from Pymbolic and could be called as Rust-rewrite of Pymbolic. Symoxide does indeed lead to faster expression traversals with similar LOCs in the downstream.
Links
- Add a dependency as
cargo add symoxide. - Read the documentation at https://docs.rs/symoxide/.
- Source-code, Issue Management at https://github.com/kaushikcfd/symoxide.
Dependencies
~12–19MB
~409K SLoC