1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//! Generate sine wave signal.
use Signal;
/// Produces a signal that yields a sine wave oscillating at the given hz.
///
/// # Example
///
/// ```rust
/// # #[macro_use]
/// # extern crate approx;
/// # fn main() {
/// // Generates a sine wave signal at 1 hz to be sampled 4 times per second.
/// use sirena::signal::{self, Signal};
/// let mut signal = signal::sine(4.0, 1.0);
/// assert_eq!(signal.next(), 0.0);
/// assert_eq!(signal.next(), 1.0);
/// signal.next();
/// assert_eq!(signal.next(), -1.0);
/// # }
/// ```
/// A sine wave signal generator.