autd3_core/defined/freq/
mod.rs

1mod float;
2mod int;
3
4/// \[Hz\]
5pub struct Hz;
6
7/// \[kHz\]
8#[allow(non_camel_case_types)]
9pub struct kHz;
10
11use derive_more::{Add, Debug, Div, Mul, Sub};
12
13/// Frequency
14#[derive(Clone, Copy, PartialEq, PartialOrd, Add, Div, Mul, Sub, Debug)]
15#[debug("{} Hz", freq)]
16pub struct Freq<T: Copy> {
17    pub(crate) freq: T,
18}
19
20impl<T: Copy> Freq<T> {
21    #[inline]
22    /// Returns the frequency in Hz.
23    pub const fn hz(&self) -> T {
24        self.freq
25    }
26}
27
28#[cfg(test)]
29mod tests {
30    use super::*;
31
32    #[test]
33    fn dbg() {
34        assert_eq!(format!("{:?}", 100 * Hz), "100 Hz");
35        assert_eq!(format!("{:?}", 100 * kHz), "100000 Hz");
36    }
37}