rstmt_core/compose/impls/
impl_scale_repr.rs

1/*
2    Appellation: impl_scale_repr <module>
3    Created At: 2026.01.20:15:39:15
4    Contrib: @FL03
5*/
6use crate::compose::Scale;
7use crate::freq::Frequency;
8
9macro_rules! impl_scale_const {
10    (@impl $t:ty) => {
11        impl Scale<$t> {
12            pub const A4: Frequency<$t> = Frequency(440 as $t);
13        }
14    };
15
16    ($($t:ty),* $(,)?) => {
17        $(impl_scale_const!(@impl $t);)*
18    };
19}
20
21impl_scale_const! {
22    f32, f64,
23    u16, u32, u64, u128, usize,
24    i16, i32, i64, i128, isize,
25}