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}