An open API service indexing awesome lists of open source software.

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)

Awesome Lists containing this project

README

          

# a-tree

[![Erlang](https://github.com/AntoineGagne/erl-a-tree/actions/workflows/erlang.yml/badge.svg)](https://github.com/AntoineGagne/erl-a-tree/actions/workflows/erlang.yml)
[![Hex Pm](http://img.shields.io/hexpm/v/a_tree.svg?style=flat)](https://hex.pm/packages/a_tree)
[![Docs](https://img.shields.io/badge/hex-docs-green.svg?style=flat)](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
```