rstmt_core/freq/traits/
raw_frequency.rs

1/*
2    Appellation: raw_frequency <module>
3    Created At: 2026.01.20:08:32:55
4    Contrib: @FL03
5*/
6
7/// [`RawFrequency`] is a marker trait denoting objects capable of representing a frequency
8pub trait RawFrequency {
9    private! {}
10}
11
12/*
13 ************* Implementations *************
14*/
15macro_rules! raw_frequency {
16    (@impl $T:ty) => {
17        impl RawFrequency for $T {
18            seal! {}
19        }
20    };
21    {$($T:ty),* $(,)?} => {
22        $(raw_frequency!(@impl $T);)*
23    };
24}
25
26raw_frequency! {
27    f32, f64,
28    i8, i16, i32, i64, i128, isize,
29    u8, u16, u32, u64, u128, usize
30}
31
32#[cfg(feature = "complex")]
33impl<T> RawFrequency for num_complex::Complex<T>
34where
35    T: RawFrequency,
36{
37    seal! {}
38}