#signal #iterator #dsp #sig

no-std langis

信号是一种可以产生无限数据的结构。API与std::iter::Iterator非常相似,但假设它永远不会结束。

1个不稳定版本

0.1.1 2020年9月18日
0.1.0 2020年9月18日

#1718 in 算法

自定义许可

47KB
1.5K SLoC

信号是一种可以产生无限数据的结构。API与std::iter::Iterator非常相似,但假设它永远不会结束。

示例

use langis;

let my_signal = langis::square( langis::constant(0.25) );

loop {
    assert_eq!(my_signal.next(), 1.0);
    assert_eq!(my_signal.next(), 1.0);
    assert_eq!(my_signal.next(), -1.0);
    assert_eq!(my_signal.next(), -1.0);
}

lib.rs:

信号是一种可以产生无限数据的结构。API与std::iter::Iterator非常相似,但假设它永远不会结束。

示例

use langis::Signal;

let mut my_signal = langis::cycle( "hello".chars() );

for _ in 0..100 {
    assert_eq!(my_signal.next(), 'h');
    assert_eq!(my_signal.next(), 'e');
    assert_eq!(my_signal.next(), 'l');
    assert_eq!(my_signal.next(), 'l');
    assert_eq!(my_signal.next(), 'o');
}

依赖项

~0–365KB