pub fn gen_mut<G, F>(gen_mut: G) -> GenMut<G, F>
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]);
}