seqgen

Sequence generation library

Install:

From the commend line in your project directory run the following

console $ cargo add seqgen

Or add this under [[dependencies]] in Cargo.toml

toml seqgen = "0.1.0"

Examples:

Fibonacci

```rust use seqgen::SequenceGenerator;

fn main() { let initialelements = vec![0, 1]; let transfunc = |currentelements: Vec<&u128>| -> u128 { currentelements[currentelements.len() - 1] + currentelements[current_elements.len() - 2] };

let generator = SequenceGenerator::new(initial_elements, trans_func);
let seq = generator.generate(187);

seq.into_iter().for_each(|element| println!("{element}"));

}

```

An x-y sequence

```rust use seqgen::SequenceGenerator;

fn main() { let initialelements = vec![String::from("x"), String::from("y")]; let transfunc = |currentelements: Vec<&String>| -> String { let mut string = String::from(currentelements[currentelements.len() - 2]); string.pushstr(currentelements[currentelements.len() - 1]); string };

let generator = SequenceGenerator::new(initial_elements, trans_func);
let seq = generator.generate(10);

seq.into_iter().for_each(|element| println!("{element}"));

}

```

Sequence from an iterator

```rust use seqgen::{Sequence, SequenceGenerator};

fn main() { let undefinedseq = Sequence::fromiter(vec![1, 2, 3]); let initialelements = vec![0]; let transfunc = |current: Vec<&u128>| current[current.len() - 1] + 1; let generator = SequenceGenerator::new(initialelements, transfunc); let mut definedseq = undefinedseq.define(&generator);

defined_seq.extend(7);
defined_seq.into_iter().for_each(|element| println!("{element}"));

}

```