nodify
Table of contents
Description
This small crate aims to provide a easy way to apply computations on problem using graph to be resolved.
For the time being, only ContainsAny process is supported allowing to find any node verifying a given predicate. This process is implemented using DFS with a sequential variant and a parallel one.
With this crate, you just need to implement the Node trait with the outgoing() method to be able to apply process.
All processes and process implementations are stored under nodify::process::*
Example
//! Nodify the Fibonnacci sequence
use *;
use once;
/// A node representing the current state of the sequence
///
/// This trait need to be [`Eq`] and [`Hash`] due to the [`DFS`] process implementation used. It
/// needs also to be [`Copy`] in order to be used without reference.
You can consult this example at examples/fibonacci.rs.
Building
First, you need to have a Rust toolchain installed. You can follow the instructions at this page. If you are a GNU/Linux user, it should be included in the official repositories of your favorite distribution. This project is based on the Cargo package manager.
Features
rayon: to support algorithms using Rayon.
Using as a dependency
Building from source
Dependencies
- The Rust toolchain (build)
- Git (build)
Building process
-
Clone this repository.
-
Build the crate.
Licenses
As explained above, the code of this software is licensed under GPL-3 or any later version.
Details of the rights applying to the various third-party files are described in the copyright file in the Debian debian/copyright file format.