[][src]Macro mkv_chain::markovchain

macro_rules! markovchain {
    ($(#[$outer:meta])* $name:ident, $trans:path, $init:path) => { ... };
}

Generate a markov chain from matrix and vec identifiers.

See generated ones for implemented methods and traits.

Example:

extern crate mkv_chain;
use mkv_chain::{markovchain, linalg::{Vec2, Matrix2}};

markovchain!(MyMarkovChain2, Matrix2, Vec2); // Same as markov_chain::MarkovChain2

fn main() {
    let t_mat = Matrix2::new(
        [[0.2, 0.8],
         [0.6, 0.4]]
    );
    let initial = Vec2::new([0.0, 1.0]);

    let mc = MyMarkovChain2::from(t_mat, initial);
    println!("{:?}", mc.take_to(5));
}