dasp_signal

Function gen_mut

Source
pub fn gen_mut<G, F>(gen_mut: G) -> GenMut<G, F>
where G: FnMut() -> F, F: Frame,
Expand description

A signal that generates frames using the given function which may mutate some state.

The resulting signal is assumed to be infinite and is_exhausted will always return false. To create an exhaustive signal first create an Iterator and then use from_iter.

ยงExample

use dasp_signal::{self as signal, Signal};

fn main() {
    let mut f = [0.0];
    let mut signal = signal::gen_mut(|| {
        let r = f;
        f[0] += 0.1;
        r
    });
    assert_eq!(signal.next(), [0.0]);
    assert_eq!(signal.next(), [0.1]);
    assert_eq!(signal.next(), [0.2]);
}