[][src]Trait midas_rs::MidasIterator

pub trait MidasIterator<'a>: 'a + Sized + Iterator<Item = (Int, Int, Int)> {
    fn midas(
        self,
        rows: Int,
        buckets: Int,
        m_value: Int
    ) -> Box<dyn Iterator<Item = Float> + 'a> { ... }
fn midas_r(
        self,
        rows: Int,
        buckets: Int,
        m_value: Int,
        factor: Float
    ) -> Box<dyn Iterator<Item = Float> + 'a> { ... } }

Provided methods

fn midas(
    self,
    rows: Int,
    buckets: Int,
    m_value: Int
) -> Box<dyn Iterator<Item = Float> + 'a>

Takes an iterator of (source, dest, time) thruples and returns an iterator of corresponding scores.

For a less ergonomic version, see Midas::iterate.

Panics

Subsequent iterator will panic if ever passed a thruple where the third element (the time) decreases from its predecessor.

fn midas_r(
    self,
    rows: Int,
    buckets: Int,
    m_value: Int,
    factor: Float
) -> Box<dyn Iterator<Item = Float> + 'a>

Takes an iterator of (source, dest, time) thruples and returns an iterator of corresponding scores.

For a less ergonomic version, see MidasR::iterate.

use midas_rs::{default, MidasIterator};

let iter = vec![
    (1, 1, 1),
    (1, 2, 1),
    (1, 1, 3),
    (1, 2, 4),
].into_iter().midas_r(
    default::NUM_ROWS,
    default::NUM_BUCKETS,
    default::M_VALUE,
    default::ALPHA,
);

for value in iter {
    println!("{:.6}", value);
}

Panics

Subsequent iterator will panic if ever passed a thruple where the third element (the time) decreases from its predecessor.

Loading content...

Implementors

impl<'a, T> MidasIterator<'a> for T where
    T: 'a + Iterator<Item = (Int, Int, Int)> + Sized
[src]

Loading content...