https://github.com/antoinegagne/erl-a-tree
A NIF for the https://crates.io/crates/a-tree crate (WIP)
https://github.com/antoinegagne/erl-a-tree
boolean-algebra boolean-expression boolean-logic data-structure erlang-nif event-filtering rustler
Last synced: 16 days ago
JSON representation
A NIF for the https://crates.io/crates/a-tree crate (WIP)
- Host: GitHub
- URL: https://github.com/antoinegagne/erl-a-tree
- Owner: AntoineGagne
- License: apache-2.0
- Created: 2024-12-18T20:20:49.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-01-16T22:20:40.000Z (10 months ago)
- Last Synced: 2025-01-16T22:43:04.996Z (10 months ago)
- Topics: boolean-algebra, boolean-expression, boolean-logic, data-structure, erlang-nif, event-filtering, rustler
- Language: Erlang
- Homepage:
- Size: 34.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# a-tree
[](https://github.com/AntoineGagne/erl-a-tree/actions/workflows/erlang.yml)
[](https://hex.pm/packages/a_tree)
[](https://hexdocs.pm/a_tree/)
The A-Tree data structure is used to evaluate a large amount of boolean expressions as fast as possible. To achieve this, the data structure tries to reuse the intermediary nodes of the incoming expressions to minimize the amount of expressions that have to be evaluated.
This is an Erlang NIF for the Rust crate [a-tree](https://github.com/AntoineGagne/a-tree).
## Dependencies
To be able to build this library, the following dependencies are required:
* `rustc`
* `cargo`
* `rebar3`
## Build
```sh
rebar3 compile
```